Print this page
2988 nfssrv: need ability to go to submounts for v3 and v2 protocols
Portions contributed by: Marcel Telka <marcel.telka@nexenta.com>
Portions contributed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Alek Pinchuk <alek.pinchuk@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>
Change-Id: I6fdf110cc17e789353c4442b83a46cb80643456e


2261 extern int      nfs3_getattr_otw(vnode_t *, struct vattr *, cred_t *);
2262 extern int      nfs3getattr(vnode_t *, struct vattr *, cred_t *);
2263 extern int      fattr3_to_vattr(vnode_t *, fattr3 *, struct vattr *);
2264 extern int      nfs3tsize(void);
2265 extern uint_t   nfs3_tsize(struct knetconfig *);
2266 extern uint_t   rfs3_tsize(struct svc_req *);
2267 extern int      vattr_to_sattr3(struct vattr *, sattr3 *);
2268 extern void     setdiropargs3(diropargs3 *, char *, vnode_t *);
2269 extern enum nfsstat3 puterrno3(int);
2270 extern int      geterrno3(enum nfsstat3);
2271 extern int      nfs3init(int, char *);
2272 extern void     nfs3fini(void);
2273 extern int      nfs3_vfsinit(void);
2274 extern void     nfs3_vfsfini(void);
2275 extern void     vattr_to_post_op_attr(struct vattr *, post_op_attr *);
2276 extern void     mblk_to_iov(mblk_t *, int, struct iovec *);
2277 extern int      rfs_publicfh_mclookup(char *, vnode_t *, cred_t *, vnode_t **,
2278     struct exportinfo **, struct sec_ol *);
2279 extern int      rfs_pathname(char *, vnode_t **, vnode_t **, vnode_t *,
2280     cred_t *, int);


2281 
2282 extern vtype_t          nf3_to_vt[];
2283 extern kstat_named_t    *rfsproccnt_v3_ptr;
2284 extern vfsops_t         *nfs3_vfsops;
2285 extern struct vnodeops  *nfs3_vnodeops;
2286 extern const struct fs_operation_def nfs3_vnodeops_template[];
2287 
2288 /*
2289  * Some servers do not properly update the attributes of the
2290  * directory when changes are made.  To allow interoperability
2291  * with these broken servers, the nfs_disable_rddir_cache
2292  * parameter can be used to disable readdir response caching.
2293  */
2294 extern int              nfs_disable_rddir_cache;
2295 
2296 /*
2297  * External functions called by the v2/v3 code into the v4 code
2298  */
2299 extern void     nfs4_clnt_init(void);
2300 extern void     nfs4_clnt_fini(void);




2261 extern int      nfs3_getattr_otw(vnode_t *, struct vattr *, cred_t *);
2262 extern int      nfs3getattr(vnode_t *, struct vattr *, cred_t *);
2263 extern int      fattr3_to_vattr(vnode_t *, fattr3 *, struct vattr *);
2264 extern int      nfs3tsize(void);
2265 extern uint_t   nfs3_tsize(struct knetconfig *);
2266 extern uint_t   rfs3_tsize(struct svc_req *);
2267 extern int      vattr_to_sattr3(struct vattr *, sattr3 *);
2268 extern void     setdiropargs3(diropargs3 *, char *, vnode_t *);
2269 extern enum nfsstat3 puterrno3(int);
2270 extern int      geterrno3(enum nfsstat3);
2271 extern int      nfs3init(int, char *);
2272 extern void     nfs3fini(void);
2273 extern int      nfs3_vfsinit(void);
2274 extern void     nfs3_vfsfini(void);
2275 extern void     vattr_to_post_op_attr(struct vattr *, post_op_attr *);
2276 extern void     mblk_to_iov(mblk_t *, int, struct iovec *);
2277 extern int      rfs_publicfh_mclookup(char *, vnode_t *, cred_t *, vnode_t **,
2278     struct exportinfo **, struct sec_ol *);
2279 extern int      rfs_pathname(char *, vnode_t **, vnode_t **, vnode_t *,
2280     cred_t *, int);
2281 extern int      rfs_cross_mnt(vnode_t **, struct exportinfo **);
2282 extern int      rfs_climb_crossmnt(vnode_t **, struct exportinfo **, cred_t *);
2283 
2284 extern vtype_t          nf3_to_vt[];
2285 extern kstat_named_t    *rfsproccnt_v3_ptr;
2286 extern vfsops_t         *nfs3_vfsops;
2287 extern struct vnodeops  *nfs3_vnodeops;
2288 extern const struct fs_operation_def nfs3_vnodeops_template[];
2289 
2290 /*
2291  * Some servers do not properly update the attributes of the
2292  * directory when changes are made.  To allow interoperability
2293  * with these broken servers, the nfs_disable_rddir_cache
2294  * parameter can be used to disable readdir response caching.
2295  */
2296 extern int              nfs_disable_rddir_cache;
2297 
2298 /*
2299  * External functions called by the v2/v3 code into the v4 code
2300  */
2301 extern void     nfs4_clnt_init(void);
2302 extern void     nfs4_clnt_fini(void);