Re: git: 8921216dbee6 - main - nullfs: add -o cache ["mount" not reporting cache vs. nocache status for listed mounts?]

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Sat, 09 Mar 2024 09:30:01 UTC
On Fri, Mar 08, 2024 at 02:02:27PM -0800, Mark Millard wrote:
> [I'm picking one cache vs. nocache related message to use
> to ask my question.]
> 
> Konstantin Belousov <kib_at_FreeBSD.org> wrote on
> Date: Fri, 08 Mar 2024 18:44:52 UTC :
> 
> > The branch main has been updated by kib:
> > 
> >> URL: https://cgit.FreeBSD.org/src/commit/?id=8921216dbee6884532e22d5347cff4d9ed23e782
> > 
> > commit 8921216dbee6884532e22d5347cff4d9ed23e782
> > Author: Konstantin Belousov <kib@FreeBSD.org>
> > AuthorDate: 2024-03-08 18:26:02 +0000
> > Commit: Konstantin Belousov <kib@FreeBSD.org>
> > CommitDate: 2024-03-08 18:44:21 +0000
> > 
> > nullfs: add -o cache
> > 
> > to allow overwrite global default if needed.
> > 
> > Sponsored by: The FreeBSD Foundation
> > MFC after: 1 week
> > ---
> > sys/fs/nullfs/null_vfsops.c | 15 +++++++++------
> > 1 file changed, 9 insertions(+), 6 deletions(-)
> > 
> > diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c
> > index 7ee6ce53fbde..63bdcd4788d9 100644
> > --- a/sys/fs/nullfs/null_vfsops.c
> > +++ b/sys/fs/nullfs/null_vfsops.c
> > @@ -205,12 +205,15 @@ nullfs_mount(struct mount *mp)
> > MNT_IUNLOCK(mp);
> > }
> > 
> > - xmp->nullm_flags |= NULLM_CACHE;
> > - if (!null_cache_vnodes ||
> > - vfs_getopt(mp->mnt_optnew, "nocache", NULL, NULL) == 0 ||
> > - (xmp->nullm_vfs->mnt_kern_flag & MNTK_NULL_NOCACHE) != 0)
> > - xmp->nullm_flags &= ~NULLM_CACHE;
> > -
> > + if (vfs_getopt(mp->mnt_optnew, "cache", NULL, NULL) == 0) {
> > + xmp->nullm_flags |= NULLM_CACHE;
> > + } else if (vfs_getopt(mp->mnt_optnew, "nocache", NULL, NULL) == 0) {
> > + ;
> > + } else if (null_cache_vnodes &&
> > + (xmp->nullm_vfs->mnt_kern_flag & MNTK_NULL_NOCACHE) == 0) {
> > + xmp->nullm_flags |= NULLM_CACHE;
> > + }
> > + 
> > if ((xmp->nullm_flags & NULLM_CACHE) != 0) {
> > vfs_register_for_notification(xmp->nullm_vfs, mp,
> > &xmp->notify_node);
> 
> 
> Does the mount command report the cache vs. no cache status of the mounts
> that it lists?
Mount uses getfsstat(2) which has no knowledge of nmount(2).

> 
> https://lists.freebsd.org/archives/freebsd-current/2024-March/005690.html
> 
> is is recent a report that it does not. A reply mentions that "ignore" vs.
> not has a similar status of not being reported:
> 
> https://lists.freebsd.org/archives/freebsd-current/2024-March/005695.html
> 
> ===
> Mark Millard
> marklmi at yahoo.com
>