svc_fh
struct svc_fh;
nfsd4_block_map_extent(struct inode *inode, const struct svc_fh *fhp,
const struct svc_fh *fhp, struct nfsd4_layoutget *args)
struct svc_fh fh;
exp_pseudoroot(struct svc_rqst *rqstp, struct svc_fh *fhp)
__be32 exp_pseudoroot(struct svc_rqst *, struct svc_fh *);
struct svc_fh;
nfsd_file_get_dio_attrs(const struct svc_fh *fhp, struct nfsd_file *nf)
struct svc_fh *fhp,
nfsd_file_acquire_gc(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_file_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct auth_domain *client, struct svc_fh *fhp,
nfsd_file_acquire_opened(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_file_acquire_dir(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_file_acquire_gc(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_file_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_file_acquire_opened(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct auth_domain *client, struct svc_fh *fhp,
__be32 nfsd_file_acquire_dir(struct svc_rqst *rqstp, struct svc_fh *fhp,
const struct svc_fh *fhp, struct nfsd4_layoutget *args)
struct svc_fh fh;
struct svc_fh fh;
svc_fh *fh;
svc_fh *fh;
svc_fh *fh;
svc_fh *fh;
nfsd3_create_file(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct svc_fh *resfhp, struct nfsd3_createargs *argp)
svc_fh *dirfhp, *newfhp;
struct svc_fh *fhp = &resp->scratch;
svcxdr_encode_nfs_fh3(struct xdr_stream *xdr, const struct svc_fh *fhp)
svcxdr_encode_post_op_fh3(struct xdr_stream *xdr, const struct svc_fh *fhp)
static const struct svc_fh nfs3svc_null_fh = {
svcxdr_decode_diropargs3(struct xdr_stream *xdr, struct svc_fh *fhp,
const struct svc_fh *fhp, const struct kstat *stat)
svcxdr_encode_wcc_attr(struct xdr_stream *xdr, const struct svc_fh *fhp)
svcxdr_encode_pre_op_attr(struct xdr_stream *xdr, const struct svc_fh *fhp)
const struct svc_fh *fhp)
const struct svc_fh *fhp)
svcxdr_decode_nfs_fh3(struct xdr_stream *xdr, struct svc_fh *fhp)
compose_entry_fh(struct nfsd3_readdirres *cd, struct svc_fh *fhp,
nfsd4_set_deviceid(struct nfsd4_deviceid *id, const struct svc_fh *fhp,
nfsd4_alloc_devid_map(const struct svc_fh *fhp)
fh_dup2(struct svc_fh *dst, struct svc_fh *src)
do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open, int accmode)
static __be32 nfsd_check_obj_isreg(struct svc_fh *fh, u32 minor_version)
struct svc_fh *s_fh = NULL;
static void nfsd4_set_open_owner_reply_cache(struct nfsd4_compound_state *cstate, struct nfsd4_open *open, struct svc_fh *resfh)
nfsd4_vfs_create(struct svc_fh *fhp, struct dentry **child,
nfsd4_create_file(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct svc_fh *resfhp, struct nfsd4_open *open)
struct svc_fh *current_fh = &cstate->current_fh;
struct svc_fh *current_fh = &cstate->current_fh;
struct svc_fh *current_fh = &cstate->current_fh;
struct svc_fh *current_fh = &cstate->current_fh;
struct svc_fh *save_fh = &cstate->save_fh;
set_change_info(struct nfsd4_change_info *cinfo, struct svc_fh *fhp)
do_open_lookup(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_open *open, struct svc_fh **resfh)
struct svc_fh *current_fh = &cstate->current_fh;
*resfh = kmalloc_obj(struct svc_fh);
struct svc_fh *current_fh = &cstate->current_fh;
struct svc_fh *resfh = NULL;
struct svc_fh resfh;
static __be32 nfsd4_do_lookupp(struct svc_rqst *rqstp, struct svc_fh *fh)
struct svc_fh tmp_fh;
static void nfsd4_file_init(const struct svc_fh *fh, struct nfs4_file *fp)
nfsd4_file_hash_lookup(const struct svc_fh *fhp)
nfsd4_file_hash_insert(struct nfs4_file *new, const struct svc_fh *fhp)
nfs4_share_conflict(struct svc_fh *current_fh, unsigned int deny_type)
nfsd4_truncate(struct svc_rqst *rqstp, struct svc_fh *fh,
struct svc_fh *cur_fh, struct nfs4_ol_stateid *stp,
struct svc_fh *cur_fh, struct nfs4_ol_stateid *stp,
struct svc_fh *parent)
struct svc_fh *parent)
nfs4_delegation_stat(struct nfs4_delegation *dp, struct svc_fh *currentfh,
struct svc_fh *fh, struct nfs4_ol_stateid *stp)
struct nfs4_ol_stateid *stp, struct svc_fh *currentfh,
struct svc_fh *fh)
struct svc_fh *parent = NULL;
nfsd4_process_open2(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open)
static inline __be32 nfs4_check_fh(struct svc_fh *fhp, struct nfs4_stid *stp)
check_special_stateids(struct net *net, svc_fh *current_fh, stateid_t *stateid, int flags)
nfs4_check_file(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfs4_stid *s,
struct nfsd4_compound_state *cstate, struct svc_fh *fhp,
struct svc_fh *current_fh = &cstate->current_fh;
static __be32 nfsd_test_lock(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file_lock *lock)
struct svc_fh *fhp;
struct svc_fh *fhp, struct svc_export *exp,
struct svc_fh *tempfh = NULL;
tempfh = kmalloc_obj(struct svc_fh);
struct svc_fh *fhp, struct svc_export *exp,
struct svc_fh *fhp = getattr->ga_fhp;
struct svc_fh *fhp = u->getfh;
struct svc_fh *fhp)
struct svc_fh *fhp, umode_t type, int access)
struct auth_domain *client, struct svc_fh *fhp,
fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type, int access)
static void _fh_update(struct svc_fh *fhp, struct svc_export *exp,
static void set_version_and_fsid_type(struct svc_fh *fhp, struct svc_export *exp, struct svc_fh *ref_fh)
fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry,
struct svc_fh *ref_fh)
fh_update(struct svc_fh *fhp)
__be32 fh_getattr(const struct svc_fh *fhp, struct kstat *stat)
__be32 __must_check fh_fill_pre_attrs(struct svc_fh *fhp)
__be32 fh_fill_post_attrs(struct svc_fh *fhp)
__be32 __must_check fh_fill_both_attrs(struct svc_fh *fhp)
fh_put(struct svc_fh *fhp)
char * SVCFH_fmt(struct svc_fh *fhp)
enum fsid_source fsid_source(const struct svc_fh *fhp)
extern enum fsid_source fsid_source(const struct svc_fh *fhp);
extern char * SVCFH_fmt(struct svc_fh *fhp);
__be32 fh_verify(struct svc_rqst *, struct svc_fh *, umode_t, int);
struct svc_fh *, umode_t, int);
__be32 fh_getattr(const struct svc_fh *fhp, struct kstat *stat);
__be32 fh_compose(struct svc_fh *, struct svc_export *, struct dentry *, struct svc_fh *);
__be32 fh_update(struct svc_fh *);
void fh_put(struct svc_fh *);
static __inline__ struct svc_fh *
fh_copy(struct svc_fh *dst, const struct svc_fh *src)
static __inline__ struct svc_fh *
fh_init(struct svc_fh *fhp, int maxsize)
static inline int fh_want_write(struct svc_fh *fhp)
static inline void fh_drop_write(struct svc_fh *fhp)
static inline void fh_clear_pre_post_attrs(struct svc_fh *fhp)
__be32 __must_check fh_fill_pre_attrs(struct svc_fh *fhp);
__be32 fh_fill_post_attrs(struct svc_fh *fhp);
__be32 __must_check fh_fill_both_attrs(struct svc_fh *fhp);
svc_fh *dirfhp = &argp->fh;
svc_fh *newfhp = &resp->fh;
struct svc_fh newfh;
struct svc_fh *fhp;
svcxdr_decode_diropargs(struct xdr_stream *xdr, struct svc_fh *fhp,
const struct svc_fh *fhp, const struct kstat *stat)
svcxdr_decode_fhandle(struct xdr_stream *xdr, struct svc_fh *fhp)
svcxdr_encode_fhandle(struct xdr_stream *xdr, const struct svc_fh *fhp)
const struct svc_fh *fhp, struct nfsd4_layoutget *lgp);
int nfsd4_set_deviceid(struct nfsd4_deviceid *id, const struct svc_fh *fhp,
struct nfsd4_compound_state *cstate, struct svc_fh *fhp,
const struct svc_fh *fhp,
const struct svc_fh *fhp,
const struct svc_fh *fhp,
const struct svc_fh *fhp,
const struct svc_fh *sfhp,
const struct svc_fh *tfhp,
const struct svc_fh *fhp,
const struct svc_fh *sfhp,
const struct svc_fh *tfhp,
const struct svc_fh *fhp,
const struct svc_fh *fhp
const struct svc_fh *fhp,
const struct svc_fh *fhp \
const struct svc_fh *fhp,
struct svc_fh *fhp,
struct svc_fh *fhp, \
struct svc_fh *fhp,
struct svc_fh *fhp, \
struct svc_fh *fhp,
struct svc_fh *fhp, \
TP_PROTO(struct svc_fh *fhp,
struct svc_fh *src_fhp,
struct svc_fh *dst_fhp,
struct svc_fh *src_fhp, \
struct svc_fh *dst_fhp, \
static __be32 nfsd_finish_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_splice_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_direct_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_iter_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_direct_write(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset,
nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfsd_file *nf,
nfsd_create_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct svc_fh *resfhp, struct nfsd_attrs *attrs)
nfsd_create_locked(struct svc_rqst *rqstp, struct svc_fh *fhp,
int type, dev_t rdev, struct svc_fh *resfhp)
nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp,
int type, dev_t rdev, struct svc_fh *resfhp)
nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp)
nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct svc_fh *resfhp)
nfsd_link(struct svc_rqst *rqstp, struct svc_fh *ffhp,
char *name, int len, struct svc_fh *tfhp)
nfsd_rename(struct svc_rqst *rqstp, struct svc_fh *ffhp, char *fname, int flen,
struct svc_fh *tfhp, char *tname, int tlen)
nfsd_unlink(struct svc_rqst *rqstp, struct svc_fh *fhp, int type,
static __be32 nfsd_buffered_readdir(struct file *file, struct svc_fh *fhp,
nfsd_lookup_dentry(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_readdir(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t *offsetp,
nfsd_statfs(struct svc_rqst *rqstp, struct svc_fh *fhp, struct kstatfs *stat, int access)
nfsd_getxattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char *name,
nfsd_listxattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char **bufp,
nfsd_removexattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char *name)
nfsd_setxattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char *name,
nfsd_lookup(struct svc_rqst *rqstp, struct svc_fh *fhp, const char *name,
unsigned int len, struct svc_fh *resfh)
commit_metadata(struct svc_fh *fhp)
nfsd_get_write_access(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd4_vfs_fallocate(struct svc_rqst *rqstp, struct svc_fh *fhp,
nfsd_access(struct svc_rqst *rqstp, struct svc_fh *fhp, u32 *access, u32 *supported)
__nfsd_open(struct svc_fh *fhp, umode_t type, int may_flags, struct file **filp)
nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
nfsd_open_verified(struct svc_fh *fhp, umode_t type, int may_flags, struct file **filp)
__be32 nfsd_access(struct svc_rqst *, struct svc_fh *, u32 *, u32 *);
__be32 nfsd_create_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct svc_fh *resfhp, struct nfsd_attrs *iap);
__be32 nfsd_commit(struct svc_rqst *rqst, struct svc_fh *fhp,
__be32 nfsd_getxattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_listxattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_removexattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_setxattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_open(struct svc_rqst *, struct svc_fh *, umode_t,
int nfsd_open_verified(struct svc_fh *fhp, umode_t type, int may_flags,
__be32 nfsd_splice_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_iter_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp,
__be32 nfsd_readlink(struct svc_rqst *, struct svc_fh *,
__be32 nfsd_symlink(struct svc_rqst *, struct svc_fh *,
struct svc_fh *res);
__be32 nfsd_link(struct svc_rqst *, struct svc_fh *,
char *, int, struct svc_fh *);
struct svc_fh *, char *, int,
struct svc_fh *, char *, int);
__be32 nfsd_unlink(struct svc_rqst *, struct svc_fh *, int type,
__be32 nfsd_readdir(struct svc_rqst *, struct svc_fh *,
__be32 nfsd_statfs(struct svc_rqst *, struct svc_fh *,
__be32 nfsd_lookup(struct svc_rqst *, struct svc_fh *,
const char *, unsigned int, struct svc_fh *);
__be32 nfsd_lookup_dentry(struct svc_rqst *, struct svc_fh *,
__be32 nfsd_setattr(struct svc_rqst *, struct svc_fh *,
__be32 nfsd4_vfs_fallocate(struct svc_rqst *, struct svc_fh *,
__be32 nfsd_create_locked(struct svc_rqst *, struct svc_fh *,
struct svc_fh *res);
__be32 nfsd_create(struct svc_rqst *, struct svc_fh *,
int type, dev_t rdev, struct svc_fh *res);
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
bool svcxdr_decode_fhandle(struct xdr_stream *xdr, struct svc_fh *fhp);
const struct svc_fh *fhp, const struct kstat *stat);
struct svc_fh fh;
struct svc_fh fh;
svc_fh fh;
struct svc_fh fh;
struct svc_fh ffh;
struct svc_fh tfh;
struct svc_fh ffh;
struct svc_fh tfh;
struct svc_fh ffh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh dirfh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh ffh;
struct svc_fh tfh;
struct svc_fh tfh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh scratch;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh fh1;
struct svc_fh fh2;
struct svc_fh fh;
bool svcxdr_decode_nfs_fh3(struct xdr_stream *xdr, struct svc_fh *fhp);
const struct svc_fh *fhp);
struct svc_fh fh;
svc_fh fh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh ffh;
struct svc_fh tfh;
struct svc_fh ffh;
struct svc_fh tfh;
struct svc_fh ffh;
struct svc_fh fh;
struct svc_fh fh;
struct svc_fh current_fh;
struct svc_fh save_fh;
struct svc_fh *ga_fhp; /* response */
struct svc_fh *rd_fhp; /* response */
struct svc_fh * rd_fhp; /* response */
struct svc_fh * rl_fhp; /* request */
struct svc_fh * getfh;
struct svc_fh *fhp, struct svc_export *exp,
struct svc_fh *current_fh, struct nfsd4_open *open);