lkml.org 
[lkml]   [2021]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [f2fs-dev] [PATCH] f2fs: expose # of overprivision segments
On 03/04, Chao Yu wrote:
> On 2021/3/3 2:44, Jaegeuk Kim wrote:
> > On 03/02, Jaegeuk Kim wrote:
> > > On 03/02, Chao Yu wrote:
> > > > On 2021/3/2 13:42, Jaegeuk Kim wrote:
> > > > > This is useful when checking conditions during checkpoint=disable in Android.
> > > >
> > > > This sysfs entry is readonly, how about putting this at
> > > > /sys/fs/f2fs/<disk>/stat/?
> > >
> > > Urg.. "stat" is a bit confused. I'll take a look a better ones.
>
> Oh, I mean put it into "stat" directory, not "stat" entry, something like this:
>
> /sys/fs/f2fs/<disk>/stat/ovp_segments

I meant that too. Why is it like stat, since it's a geomerty?

>
> >
> > Taking a look at other entries using in Android, I feel that this one can't be
> > in stat or whatever other location, since I worry about the consistency with
> > similar dirty/free segments. It seems it's not easy to clean up the existing
> > ones anymore.
>
> Well, actually, the entry number are still increasing continuously, the result is
> that it becomes more and more slower and harder for me to find target entry name
> from that directory.
>
> IMO, once new readonly entry was added to "<disk>" directory, there is no chance
> to reloacate it due to interface compatibility. So I think this is the only
> chance to put it to the appropriate place at this time.

I know, but this will diverge those info into different places. I don't have
big concern when finding a specific entry with this tho, how about making
symlinks to create a dir structure for your easy access? Or, using a script
would be alternative way.

>
> Thanks,
>
> >
> > >
> > > >
> > > > >
> > > > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> > > > > ---
> > > > > fs/f2fs/sysfs.c | 8 ++++++++
> > > > > 1 file changed, 8 insertions(+)
> > > > >
> > > > > diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
> > > > > index e38a7f6921dd..254b6fa17406 100644
> > > > > --- a/fs/f2fs/sysfs.c
> > > > > +++ b/fs/f2fs/sysfs.c
> > > > > @@ -91,6 +91,13 @@ static ssize_t free_segments_show(struct f2fs_attr *a,
> > > > > (unsigned long long)(free_segments(sbi)));
> > > > > }
> > > > > +static ssize_t ovp_segments_show(struct f2fs_attr *a,
> > > > > + struct f2fs_sb_info *sbi, char *buf)
> > > > > +{
> > > > > + return sprintf(buf, "%llu\n",
> > > > > + (unsigned long long)(overprovision_segments(sbi)));
> > > > > +}
> > > > > +
> > > > > static ssize_t lifetime_write_kbytes_show(struct f2fs_attr *a,
> > > > > struct f2fs_sb_info *sbi, char *buf)
> > > > > {
> > > > > @@ -629,6 +636,7 @@ F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, node_io_flag, node_io_flag);
> > > > > F2FS_RW_ATTR(CPRC_INFO, ckpt_req_control, ckpt_thread_ioprio, ckpt_thread_ioprio);
> > > > > F2FS_GENERAL_RO_ATTR(dirty_segments);
> > > > > F2FS_GENERAL_RO_ATTR(free_segments);
> > > > > +F2FS_GENERAL_RO_ATTR(ovp_segments);
> > > >
> > > > Missed to add document entry in Documentation/ABI/testing/sysfs-fs-f2fs?
> > >
> > > Yeah, thanks.
> > >
> > > >
> > > > Thanks,
> > > >
> > > > > F2FS_GENERAL_RO_ATTR(lifetime_write_kbytes);
> > > > > F2FS_GENERAL_RO_ATTR(features);
> > > > > F2FS_GENERAL_RO_ATTR(current_reserved_blocks);
> > > > >
> > >
> > >
> > > _______________________________________________
> > > Linux-f2fs-devel mailing list
> > > Linux-f2fs-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> > .
> >

\
 
 \ /
  Last update: 2021-03-04 18:53    [W:0.069 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site