btrfs: Move epd::extent_locked check to writepage_delalloc's caller
If epd::extent_locked is set then writepage_delalloc terminates. Make this a bit more apparent in the caller by simply bubbling the check up. This enables to remove epd as an argument to writepage_delalloc in a future patch. No functional change. 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
fc8a168aa9
commit
7789a55aa1
|
@ -3214,8 +3214,6 @@ static noinline_for_stack int writepage_delalloc(struct inode *inode,
|
|||
int ret;
|
||||
int page_started = 0;
|
||||
|
||||
if (epd->extent_locked)
|
||||
return 0;
|
||||
|
||||
while (delalloc_end < page_end) {
|
||||
nr_delalloc = find_lock_delalloc_range(inode, tree,
|
||||
|
@ -3471,11 +3469,14 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,
|
|||
|
||||
set_page_extent_mapped(page);
|
||||
|
||||
ret = writepage_delalloc(inode, page, wbc, epd, start, &nr_written);
|
||||
if (ret == 1)
|
||||
goto done_unlocked;
|
||||
if (ret)
|
||||
goto done;
|
||||
if (!epd->extent_locked) {
|
||||
ret = writepage_delalloc(inode, page, wbc, epd, start,
|
||||
&nr_written);
|
||||
if (ret == 1)
|
||||
goto done_unlocked;
|
||||
if (ret)
|
||||
goto done;
|
||||
}
|
||||
|
||||
ret = __extent_writepage_io(inode, page, wbc, epd,
|
||||
i_size, nr_written, write_flags, &nr);
|
||||
|
|
Loading…
Reference in New Issue