Module Name: src Committed By: ozaki-r Date: Thu Feb 10 09:29:39 UTC 2022
Modified Files: src/usr.sbin/puffs/mount_9p: ninepuffs.c Log Message: mount_9p: don't cache path names by default Caching path names doesn't handle file changes by host, which is not expected for normal usages. So turn it off by default. Instead, -C option is added to turn it on. Patch from k-goda@IIJ with my tweaks To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/usr.sbin/puffs/mount_9p/ninepuffs.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/puffs/mount_9p/ninepuffs.c diff -u src/usr.sbin/puffs/mount_9p/ninepuffs.c:1.33 src/usr.sbin/puffs/mount_9p/ninepuffs.c:1.34 --- src/usr.sbin/puffs/mount_9p/ninepuffs.c:1.33 Sun Jun 14 00:30:20 2020 +++ src/usr.sbin/puffs/mount_9p/ninepuffs.c Thu Feb 10 09:29:39 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: ninepuffs.c,v 1.33 2020/06/14 00:30:20 uwe Exp $ */ +/* $NetBSD: ninepuffs.c,v 1.34 2022/02/10 09:29:39 ozaki-r Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -31,7 +31,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: ninepuffs.c,v 1.33 2020/06/14 00:30:20 uwe Exp $"); +__RCSID("$NetBSD: ninepuffs.c,v 1.34 2022/02/10 09:29:39 ozaki-r Exp $"); #endif /* !lint */ #include <sys/types.h> @@ -149,6 +149,7 @@ main(int argc, char *argv[]) int detach; int protover; int server; + bool cachename = false; setprogname(argv[0]); @@ -166,7 +167,7 @@ main(int argc, char *argv[]) protover = P9PROTO_VERSION; server = P9P_SERVER_TCP; - while ((ch = getopt(argc, argv, "46co:p:su")) != -1) { + while ((ch = getopt(argc, argv, "46cCo:p:su")) != -1) { switch (ch) { case '4': family = AF_INET; @@ -183,6 +184,9 @@ main(int argc, char *argv[]) case 'c': server = P9P_SERVER_CDEV; break; + case 'C': + cachename = true; + break; case 'o': mp = getmntopts(optarg, puffsmopts, &mntflags, &pflags); if (mp == NULL) @@ -213,6 +217,9 @@ main(int argc, char *argv[]) detach = 0; pflags |= PUFFS_KFLAG_WTCACHE | PUFFS_KFLAG_IAONDEMAND; + if (!cachename) + pflags |= PUFFS_KFLAG_NOCACHE_NAME; + PUFFSOP_INIT(pops); PUFFSOP_SET(pops, puffs9p, fs, unmount);