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-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html