summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-07-31 19:24:44 +0000
committerkib <kib@FreeBSD.org>2014-07-31 19:24:44 +0000
commitb8112840fb7f996ebf4cb69002bbd4bc5d4d901b (patch)
tree90ac213f26d889be210d1c4350a6ea8e49638343
parent37ce71f3e92aefea56a7963f9d0d18440b730670 (diff)
downloadFreeBSD-src-b8112840fb7f996ebf4cb69002bbd4bc5d4d901b.zip
FreeBSD-src-b8112840fb7f996ebf4cb69002bbd4bc5d4d901b.tar.gz
Do not generate 1000 unique lock names for nfsrc hash chain locks.
It overflows witness. Shorten the names of some nfs mutexes. Reported and tested by: pho No objections from: rmacklem, mav Sponsored by: The FreeBSD Foundation MFC after: 1 week
-rw-r--r--sys/fs/nfs/nfsrvcache.h1
-rw-r--r--sys/fs/nfsserver/nfs_nfsdport.c23
2 files changed, 8 insertions, 16 deletions
diff --git a/sys/fs/nfs/nfsrvcache.h b/sys/fs/nfs/nfsrvcache.h
index 7db3035..119a68d 100644
--- a/sys/fs/nfs/nfsrvcache.h
+++ b/sys/fs/nfs/nfsrvcache.h
@@ -116,7 +116,6 @@ LIST_HEAD(nfsrvhashhead, nfsrvcache);
/* The fine-grained locked cache hash table for TCP. */
struct nfsrchash_bucket {
struct mtx mtx;
- char lock_name[16];
struct nfsrvhashhead tbl;
};
diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c
index c7d7229..1973c14 100644
--- a/sys/fs/nfsserver/nfs_nfsdport.c
+++ b/sys/fs/nfsserver/nfs_nfsdport.c
@@ -3321,23 +3321,16 @@ nfsd_modevent(module_t mod, int type, void *data)
goto out;
newnfs_portinit();
for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) {
- snprintf(nfsrchash_table[i].lock_name,
- sizeof(nfsrchash_table[i].lock_name), "nfsrc_tcp%d",
- i);
- mtx_init(&nfsrchash_table[i].mtx,
- nfsrchash_table[i].lock_name, NULL, MTX_DEF);
- snprintf(nfsrcahash_table[i].lock_name,
- sizeof(nfsrcahash_table[i].lock_name), "nfsrc_tcpa%d",
- i);
- mtx_init(&nfsrcahash_table[i].mtx,
- nfsrcahash_table[i].lock_name, NULL, MTX_DEF);
+ mtx_init(&nfsrchash_table[i].mtx, "nfsrtc", NULL,
+ MTX_DEF);
+ mtx_init(&nfsrcahash_table[i].mtx, "nfsrtca", NULL,
+ MTX_DEF);
}
- mtx_init(&nfsrc_udpmtx, "nfs_udpcache_mutex", NULL, MTX_DEF);
- mtx_init(&nfs_v4root_mutex, "nfs_v4root_mutex", NULL, MTX_DEF);
- mtx_init(&nfsv4root_mnt.mnt_mtx, "struct mount mtx", NULL,
- MTX_DEF);
+ mtx_init(&nfsrc_udpmtx, "nfsuc", NULL, MTX_DEF);
+ mtx_init(&nfs_v4root_mutex, "nfs4rt", NULL, MTX_DEF);
+ mtx_init(&nfsv4root_mnt.mnt_mtx, "nfs4mnt", NULL, MTX_DEF);
for (i = 0; i < NFSSESSIONHASHSIZE; i++)
- mtx_init(&nfssessionhash[i].mtx, "nfs_session_mutex",
+ mtx_init(&nfssessionhash[i].mtx, "nfssm",
NULL, MTX_DEF);
lockinit(&nfsv4root_mnt.mnt_explock, PVFS, "explock", 0, 0);
nfsrvd_initcache();
OpenPOWER on IntegriCloud