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