[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 5 May 2011 14:11:51 -0600
From: Andreas Dilger <adilger@...ger.ca>
To: Matthew Wilcox <matthew@....cx>
Cc: "Gao, Yunpeng" <yunpeng.gao@...el.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
"linux-btrfs@...r.kernel.org" <linux-btrfs@...r.kernel.org>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>
Subject: Re: Is it possible for the ext4/btrfs file system to pass some context related info to low level block driver?
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists