The branch main has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=8921216dbee6884532e22d5347cff4d9ed23e782

commit 8921216dbee6884532e22d5347cff4d9ed23e782
Author:     Konstantin Belousov <k...@freebsd.org>
AuthorDate: 2024-03-08 18:26:02 +0000
Commit:     Konstantin Belousov <k...@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);

Reply via email to