Message ID | 20230406150410.3853001-1-chao@kernel.org |
---|---|
State | New |
Headers | show |
Series | [v2] ext4: fix to report fstrim.minlen back to userspace | expand |
On Thu 06-04-23 23:04:10, Chao Yu wrote: > Quoted from manual of fstrim(8): > > "-m, --minimum minimum-size > ..., if it's smaller than the device's minimum, and report that > (fstrim_range.minlen) back to userspace." > > So this patch tries to report adjusted fstrim_range.minlen back to > userspace via FITRIM interface, if the value is smaller than device's > minimum discard granularity. > > Signed-off-by: Chao Yu <chao@kernel.org> Looks good to me. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > v2: > - fix the wrong calculation of range->minlen. > fs/ext4/mballoc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c > index d8b9d6a83d1e..4af51a16fc64 100644 > --- a/fs/ext4/mballoc.c > +++ b/fs/ext4/mballoc.c > @@ -6491,6 +6491,10 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range) > discard_granularity >> sb->s_blocksize_bits); > if (minlen > EXT4_CLUSTERS_PER_GROUP(sb)) > goto out; > + > + /* Report adjusted minlen back to userspace */ > + range->minlen = EXT4_C2B(EXT4_SB(sb), minlen) << > + sb->s_blocksize_bits; > } > if (end >= max_blks - 1) { > end = max_blks - 1; > -- > 2.25.1 >
Ping, On 2023/4/21 17:39, Jan Kara wrote: > On Thu 06-04-23 23:04:10, Chao Yu wrote: >> Quoted from manual of fstrim(8): >> >> "-m, --minimum minimum-size >> ..., if it's smaller than the device's minimum, and report that >> (fstrim_range.minlen) back to userspace." >> >> So this patch tries to report adjusted fstrim_range.minlen back to >> userspace via FITRIM interface, if the value is smaller than device's >> minimum discard granularity. >> >> Signed-off-by: Chao Yu <chao@kernel.org> > > Looks good to me. Feel free to add: > > Reviewed-by: Jan Kara <jack@suse.cz> > > Honza > >> --- >> v2: >> - fix the wrong calculation of range->minlen. >> fs/ext4/mballoc.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c >> index d8b9d6a83d1e..4af51a16fc64 100644 >> --- a/fs/ext4/mballoc.c >> +++ b/fs/ext4/mballoc.c >> @@ -6491,6 +6491,10 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range) >> discard_granularity >> sb->s_blocksize_bits); >> if (minlen > EXT4_CLUSTERS_PER_GROUP(sb)) >> goto out; >> + >> + /* Report adjusted minlen back to userspace */ >> + range->minlen = EXT4_C2B(EXT4_SB(sb), minlen) << >> + sb->s_blocksize_bits; >> } >> if (end >= max_blks - 1) { >> end = max_blks - 1; >> -- >> 2.25.1 >>
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index d8b9d6a83d1e..4af51a16fc64 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -6491,6 +6491,10 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range) discard_granularity >> sb->s_blocksize_bits); if (minlen > EXT4_CLUSTERS_PER_GROUP(sb)) goto out; + + /* Report adjusted minlen back to userspace */ + range->minlen = EXT4_C2B(EXT4_SB(sb), minlen) << + sb->s_blocksize_bits; } if (end >= max_blks - 1) { end = max_blks - 1;
Quoted from manual of fstrim(8): "-m, --minimum minimum-size ..., if it's smaller than the device's minimum, and report that (fstrim_range.minlen) back to userspace." So this patch tries to report adjusted fstrim_range.minlen back to userspace via FITRIM interface, if the value is smaller than device's minimum discard granularity. Signed-off-by: Chao Yu <chao@kernel.org> --- v2: - fix the wrong calculation of range->minlen. fs/ext4/mballoc.c | 4 ++++ 1 file changed, 4 insertions(+)