btrfs: Replace BUG_ON with ASSERT in find_lock_delalloc_range
lock_delalloc_pages should only return 2 values - 0 in case of success and -EAGAIN if the range of pages to be locked should be shrunk due to some of gone. Manual inspections confirms that this is indeed the case since __process_pages_contig is where lock_delalloc_pages gets its return value. The latter always returns 0 or -EAGAIN so the invariant holds. No functional changes. Reviewed-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
917aacecc5
commit
9bfd61d975
|
@ -1599,6 +1599,7 @@ again:
|
||||||
/* step two, lock all the pages after the page that has start */
|
/* step two, lock all the pages after the page that has start */
|
||||||
ret = lock_delalloc_pages(inode, locked_page,
|
ret = lock_delalloc_pages(inode, locked_page,
|
||||||
delalloc_start, delalloc_end);
|
delalloc_start, delalloc_end);
|
||||||
|
ASSERT(!ret || ret == -EAGAIN);
|
||||||
if (ret == -EAGAIN) {
|
if (ret == -EAGAIN) {
|
||||||
/* some of the pages are gone, lets avoid looping by
|
/* some of the pages are gone, lets avoid looping by
|
||||||
* shortening the size of the delalloc range we're searching
|
* shortening the size of the delalloc range we're searching
|
||||||
|
@ -1614,7 +1615,6 @@ again:
|
||||||
goto out_failed;
|
goto out_failed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BUG_ON(ret); /* Only valid values are 0 and -EAGAIN */
|
|
||||||
|
|
||||||
/* step three, lock the state bits for the whole range */
|
/* step three, lock the state bits for the whole range */
|
||||||
lock_extent_bits(tree, delalloc_start, delalloc_end, &cached_state);
|
lock_extent_bits(tree, delalloc_start, delalloc_end, &cached_state);
|
||||||
|
|
Loading…
Reference in New Issue