diff options
author | Robert Thurlow <Robert.Thurlow@Sun.COM> | 2009-12-09 17:27:22 -0600 |
---|---|---|
committer | Robert Thurlow <Robert.Thurlow@Sun.COM> | 2009-12-09 17:27:22 -0600 |
commit | 2f172c55ef76964744bc62b4500ece87f3089b4d (patch) | |
tree | 68a197e4eb4d77acf9993e2e3d75c3f3b06f6a86 /usr/src/uts/common/nfs/rnode4.h | |
parent | 1dbbbf767041f5cea7771826e2efc21c03bbffda (diff) | |
download | illumos-gate-2f172c55ef76964744bc62b4500ece87f3089b4d.tar.gz |
6232737 Client should support NFS4ERR_MOVED and fs_locations
6232743 Server should support NFS4ERR_MOVED and fs_locations
6891289 client panick mutex_vector_tryenter with some stress testing
Diffstat (limited to 'usr/src/uts/common/nfs/rnode4.h')
-rw-r--r-- | usr/src/uts/common/nfs/rnode4.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr/src/uts/common/nfs/rnode4.h b/usr/src/uts/common/nfs/rnode4.h index a8d6c5ac71..61ea044ca5 100644 --- a/usr/src/uts/common/nfs/rnode4.h +++ b/usr/src/uts/common/nfs/rnode4.h @@ -41,7 +41,8 @@ extern "C" { typedef enum nfs4_stub_type { NFS4_STUB_NONE, - NFS4_STUB_MIRRORMOUNT + NFS4_STUB_MIRRORMOUNT, + NFS4_STUB_REFERRAL } nfs4_stub_type_t; typedef enum nfs4_access_type { @@ -333,7 +334,7 @@ typedef struct rnode4 { /* sv_fsid (servinfo4_t) to see why */ /* stub type was set */ nfs4_stub_type_t r_stub_type; - /* e.g. mirror-mount */ + /* e.g. mirror-mount or referral */ uint_t r_inmap; /* to serialize read/write and mmap */ } rnode4_t; @@ -371,6 +372,7 @@ typedef struct rnode4 { #define RP_ISSTUB(rp) (((rp)->r_stub_type != NFS4_STUB_NONE)) #define RP_ISSTUB_MIRRORMOUNT(rp) ((rp)->r_stub_type == NFS4_STUB_MIRRORMOUNT) +#define RP_ISSTUB_REFERRAL(rp) ((rp)->r_stub_type == NFS4_STUB_REFERRAL) /* * Open file instances. @@ -415,6 +417,7 @@ extern vnode_t *makenfs4node_by_fh(nfs4_sharedfh_t *, nfs4_sharedfh_t *, extern nfs4_opinst_t *r4mkopenlist(struct mntinfo4 *); extern void r4releopenlist(nfs4_opinst_t *); +extern int r4find_by_fsid(mntinfo4_t *, fattr4_fsid *); /* Access cache calls */ extern nfs4_access_type_t nfs4_access_check(rnode4_t *, uint32_t, cred_t *); @@ -499,6 +502,7 @@ extern rddir4_cache *rddir4_cache_lookup(rnode4_t *, offset_t, int); extern void rddir4_cache_rele(rnode4_t *, rddir4_cache *); extern void r4_stub_mirrormount(rnode4_t *); +extern void r4_stub_referral(rnode4_t *); extern void r4_stub_none(rnode4_t *); #ifdef DEBUG |