Message ID | d998cbf6d167d16ca51adea2fb631d36793a0a6f.1602249928.git.josef@toxicpanda.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Improve preemptive ENOSPC flushing | expand |
On Fri, Oct 09, 2020 at 09:28:23AM -0400, Josef Bacik wrote: > All of our normal flushing is asynchronous reclaim, so this helper is > poorly named. This is more checking if we need to preemptively flush > space, so rename it to need_preemptive_reclaim. > > Reviewed-by: Nikolay Borisov <nborisov@suse.com> > Signed-off-by: Josef Bacik <josef@toxicpanda.com> > --- > fs/btrfs/space-info.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c > index 0f84bee57c29..f37ead28bd05 100644 > --- a/fs/btrfs/space-info.c > +++ b/fs/btrfs/space-info.c > @@ -799,9 +799,9 @@ btrfs_calc_reclaim_metadata_size(struct btrfs_fs_info *fs_info, > return to_reclaim; > } > > -static inline int need_do_async_reclaim(struct btrfs_fs_info *fs_info, > - struct btrfs_space_info *space_info, > - u64 used) > +static inline bool need_preemptive_reclaim(struct btrfs_fs_info *fs_info, Following patches add more code to that function so it's not really suitable for 'static inline', I'd rather drop it.
diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c index 0f84bee57c29..f37ead28bd05 100644 --- a/fs/btrfs/space-info.c +++ b/fs/btrfs/space-info.c @@ -799,9 +799,9 @@ btrfs_calc_reclaim_metadata_size(struct btrfs_fs_info *fs_info, return to_reclaim; } -static inline int need_do_async_reclaim(struct btrfs_fs_info *fs_info, - struct btrfs_space_info *space_info, - u64 used) +static inline bool need_preemptive_reclaim(struct btrfs_fs_info *fs_info, + struct btrfs_space_info *space_info, + u64 used) { u64 thresh = div_factor_fine(space_info->total_bytes, 98); @@ -1019,7 +1019,7 @@ static void btrfs_preempt_reclaim_metadata_space(struct work_struct *work) spin_lock(&space_info->lock); used = btrfs_space_info_used(space_info, true); - while (need_do_async_reclaim(fs_info, space_info, used)) { + while (need_preemptive_reclaim(fs_info, space_info, used)) { enum btrfs_flush_state flush; u64 delalloc_size = 0; u64 to_reclaim, block_rsv_size; @@ -1496,7 +1496,7 @@ static int __reserve_bytes(struct btrfs_fs_info *fs_info, * the async reclaim as we will panic. */ if (!test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags) && - need_do_async_reclaim(fs_info, space_info, used) && + need_preemptive_reclaim(fs_info, space_info, used) && !work_busy(&fs_info->preempt_reclaim_work)) { trace_btrfs_trigger_flush(fs_info, space_info->flags, orig_bytes, flush, "preempt");