[PATCH] ocfs2: correct range->len in ocfs2_trim_fs()

Yuanheng Zhang posted 1 patch 2 years, 3 months ago
fs/ocfs2/alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] ocfs2: correct range->len in ocfs2_trim_fs()
Posted by Yuanheng Zhang 2 years, 3 months ago
global bitmap is a cluster allocator,so after we traverse
the global bitmap and finished the fstrim,the trimmed range
should be 'trimmed * clustersize'.otherwise,the trimmed range
printed by 'fstrim -v' is not as expected.

Signed-off-by: Yuanheng Zhang <yuanhengzhang1214@gmail.com>
---
 fs/ocfs2/alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
index 51c93929a146..bced551240cf 100644
--- a/fs/ocfs2/alloc.c
+++ b/fs/ocfs2/alloc.c
@@ -7642,7 +7642,7 @@ int ocfs2_trim_mainbm(struct super_block *sb, struct fstrim_range *range)
 		goto next_group;
 	}
 out:
-	range->len = trimmed * sb->s_blocksize;
+	range->len = trimmed * osb->s_clustersize;
 	return ret;
 }
 
-- 
2.34.1
Re: [PATCH] ocfs2: correct range->len in ocfs2_trim_fs()
Posted by Joseph Qi 2 years, 3 months ago

On 8/28/23 1:17 PM, Yuanheng Zhang wrote:
> global bitmap is a cluster allocator,so after we traverse
> the global bitmap and finished the fstrim,the trimmed range
> should be 'trimmed * clustersize'.otherwise,the trimmed range
> printed by 'fstrim -v' is not as expected.
> 
> Signed-off-by: Yuanheng Zhang <yuanhengzhang1214@gmail.com>

Thanks for pointing this out. It looks fine to me.

Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>

> ---
>  fs/ocfs2/alloc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
> index 51c93929a146..bced551240cf 100644
> --- a/fs/ocfs2/alloc.c
> +++ b/fs/ocfs2/alloc.c
> @@ -7642,7 +7642,7 @@ int ocfs2_trim_mainbm(struct super_block *sb, struct fstrim_range *range)
>  		goto next_group;
>  	}
>  out:
> -	range->len = trimmed * sb->s_blocksize;
> +	range->len = trimmed * osb->s_clustersize;
>  	return ret;
>  }
>