Re: [PATCH 2/2] btrfs: don't report failure when trim is interrupted
From: Luca Stefani
Date: Thu Oct 29 2026 - 05:02:55 EST
On Wed, 28 Oct 2026 at 22:07, Qu Wenruo <quwenruo.btrfs@xxxxxxx> wrote:
>
>
>
> 在 2026/10/29 04:25, Luca Stefani via B4 Relay 写道:
> > From: Luca Stefani <luca.stefani.ge1@xxxxxxxxx>
> >
> > Treat cancellation as a successful partial trim as ext4 and XFS do.
> >
> > Reported-by: Zhiwei Liang <zhiwei.liang@xxxxxxxxx>
> > Closes: https://lore.kernel.org/20261028-btrfs-fitrim-freezer-v1-1-0ad1d58aa94d@xxxxxxxxx/
>
> In fact you should use Link tag here, for the original patch as a
> report. Not Closes tag.
I think that was my original intention, but I mixed up the patches.
>
> Otherwise looks good to me.
>
> I can change the tags at merge time, so you don't need to resend the
> series, unless there are other reviews that requires code changes.
Thanks! Will fix them up in case.
>
> Thanks,
> Qu
>
> > Suggested-by: Qu Wenruo <wqu@xxxxxxxx>
> > Signed-off-by: Luca Stefani <luca.stefani.ge1@xxxxxxxxx>
> > ---
> > fs/btrfs/extent-tree.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> > index 242db255cf1c..90e581c29609 100644
> > --- a/fs/btrfs/extent-tree.c
> > +++ b/fs/btrfs/extent-tree.c
> > @@ -6926,7 +6926,7 @@ int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range)
> > bg_failed, ERR_PTR(bg_ret));
> >
> > if (ret == -ERESTARTSYS || ret == -EINTR)
> > - return ret;
> > + goto out;
> >
> > ret = btrfs_trim_free_extents(fs_info, &group_trimmed, &dev_failed, &dev_ret);
> > trimmed += group_trimmed;
> > @@ -6935,9 +6935,8 @@ int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range)
> > btrfs_warn(fs_info,
> > "failed to trim %llu device(s), first error %pe",
> > dev_failed, ERR_PTR(dev_ret));
> > +out:
> > range->len = trimmed;
> > - if (ret == -ERESTARTSYS || ret == -EINTR)
> > - return ret;
> > if (bg_ret)
> > return bg_ret;
> > return dev_ret;
> >
>