diff options
| author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2018-07-19 12:19:30 +0000 |
|---|---|---|
| committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2018-07-19 12:19:30 +0000 |
| commit | 75910928a4d405b3b465aa64cec1c6ba9eab8513 (patch) | |
| tree | c5298dd94ed2665563f3893dccb058a3dc11c406 /usr/src/uts/common/nfs | |
| parent | db2cbbce01c8ea53b138c42594279a7645ac574a (diff) | |
| parent | e010bda94b034e413b6fe35fd45bca0afaf1a0df (diff) | |
| download | illumos-joyent-75910928a4d405b3b465aa64cec1c6ba9eab8513.tar.gz | |
[illumos-gate merge]
commit e010bda94b034e413b6fe35fd45bca0afaf1a0df
9447 NFS unmount is slow
commit 5882b622b7e2afa5385d4601dd82f81066f62d67
9660 loader: fix typos in libefi/env.c
commit da8e407363328f2eb8ec9dc3b7a276f2b5606179
9662 fpu alignment pragmas broken on newer gcc
commit d66a72cfe0bf6d9ab9725f0d0cb1f38dbcc0ac49
9615 loader: cstyle fixes for some common files
Diffstat (limited to 'usr/src/uts/common/nfs')
| -rw-r--r-- | usr/src/uts/common/nfs/nfs4_clnt.h | 5 | ||||
| -rw-r--r-- | usr/src/uts/common/nfs/nfs_clnt.h | 5 | ||||
| -rw-r--r-- | usr/src/uts/common/nfs/rnode.h | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/nfs/rnode4.h | 8 |
4 files changed, 14 insertions, 6 deletions
diff --git a/usr/src/uts/common/nfs/nfs4_clnt.h b/usr/src/uts/common/nfs/nfs4_clnt.h index 8f8cb7d78e..68c810f7c7 100644 --- a/usr/src/uts/common/nfs/nfs4_clnt.h +++ b/usr/src/uts/common/nfs/nfs4_clnt.h @@ -1099,6 +1099,11 @@ typedef struct mntinfo4 { * Referral related info. */ int mi_vfs_referral_loop_cnt; + /* + * List of rnode4_t structures that belongs to this mntinfo4 + */ + kmutex_t mi_rnodes_lock; /* protects the mi_rnodes list */ + list_t mi_rnodes; /* the list */ } mntinfo4_t; /* diff --git a/usr/src/uts/common/nfs/nfs_clnt.h b/usr/src/uts/common/nfs/nfs_clnt.h index ae2948ed12..391640c14c 100644 --- a/usr/src/uts/common/nfs/nfs_clnt.h +++ b/usr/src/uts/common/nfs/nfs_clnt.h @@ -428,6 +428,11 @@ typedef struct mntinfo { * before acquiring any other rnode lock. */ kmutex_t mi_remap_lock; + /* + * List of rnode_t structures that belongs to this mntinfo + */ + kmutex_t mi_rnodes_lock; /* protects the mi_rnodes list */ + list_t mi_rnodes; /* the list */ } mntinfo_t; #endif /* _KERNEL */ diff --git a/usr/src/uts/common/nfs/rnode.h b/usr/src/uts/common/nfs/rnode.h index 33091445c4..a9433b9496 100644 --- a/usr/src/uts/common/nfs/rnode.h +++ b/usr/src/uts/common/nfs/rnode.h @@ -303,6 +303,8 @@ typedef struct rnode { kthread_t *r_serial; /* id of purging thread */ list_t r_indelmap; /* list of delmap callers */ uint_t r_inmap; /* to serialize read/write and mmap */ + list_node_t r_mi_link; /* linkage into list of rnodes for */ + /* this mntinfo */ } rnode_t; #endif /* _KERNEL */ diff --git a/usr/src/uts/common/nfs/rnode4.h b/usr/src/uts/common/nfs/rnode4.h index 0e0090e24d..ca2e38c8e8 100644 --- a/usr/src/uts/common/nfs/rnode4.h +++ b/usr/src/uts/common/nfs/rnode4.h @@ -336,6 +336,8 @@ typedef struct rnode4 { nfs4_stub_type_t r_stub_type; /* e.g. mirror-mount or referral */ uint_t r_inmap; /* to serialize read/write and mmap */ + list_node_t r_mi_link; /* linkage into list of rnodes for */ + /* this mntinfo */ } rnode4_t; #define r_vnode r_svnode.sv_r_vnode @@ -393,12 +395,6 @@ extern long nrnode; #define NFS4_INITIAL_DELAY_INTERVAL 1 #define NFS4_MAX_DELAY_INTERVAL 20 -/* Used for check_rtable4 */ -#define NFSV4_RTABLE4_OK 0 -#define NFSV4_RTABLE4_NOT_FREE_LIST 1 -#define NFSV4_RTABLE4_DIRTY_PAGES 2 -#define NFSV4_RTABLE4_POS_R_COUNT 3 - extern rnode4_t *r4find(r4hashq_t *, nfs4_sharedfh_t *, struct vfs *); extern rnode4_t *r4find_unlocked(nfs4_sharedfh_t *, struct vfs *); extern void r4flush(struct vfs *, cred_t *); |
