From: Chris Mason Date: Thu, 24 Sep 2009 00:23:16 +0000 (-0400) Subject: Btrfs: Fix test_range_bit for whole file extents X-Git-Tag: v2.6.32-rc1~57^2^2~5 X-Git-Url: http://bbs.cooldavid.org/git/?a=commitdiff_plain;h=46562cec98368623bcd18d7fd30f20c04afd5978;p=net-next-2.6.git Btrfs: Fix test_range_bit for whole file extents If test_range_bit finds an extent that goes all the way to (u64)-1, it can incorrectly wrap the u64 instead of treaing it like the end of the address space. This just adds a check for the highest possible offset so we don't wrap. Signed-off-by: Chris Mason --- diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index b9506548853..dcce98d0ec4 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -1564,6 +1564,10 @@ int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end, bitset = 0; break; } + + if (state->end == (u64)-1) + break; + start = state->end + 1; if (start > end) break;