Commit f4dcfb30 authored by Johannes Thumshirn's avatar Johannes Thumshirn Committed by David Sterba

btrfs: rename check_async_write and let it return bool

The 'check_async_write' function is a helper used in
'btrfs_submit_metadata_bio' and it checks if asynchronous writing can be
used for metadata.

Make the function return bool and get rid of the local variable async in
btrfs_submit_metadata_bio storing the result of check_async_write's
tests.

As this is touching all function call sites, also rename it to
should_async_write as this is more in line with the naming we use.
Signed-off-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 06e1e7f4
...@@ -917,23 +917,22 @@ static blk_status_t btree_submit_bio_start(struct inode *inode, struct bio *bio, ...@@ -917,23 +917,22 @@ static blk_status_t btree_submit_bio_start(struct inode *inode, struct bio *bio,
return btree_csum_one_bio(bio); return btree_csum_one_bio(bio);
} }
static int check_async_write(struct btrfs_fs_info *fs_info, static bool should_async_write(struct btrfs_fs_info *fs_info,
struct btrfs_inode *bi) struct btrfs_inode *bi)
{ {
if (btrfs_is_zoned(fs_info)) if (btrfs_is_zoned(fs_info))
return 0; return false;
if (atomic_read(&bi->sync_writers)) if (atomic_read(&bi->sync_writers))
return 0; return false;
if (test_bit(BTRFS_FS_CSUM_IMPL_FAST, &fs_info->flags)) if (test_bit(BTRFS_FS_CSUM_IMPL_FAST, &fs_info->flags))
return 0; return false;
return 1; return true;
} }
blk_status_t btrfs_submit_metadata_bio(struct inode *inode, struct bio *bio, blk_status_t btrfs_submit_metadata_bio(struct inode *inode, struct bio *bio,
int mirror_num, unsigned long bio_flags) int mirror_num, unsigned long bio_flags)
{ {
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
int async = check_async_write(fs_info, BTRFS_I(inode));
blk_status_t ret; blk_status_t ret;
if (btrfs_op(bio) != BTRFS_MAP_WRITE) { if (btrfs_op(bio) != BTRFS_MAP_WRITE) {
...@@ -946,7 +945,7 @@ blk_status_t btrfs_submit_metadata_bio(struct inode *inode, struct bio *bio, ...@@ -946,7 +945,7 @@ blk_status_t btrfs_submit_metadata_bio(struct inode *inode, struct bio *bio,
if (ret) if (ret)
goto out_w_error; goto out_w_error;
ret = btrfs_map_bio(fs_info, bio, mirror_num); ret = btrfs_map_bio(fs_info, bio, mirror_num);
} else if (!async) { } else if (!should_async_write(fs_info, BTRFS_I(inode))) {
ret = btree_csum_one_bio(bio); ret = btree_csum_one_bio(bio);
if (ret) if (ret)
goto out_w_error; goto out_w_error;
......
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