Commit 7789a55a authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba

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: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent fc8a168a
...@@ -3214,8 +3214,6 @@ static noinline_for_stack int writepage_delalloc(struct inode *inode, ...@@ -3214,8 +3214,6 @@ static noinline_for_stack int writepage_delalloc(struct inode *inode,
int ret; int ret;
int page_started = 0; int page_started = 0;
if (epd->extent_locked)
return 0;
while (delalloc_end < page_end) { while (delalloc_end < page_end) {
nr_delalloc = find_lock_delalloc_range(inode, tree, nr_delalloc = find_lock_delalloc_range(inode, tree,
...@@ -3471,11 +3469,14 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc, ...@@ -3471,11 +3469,14 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,
set_page_extent_mapped(page); set_page_extent_mapped(page);
ret = writepage_delalloc(inode, page, wbc, epd, start, &nr_written); if (!epd->extent_locked) {
ret = writepage_delalloc(inode, page, wbc, epd, start,
&nr_written);
if (ret == 1) if (ret == 1)
goto done_unlocked; goto done_unlocked;
if (ret) if (ret)
goto done; goto done;
}
ret = __extent_writepage_io(inode, page, wbc, epd, ret = __extent_writepage_io(inode, page, wbc, epd,
i_size, nr_written, write_flags, &nr); i_size, nr_written, write_flags, &nr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment