OSDN Git Service

btrfs: make writepage_delalloc take btrfs_inode
authorNikolay Borisov <nborisov@suse.com>
Fri, 5 Jun 2020 07:42:10 +0000 (10:42 +0300)
committerDavid Sterba <dsterba@suse.com>
Mon, 27 Jul 2020 10:55:35 +0000 (12:55 +0200)
Only find_lock_delalloc_range uses vfs_inode so let's take the
btrfs_inode as a parameter.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index cb9969f..abd36d9 100644 (file)
@@ -3419,7 +3419,7 @@ static void update_nr_written(struct writeback_control *wbc,
  * This returns 0 if all went well (page still locked)
  * This returns < 0 if there were errors (page still locked)
  */
-static noinline_for_stack int writepage_delalloc(struct inode *inode,
+static noinline_for_stack int writepage_delalloc(struct btrfs_inode *inode,
                struct page *page, struct writeback_control *wbc,
                u64 delalloc_start, unsigned long *nr_written)
 {
@@ -3432,14 +3432,14 @@ static noinline_for_stack int writepage_delalloc(struct inode *inode,
 
 
        while (delalloc_end < page_end) {
-               found = find_lock_delalloc_range(inode, page,
+               found = find_lock_delalloc_range(&inode->vfs_inode, page,
                                               &delalloc_start,
                                               &delalloc_end);
                if (!found) {
                        delalloc_start = delalloc_end + 1;
                        continue;
                }
-               ret = btrfs_run_delalloc_range(BTRFS_I(inode), page, delalloc_start,
+               ret = btrfs_run_delalloc_range(inode, page, delalloc_start,
                                delalloc_end, &page_started, nr_written, wbc);
                if (ret) {
                        SetPageError(page);
@@ -3657,7 +3657,8 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,
        set_page_extent_mapped(page);
 
        if (!epd->extent_locked) {
-               ret = writepage_delalloc(inode, page, wbc, start, &nr_written);
+               ret = writepage_delalloc(BTRFS_I(inode), page, wbc, start,
+                                        &nr_written);
                if (ret == 1)
                        return 0;
                if (ret)