Message ID | 20240523-zoned-gc-v4-2-23ed9f61afa0@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: zoned: always set aside a zone for relocation | expand |
On Thu, May 23, 2024 at 05:21:59PM GMT, Johannes Thumshirn wrote: > From: Johannes Thumshirn <johannes.thumshirn@wdc.com> > > After we've committed a relocation transaction, we know we have just freed > up space. Set it as hint for the next relocation. > > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com> Regards, > --- > fs/btrfs/relocation.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c > index 5f1a909a1d91..02a9ebf96a95 100644 > --- a/fs/btrfs/relocation.c > +++ b/fs/btrfs/relocation.c > @@ -3811,6 +3811,13 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc) > ret = btrfs_commit_transaction(trans); > if (ret && !err) > err = ret; > + > + /* > + * We know we have just freed space, set it as hint for the > + * next relocation. > + */ > + if (!err) > + btrfs_reserve_relocation_bg(fs_info); > out_free: > ret = clean_dirty_subvols(rc); > if (ret < 0 && !err) > > -- > 2.43.0 >
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 5f1a909a1d91..02a9ebf96a95 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -3811,6 +3811,13 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc) ret = btrfs_commit_transaction(trans); if (ret && !err) err = ret; + + /* + * We know we have just freed space, set it as hint for the + * next relocation. + */ + if (!err) + btrfs_reserve_relocation_bg(fs_info); out_free: ret = clean_dirty_subvols(rc); if (ret < 0 && !err)