diff options
author | Josef Bacik <jbacik@fb.com> | 2016-03-25 13:25:59 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-07-07 18:45:53 +0200 |
commit | d38b349c39a9feb1aca82c3280b9b1234497d582 (patch) | |
tree | ec90b923cbcbc0d5c2b9bcf0275725afc2be34b3 /fs | |
parent | 31bada7c4e5e80b9cc031e89247175bed58ed9e9 (diff) | |
download | op-kernel-dev-d38b349c39a9feb1aca82c3280b9b1234497d582.zip op-kernel-dev-d38b349c39a9feb1aca82c3280b9b1234497d582.tar.gz |
Btrfs: don't bother kicking async if there's nothing to reclaim
We do this check when we start the async reclaimer thread, might as well check
before we kick it off to save us some cycles. Thanks,
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/extent-tree.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index a012fd4..a0ca2b5 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -4944,6 +4944,9 @@ static inline int need_do_async_reclaim(struct btrfs_space_info *space_info, if ((space_info->bytes_used + space_info->bytes_reserved) >= thresh) return 0; + if (!btrfs_calc_reclaim_metadata_size(fs_info->fs_root, space_info)) + return 0; + return (used >= thresh && !btrfs_fs_closing(fs_info) && !test_bit(BTRFS_FS_STATE_REMOUNTING, &fs_info->fs_state)); } |