btrfs: make btrfs_run_delalloc_range take btrfs_inode
authorNikolay Borisov <nborisov@suse.com>
Wed, 3 Jun 2020 05:55:29 +0000 (08:55 +0300)
committerDavid Sterba <dsterba@suse.com>
Mon, 27 Jul 2020 10:55:34 +0000 (12:55 +0200)
All children now take btrfs_inode so convert it to taking it as a
parameter as well.

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/ctree.h
fs/btrfs/extent_io.c
fs/btrfs/inode.c

index 654b99a..65e0630 100644 (file)
@@ -2979,7 +2979,7 @@ int btrfs_prealloc_file_range_trans(struct inode *inode,
                                    struct btrfs_trans_handle *trans, int mode,
                                    u64 start, u64 num_bytes, u64 min_size,
                                    loff_t actual_len, u64 *alloc_hint);
-int btrfs_run_delalloc_range(struct inode *inode, struct page *locked_page,
+int btrfs_run_delalloc_range(struct btrfs_inode *inode, struct page *locked_page,
                u64 start, u64 end, int *page_started, unsigned long *nr_written,
                struct writeback_control *wbc);
 int btrfs_writepage_cow_fixup(struct page *page, u64 start, u64 end);
index e3078ed..fde2fca 100644 (file)
@@ -3439,7 +3439,7 @@ static noinline_for_stack int writepage_delalloc(struct inode *inode,
                        delalloc_start = delalloc_end + 1;
                        continue;
                }
-               ret = btrfs_run_delalloc_range(inode, page, delalloc_start,
+               ret = btrfs_run_delalloc_range(BTRFS_I(inode), page, delalloc_start,
                                delalloc_end, &page_started, nr_written, wbc);
                if (ret) {
                        SetPageError(page);
index eaa8e71..aa48452 100644 (file)
@@ -1813,31 +1813,30 @@ static inline int need_force_cow(struct btrfs_inode *inode, u64 start, u64 end)
  * Function to process delayed allocation (create CoW) for ranges which are
  * being touched for the first time.
  */
-int btrfs_run_delalloc_range(struct inode *inode, struct page *locked_page,
+int btrfs_run_delalloc_range(struct btrfs_inode *inode, struct page *locked_page,
                u64 start, u64 end, int *page_started, unsigned long *nr_written,
                struct writeback_control *wbc)
 {
        int ret;
-       int force_cow = need_force_cow(BTRFS_I(inode), start, end);
+       int force_cow = need_force_cow(inode, start, end);
 
-       if (BTRFS_I(inode)->flags & BTRFS_INODE_NODATACOW && !force_cow) {
-               ret = run_delalloc_nocow(BTRFS_I(inode), locked_page, start, end,
+       if (inode->flags & BTRFS_INODE_NODATACOW && !force_cow) {
+               ret = run_delalloc_nocow(inode, locked_page, start, end,
                                         page_started, 1, nr_written);
-       } else if (BTRFS_I(inode)->flags & BTRFS_INODE_PREALLOC && !force_cow) {
-               ret = run_delalloc_nocow(BTRFS_I(inode), locked_page, start, end,
+       } else if (inode->flags & BTRFS_INODE_PREALLOC && !force_cow) {
+               ret = run_delalloc_nocow(inode, locked_page, start, end,
                                         page_started, 0, nr_written);
-       } else if (!inode_can_compress(BTRFS_I(inode)) ||
-                  !inode_need_compress(BTRFS_I(inode), start, end)) {
-               ret = cow_file_range(BTRFS_I(inode), locked_page, start, end,
-                                     page_started, nr_written, 1);
+       } else if (!inode_can_compress(inode) ||
+                  !inode_need_compress(inode, start, end)) {
+               ret = cow_file_range(inode, locked_page, start, end,
+                                    page_started, nr_written, 1);
        } else {
-               set_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
-                       &BTRFS_I(inode)->runtime_flags);
-               ret = cow_file_range_async(BTRFS_I(inode), wbc, locked_page, start, end,
+               set_bit(BTRFS_INODE_HAS_ASYNC_EXTENT, &inode->runtime_flags);
+               ret = cow_file_range_async(inode, wbc, locked_page, start, end,
                                           page_started, nr_written);
        }
        if (ret)
-               btrfs_cleanup_ordered_extents(BTRFS_I(inode), locked_page, start,
+               btrfs_cleanup_ordered_extents(inode, locked_page, start,
                                              end - start + 1);
        return ret;
 }