[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACOAw_woCqGXKeLqG_QJExc_usnZy6FkL5O+qrvdzoqF2yBnfw@mail.gmail.com>
Date: Wed, 5 Mar 2025 08:03:13 -0800
From: Daeho Jeong <daeho43@...il.com>
To: Jaegeuk Kim <jaegeuk@...nel.org>
Cc: Chao Yu <chao@...nel.org>, linux-kernel@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net, kernel-team@...roid.com,
Daeho Jeong <daehojeong@...gle.com>
Subject: Re: [f2fs-dev] [PATCH] f2fs: subtract current_reserved_blocks from total
On Wed, Mar 5, 2025 at 6:35 AM Jaegeuk Kim <jaegeuk@...nel.org> wrote:
>
> On 03/05, Chao Yu wrote:
> > On 3/5/25 03:20, Daeho Jeong wrote:
> > > From: Daeho Jeong <daehojeong@...gle.com>
> > >
> > > current_reserved_blocks is not allowed to utilize. For some zoned
> > > storage devices, vendors will provide extra space which was used for
> > > device level GC than specs and we will use this space for filesystem
> > > level GC. This extra space should not be shown to users, otherwise,
> > > users will see not standardized size number like 530GB, not 512GB.
> >
> > Hi Daeho,
> >
> > However, if there are other users e.g. oem or vendor want to use
> > reserved_blocks and current_reserved_blocks sysfs interface to
> > reserve space, then, total size will be less than 512GB?
> >
> > What do you think of adding a new variable to indicate reserved
> > space for zoned storage case only?
>
> Or, adding a sysfs entry like "carve_out" to determine this?
Good points. Thanks, guys.
>
> >
> > Thanks,
> >
> > >
> > > Signed-off-by: Daeho Jeong <daehojeong@...gle.com>
> > > ---
> > > fs/f2fs/super.c | 3 +--
> > > 1 file changed, 1 insertion(+), 2 deletions(-)
> > >
> > > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> > > index 19b67828ae32..c346dcc2518a 100644
> > > --- a/fs/f2fs/super.c
> > > +++ b/fs/f2fs/super.c
> > > @@ -1833,10 +1833,9 @@ static int f2fs_statfs(struct dentry *dentry, struct kstatfs *buf)
> > > buf->f_type = F2FS_SUPER_MAGIC;
> > > buf->f_bsize = sbi->blocksize;
> > >
> > > - buf->f_blocks = total_count - start_count;
> > > -
> > > spin_lock(&sbi->stat_lock);
> > >
> > > + buf->f_blocks = total_count - start_count - sbi->current_reserved_blocks;
> > > user_block_count = sbi->user_block_count;
> > > total_valid_node_count = valid_node_count(sbi);
> > > avail_node_count = sbi->total_node_count - F2FS_RESERVED_NODE_NUM;
> >
Powered by blists - more mailing lists