From: Darrick J. Wong <djwong@xxxxxxxxxx> generic/260 also points out that the bytes cleared are in the wrong units -- they're supposed to be in bytes, but the "cleared" variable is in units of fsblocks. Fix that. Cc: <linux-ext4@xxxxxxxxxxxxxxx> # v1.47.3-rc1 Fixes: 7235b58533b9cd ("fuse2fs: fix FITRIM validation") Signed-off-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> --- misc/fuse2fs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c index 34eaad1573132f..ff8aa023d1c555 100644 --- a/misc/fuse2fs.c +++ b/misc/fuse2fs.c @@ -3831,7 +3831,8 @@ static int ioctl_fitrim(struct fuse2fs *ff, struct fuse2fs_file_handle *fh, } out: - fr->len = cleared; + fr->len = FUSE2FS_FSB_TO_B(ff, cleared); + dbg_printf(ff, "%s: len=%llu err=%ld\n", __func__, fr->len, err); return err; } #endif /* FITRIM */