Message ID | 20190701165055.15483-1-nborisov@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] btrfs: Return number of compressed extents directly in compress_file_range | expand |
On 2019/7/2 上午12:50, Nikolay Borisov wrote: > compress_file_range returns a void, yet uses a function parameter as a > return value. Make that more idiomatic by simply returning the number > of compressed extents directly. Also track such extents in more aptly > named variables. No functional changes > > Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: Qu Wenruo <wqu@suse.com> Thanks, Qu > --- > fs/btrfs/inode.c | 20 +++++++++++--------- > 1 file changed, 11 insertions(+), 9 deletions(-) > > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index 4e183c2d3555..3b0bf5ea9eb6 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -440,8 +440,7 @@ static inline void inode_should_defrag(struct btrfs_inode *inode, > * are written in the same order that the flusher thread sent them > * down. > */ > -static noinline void compress_file_range(struct async_chunk *async_chunk, > - int *num_added) > +static noinline int compress_file_range(struct async_chunk *async_chunk) > { > struct inode *inode = async_chunk->inode; > struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); > @@ -457,6 +456,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > int i; > int will_compress; > int compress_type = fs_info->compress_type; > + int compressed_extents = 0; > int redirty = 0; > > inode_should_defrag(BTRFS_I(inode), start, end, end - start + 1, > @@ -619,7 +619,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > */ > total_in = ALIGN(total_in, PAGE_SIZE); > if (total_compressed + blocksize <= total_in) { > - *num_added += 1; > + compressed_extents += 1; > > /* > * The async work queues will take care of doing actual > @@ -636,7 +636,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > cond_resched(); > goto again; > } > - return; > + return compressed_extents; > } > } > if (pages) { > @@ -675,9 +675,9 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > extent_range_redirty_for_io(inode, start, end); > add_async_extent(async_chunk, start, end - start + 1, 0, NULL, 0, > BTRFS_COMPRESS_NONE); > - *num_added += 1; > + compressed_extents += 1; > > - return; > + return compressed_extents; > > free_pages_out: > for (i = 0; i < nr_pages; i++) { > @@ -685,6 +685,8 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > put_page(pages[i]); > } > kfree(pages); > + > + return 0; > } > > static void free_async_extent_pages(struct async_extent *async_extent) > @@ -1122,12 +1124,12 @@ static noinline int cow_file_range(struct inode *inode, > static noinline void async_cow_start(struct btrfs_work *work) > { > struct async_chunk *async_chunk; > - int num_added = 0; > + int compressed_extents = 0; > > async_chunk = container_of(work, struct async_chunk, work); > > - compress_file_range(async_chunk, &num_added); > - if (num_added == 0) { > + compressed_extents = compress_file_range(async_chunk); > + if (compressed_extents == 0) { > btrfs_add_delayed_iput(async_chunk->inode); > async_chunk->inode = NULL; > } >
On 2/7/19 12:50 AM, Nikolay Borisov wrote: > compress_file_range returns a void, yet uses a function parameter as a > return value. Make that more idiomatic by simply returning the number > of compressed extents directly. Also track such extents in more aptly > named variables. No functional changes > > Signed-off-by: Nikolay Borisov <nborisov@suse.com> Looks good. Reviewed-by: Anand Jain <anand.jain@oracle.com> > --- > fs/btrfs/inode.c | 20 +++++++++++--------- > 1 file changed, 11 insertions(+), 9 deletions(-) > > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index 4e183c2d3555..3b0bf5ea9eb6 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -440,8 +440,7 @@ static inline void inode_should_defrag(struct btrfs_inode *inode, > * are written in the same order that the flusher thread sent them > * down. > */ > -static noinline void compress_file_range(struct async_chunk *async_chunk, > - int *num_added) > +static noinline int compress_file_range(struct async_chunk *async_chunk) > { > struct inode *inode = async_chunk->inode; > struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); > @@ -457,6 +456,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > int i; > int will_compress; > int compress_type = fs_info->compress_type; > + int compressed_extents = 0; > int redirty = 0; > > inode_should_defrag(BTRFS_I(inode), start, end, end - start + 1, > @@ -619,7 +619,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > */ > total_in = ALIGN(total_in, PAGE_SIZE); > if (total_compressed + blocksize <= total_in) { > - *num_added += 1; > + compressed_extents += 1; > > /* > * The async work queues will take care of doing actual > @@ -636,7 +636,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > cond_resched(); > goto again; > } > - return; > + return compressed_extents; > } > } > if (pages) { > @@ -675,9 +675,9 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > extent_range_redirty_for_io(inode, start, end); > add_async_extent(async_chunk, start, end - start + 1, 0, NULL, 0, > BTRFS_COMPRESS_NONE); > - *num_added += 1; > + compressed_extents += 1; > > - return; > + return compressed_extents; > > free_pages_out: > for (i = 0; i < nr_pages; i++) { > @@ -685,6 +685,8 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, > put_page(pages[i]); > } > kfree(pages); > + > + return 0; > } > > static void free_async_extent_pages(struct async_extent *async_extent) > @@ -1122,12 +1124,12 @@ static noinline int cow_file_range(struct inode *inode, > static noinline void async_cow_start(struct btrfs_work *work) > { > struct async_chunk *async_chunk; > - int num_added = 0; > + int compressed_extents = 0; > > async_chunk = container_of(work, struct async_chunk, work); > > - compress_file_range(async_chunk, &num_added); > - if (num_added == 0) { > + compressed_extents = compress_file_range(async_chunk); > + if (compressed_extents == 0) { > btrfs_add_delayed_iput(async_chunk->inode); > async_chunk->inode = NULL; > } >
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 4e183c2d3555..3b0bf5ea9eb6 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -440,8 +440,7 @@ static inline void inode_should_defrag(struct btrfs_inode *inode, * are written in the same order that the flusher thread sent them * down. */ -static noinline void compress_file_range(struct async_chunk *async_chunk, - int *num_added) +static noinline int compress_file_range(struct async_chunk *async_chunk) { struct inode *inode = async_chunk->inode; struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); @@ -457,6 +456,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, int i; int will_compress; int compress_type = fs_info->compress_type; + int compressed_extents = 0; int redirty = 0; inode_should_defrag(BTRFS_I(inode), start, end, end - start + 1, @@ -619,7 +619,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, */ total_in = ALIGN(total_in, PAGE_SIZE); if (total_compressed + blocksize <= total_in) { - *num_added += 1; + compressed_extents += 1; /* * The async work queues will take care of doing actual @@ -636,7 +636,7 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, cond_resched(); goto again; } - return; + return compressed_extents; } } if (pages) { @@ -675,9 +675,9 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, extent_range_redirty_for_io(inode, start, end); add_async_extent(async_chunk, start, end - start + 1, 0, NULL, 0, BTRFS_COMPRESS_NONE); - *num_added += 1; + compressed_extents += 1; - return; + return compressed_extents; free_pages_out: for (i = 0; i < nr_pages; i++) { @@ -685,6 +685,8 @@ static noinline void compress_file_range(struct async_chunk *async_chunk, put_page(pages[i]); } kfree(pages); + + return 0; } static void free_async_extent_pages(struct async_extent *async_extent) @@ -1122,12 +1124,12 @@ static noinline int cow_file_range(struct inode *inode, static noinline void async_cow_start(struct btrfs_work *work) { struct async_chunk *async_chunk; - int num_added = 0; + int compressed_extents = 0; async_chunk = container_of(work, struct async_chunk, work); - compress_file_range(async_chunk, &num_added); - if (num_added == 0) { + compressed_extents = compress_file_range(async_chunk); + if (compressed_extents == 0) { btrfs_add_delayed_iput(async_chunk->inode); async_chunk->inode = NULL; }
compress_file_range returns a void, yet uses a function parameter as a return value. Make that more idiomatic by simply returning the number of compressed extents directly. Also track such extents in more aptly named variables. No functional changes Signed-off-by: Nikolay Borisov <nborisov@suse.com> --- fs/btrfs/inode.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-)