On May 5, 2011, at 12:10, Matthew Wilcox wrote:
> On Wed, May 04, 2011 at 08:51:39AM -0600, Andreas Dilger wrote:
>> I was aware of REQ_META, but I didn't know there was any benefit to
>> using it. I think it would be easy to set REQ_META on all ext4 metadata
>> if there was a reason to do so.
> 
> The CFQ ioscheduler pays attention to it (prioritising metadata accesses
> over data accesses), and blocktrace will print an 'M' for metadata
> requests if it's set, so I think that's two excellent reasons to set
> REQ_META today.
> 
> However, ext3, ext4, and XFS already use it:
> 
> fs/ext4/inode.c:1500:   ll_rw_block(READ_META, 1, &bh);
  - ext4_bread()

> fs/ext4/inode.c:4775:           submit_bh(READ_META, bh);
  - __ext4_get_inode_loc()
> fs/ext4/namei.c:924:                    ll_rw_block(READ_META, 1, &bh);
  - ext4_find_entry()

Looking more closely at the code it seems that this is handling only a subset 
of the code.  There are many places in ext4 that are using sb_bread() instead 
of ext4_bread(), in particular in the extents and migration code that was 
developed more recently, but also in the xattr code which has been around a 
long time.

Cheers, Andreas





--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to