btrfs: Remove fs_info from struct async_chunk
authorNikolay Borisov <nborisov@suse.com>
Tue, 12 Mar 2019 15:20:26 +0000 (17:20 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 2 May 2019 11:48:19 +0000 (13:48 +0200)
The associated btrfs_work already contains a reference to the fs_info so
use that instead of passing it via async_chunk. No functional changes.

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
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/inode.c

index 958dc7aa453ad2109acb462e9fa1928bda600135..b594a746871603ca30e6b3d710d61b86220a35a8 100644 (file)
@@ -357,7 +357,6 @@ struct async_extent {
 
 struct async_chunk {
        struct inode *inode;
-       struct btrfs_fs_info *fs_info;
        struct page *locked_page;
        u64 start;
        u64 end;
@@ -1147,13 +1146,11 @@ static noinline void async_cow_start(struct btrfs_work *work)
  */
 static noinline void async_cow_submit(struct btrfs_work *work)
 {
-       struct btrfs_fs_info *fs_info;
-       struct async_chunk *async_chunk;
+       struct async_chunk *async_chunk = container_of(work, struct async_chunk,
+                                                    work);
+       struct btrfs_fs_info *fs_info = btrfs_work_owner(work);
        unsigned long nr_pages;
 
-       async_chunk = container_of(work, struct async_chunk, work);
-
-       fs_info = async_chunk->fs_info;
        nr_pages = (async_chunk->end - async_chunk->start + PAGE_SIZE) >>
                PAGE_SHIFT;
 
@@ -1244,7 +1241,6 @@ static int cow_file_range_async(struct inode *inode, struct page *locked_page,
                async_chunk[i].inode = inode;
                async_chunk[i].start = start;
                async_chunk[i].end = cur_end;
-               async_chunk[i].fs_info = fs_info;
                async_chunk[i].locked_page = locked_page;
                async_chunk[i].write_flags = write_flags;
                INIT_LIST_HEAD(&async_chunk[i].extents);