From: Nikolay Borisov Date: Fri, 26 Oct 2018 11:43:21 +0000 (+0300) Subject: btrfs: Replace BUG_ON with ASSERT in find_lock_delalloc_range X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=9bfd61d9755a515fc876aa70717824cea645bffd;p=openwrt%2Fstaging%2Fblogic.git 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 Reviewed-by: Anand Jain Signed-off-by: Nikolay Borisov Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index d5ac46fa7760..16d5eac7d7df 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -1599,6 +1599,7 @@ again: /* step two, lock all the pages after the page that has start */ ret = lock_delalloc_pages(inode, locked_page, delalloc_start, delalloc_end); + ASSERT(!ret || ret == -EAGAIN); if (ret == -EAGAIN) { /* some of the pages are gone, lets avoid looping by * shortening the size of the delalloc range we're searching @@ -1614,7 +1615,6 @@ again: goto out_failed; } } - BUG_ON(ret); /* Only valid values are 0 and -EAGAIN */ /* step three, lock the state bits for the whole range */ lock_extent_bits(tree, delalloc_start, delalloc_end, &cached_state);