Wang Sheng-Hui
2012-Oct-08 13:26 UTC
[PATCH] Btrfs: remove repeated eb->pages check in, disk-io.c/csum_dirty_buffer
In csum_dirty_buffer, we first get eb from page->private. Then we check if the page is the first page of eb. Later we check it again. Remove the repeated check here. Signed-off-by: Wang Sheng-Hui <shhuiw@gmail.com> --- fs/btrfs/disk-io.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 22e98e0..8919c56 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -432,14 +432,12 @@ static int csum_dirty_buffer(struct btrfs_root *root, struct page *page) tree = &BTRFS_I(page->mapping->host)->io_tree; eb = (struct extent_buffer *)page->private; - if (page != eb->pages[0]) - return 0; - found_start = btrfs_header_bytenr(eb); - if (found_start != start) { + if (page != eb->pages[0]) { WARN_ON(1); return 0; } - if (eb->pages[0] != page) { + found_start = btrfs_header_bytenr(eb); + if (found_start != start) { WARN_ON(1); return 0; } -- 1.7.5.4
Chris Mason
2012-Oct-09 13:39 UTC
Re: [PATCH] Btrfs: remove repeated eb->pages check in, disk-io.c/csum_dirty_buffer
On Mon, Oct 08, 2012 at 07:26:15AM -0600, Wang Sheng-Hui wrote:> In csum_dirty_buffer, we first get eb from page->private. > Then we check if the page is the first page of eb. Later > we check it again. Remove the repeated check here.You had the right idea here, two checks and one has a warning, so you kept the warning. But when the metadata block size is bigger than a page, the WARN_ON triggers for any page that isn''t the first one in the extent buffer. I kept this commit but removed the WARN_ON(1) -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html