Commit b37ad28b authored by Al Viro's avatar Al Viro Committed by Linus Torvalds

[PATCH] nfsd: nfs4 code returns error values in net-endian

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Acked-by: default avatarTrond Myklebust <trond.myklebust@fys.uio.no>
Acked-by: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 6264d69d
...@@ -67,10 +67,10 @@ fh_dup2(struct svc_fh *dst, struct svc_fh *src) ...@@ -67,10 +67,10 @@ fh_dup2(struct svc_fh *dst, struct svc_fh *src)
*dst = *src; *dst = *src;
} }
static int static __be32
do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open, int accmode) do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open, int accmode)
{ {
int status; __be32 status;
if (open->op_truncate && if (open->op_truncate &&
!(open->op_share_access & NFS4_SHARE_ACCESS_WRITE)) !(open->op_share_access & NFS4_SHARE_ACCESS_WRITE))
...@@ -88,11 +88,11 @@ do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfs ...@@ -88,11 +88,11 @@ do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfs
return status; return status;
} }
static int static __be32
do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open) do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open)
{ {
struct svc_fh resfh; struct svc_fh resfh;
int status; __be32 status;
fh_init(&resfh, NFS4_FHSIZE); fh_init(&resfh, NFS4_FHSIZE);
open->op_truncate = 0; open->op_truncate = 0;
...@@ -131,10 +131,10 @@ do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_o ...@@ -131,10 +131,10 @@ do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_o
return status; return status;
} }
static int static __be32
do_open_fhandle(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open) do_open_fhandle(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open)
{ {
int status; __be32 status;
/* Only reclaims from previously confirmed clients are valid */ /* Only reclaims from previously confirmed clients are valid */
if ((status = nfs4_check_open_reclaim(&open->op_clientid))) if ((status = nfs4_check_open_reclaim(&open->op_clientid)))
...@@ -161,10 +161,10 @@ do_open_fhandle(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_ ...@@ -161,10 +161,10 @@ do_open_fhandle(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_
} }
static inline int static inline __be32
nfsd4_open(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open, struct nfs4_stateowner **replay_owner) nfsd4_open(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open, struct nfs4_stateowner **replay_owner)
{ {
int status; __be32 status;
dprintk("NFSD: nfsd4_open filename %.*s op_stateowner %p\n", dprintk("NFSD: nfsd4_open filename %.*s op_stateowner %p\n",
(int)open->op_fname.len, open->op_fname.data, (int)open->op_fname.len, open->op_fname.data,
open->op_stateowner); open->op_stateowner);
...@@ -261,7 +261,7 @@ nfsd4_open(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open ...@@ -261,7 +261,7 @@ nfsd4_open(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open
/* /*
* filehandle-manipulating ops. * filehandle-manipulating ops.
*/ */
static inline int static inline __be32
nfsd4_getfh(struct svc_fh *current_fh, struct svc_fh **getfh) nfsd4_getfh(struct svc_fh *current_fh, struct svc_fh **getfh)
{ {
if (!current_fh->fh_dentry) if (!current_fh->fh_dentry)
...@@ -271,7 +271,7 @@ nfsd4_getfh(struct svc_fh *current_fh, struct svc_fh **getfh) ...@@ -271,7 +271,7 @@ nfsd4_getfh(struct svc_fh *current_fh, struct svc_fh **getfh)
return nfs_ok; return nfs_ok;
} }
static inline int static inline __be32
nfsd4_putfh(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_putfh *putfh) nfsd4_putfh(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_putfh *putfh)
{ {
fh_put(current_fh); fh_put(current_fh);
...@@ -280,10 +280,10 @@ nfsd4_putfh(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_putf ...@@ -280,10 +280,10 @@ nfsd4_putfh(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_putf
return fh_verify(rqstp, current_fh, 0, MAY_NOP); return fh_verify(rqstp, current_fh, 0, MAY_NOP);
} }
static inline int static inline __be32
nfsd4_putrootfh(struct svc_rqst *rqstp, struct svc_fh *current_fh) nfsd4_putrootfh(struct svc_rqst *rqstp, struct svc_fh *current_fh)
{ {
int status; __be32 status;
fh_put(current_fh); fh_put(current_fh);
status = exp_pseudoroot(rqstp->rq_client, current_fh, status = exp_pseudoroot(rqstp->rq_client, current_fh,
...@@ -291,7 +291,7 @@ nfsd4_putrootfh(struct svc_rqst *rqstp, struct svc_fh *current_fh) ...@@ -291,7 +291,7 @@ nfsd4_putrootfh(struct svc_rqst *rqstp, struct svc_fh *current_fh)
return status; return status;
} }
static inline int static inline __be32
nfsd4_restorefh(struct svc_fh *current_fh, struct svc_fh *save_fh) nfsd4_restorefh(struct svc_fh *current_fh, struct svc_fh *save_fh)
{ {
if (!save_fh->fh_dentry) if (!save_fh->fh_dentry)
...@@ -301,7 +301,7 @@ nfsd4_restorefh(struct svc_fh *current_fh, struct svc_fh *save_fh) ...@@ -301,7 +301,7 @@ nfsd4_restorefh(struct svc_fh *current_fh, struct svc_fh *save_fh)
return nfs_ok; return nfs_ok;
} }
static inline int static inline __be32
nfsd4_savefh(struct svc_fh *current_fh, struct svc_fh *save_fh) nfsd4_savefh(struct svc_fh *current_fh, struct svc_fh *save_fh)
{ {
if (!current_fh->fh_dentry) if (!current_fh->fh_dentry)
...@@ -314,7 +314,7 @@ nfsd4_savefh(struct svc_fh *current_fh, struct svc_fh *save_fh) ...@@ -314,7 +314,7 @@ nfsd4_savefh(struct svc_fh *current_fh, struct svc_fh *save_fh)
/* /*
* misc nfsv4 ops * misc nfsv4 ops
*/ */
static inline int static inline __be32
nfsd4_access(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_access *access) nfsd4_access(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_access *access)
{ {
if (access->ac_req_access & ~NFS3_ACCESS_FULL) if (access->ac_req_access & ~NFS3_ACCESS_FULL)
...@@ -324,10 +324,10 @@ nfsd4_access(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_acc ...@@ -324,10 +324,10 @@ nfsd4_access(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_acc
return nfsd_access(rqstp, current_fh, &access->ac_resp_access, &access->ac_supported); return nfsd_access(rqstp, current_fh, &access->ac_resp_access, &access->ac_supported);
} }
static inline int static inline __be32
nfsd4_commit(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_commit *commit) nfsd4_commit(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_commit *commit)
{ {
int status; __be32 status;
u32 *p = (u32 *)commit->co_verf.data; u32 *p = (u32 *)commit->co_verf.data;
*p++ = nfssvc_boot.tv_sec; *p++ = nfssvc_boot.tv_sec;
...@@ -339,11 +339,11 @@ nfsd4_commit(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_com ...@@ -339,11 +339,11 @@ nfsd4_commit(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_com
return status; return status;
} }
static int static __be32
nfsd4_create(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_create *create) nfsd4_create(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_create *create)
{ {
struct svc_fh resfh; struct svc_fh resfh;
int status; __be32 status;
dev_t rdev; dev_t rdev;
fh_init(&resfh, NFS4_FHSIZE); fh_init(&resfh, NFS4_FHSIZE);
...@@ -423,10 +423,10 @@ nfsd4_create(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_cre ...@@ -423,10 +423,10 @@ nfsd4_create(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_cre
return status; return status;
} }
static inline int static inline __be32
nfsd4_getattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_getattr *getattr) nfsd4_getattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_getattr *getattr)
{ {
int status; __be32 status;
status = fh_verify(rqstp, current_fh, 0, MAY_NOP); status = fh_verify(rqstp, current_fh, 0, MAY_NOP);
if (status) if (status)
...@@ -442,11 +442,11 @@ nfsd4_getattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_ge ...@@ -442,11 +442,11 @@ nfsd4_getattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_ge
return nfs_ok; return nfs_ok;
} }
static inline int static inline __be32
nfsd4_link(struct svc_rqst *rqstp, struct svc_fh *current_fh, nfsd4_link(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct svc_fh *save_fh, struct nfsd4_link *link) struct svc_fh *save_fh, struct nfsd4_link *link)
{ {
int status = nfserr_nofilehandle; __be32 status = nfserr_nofilehandle;
if (!save_fh->fh_dentry) if (!save_fh->fh_dentry)
return status; return status;
...@@ -456,11 +456,11 @@ nfsd4_link(struct svc_rqst *rqstp, struct svc_fh *current_fh, ...@@ -456,11 +456,11 @@ nfsd4_link(struct svc_rqst *rqstp, struct svc_fh *current_fh,
return status; return status;
} }
static int static __be32
nfsd4_lookupp(struct svc_rqst *rqstp, struct svc_fh *current_fh) nfsd4_lookupp(struct svc_rqst *rqstp, struct svc_fh *current_fh)
{ {
struct svc_fh tmp_fh; struct svc_fh tmp_fh;
int ret; __be32 ret;
fh_init(&tmp_fh, NFS4_FHSIZE); fh_init(&tmp_fh, NFS4_FHSIZE);
if((ret = exp_pseudoroot(rqstp->rq_client, &tmp_fh, if((ret = exp_pseudoroot(rqstp->rq_client, &tmp_fh,
...@@ -474,16 +474,16 @@ nfsd4_lookupp(struct svc_rqst *rqstp, struct svc_fh *current_fh) ...@@ -474,16 +474,16 @@ nfsd4_lookupp(struct svc_rqst *rqstp, struct svc_fh *current_fh)
return nfsd_lookup(rqstp, current_fh, "..", 2, current_fh); return nfsd_lookup(rqstp, current_fh, "..", 2, current_fh);
} }
static inline int static inline __be32
nfsd4_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lookup *lookup) nfsd4_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lookup *lookup)
{ {
return nfsd_lookup(rqstp, current_fh, lookup->lo_name, lookup->lo_len, current_fh); return nfsd_lookup(rqstp, current_fh, lookup->lo_name, lookup->lo_len, current_fh);
} }
static inline int static inline __be32
nfsd4_read(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_read *read) nfsd4_read(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_read *read)
{ {
int status; __be32 status;
/* no need to check permission - this will be done in nfsd_read() */ /* no need to check permission - this will be done in nfsd_read() */
...@@ -508,7 +508,7 @@ nfsd4_read(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_read ...@@ -508,7 +508,7 @@ nfsd4_read(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_read
return status; return status;
} }
static inline int static inline __be32
nfsd4_readdir(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_readdir *readdir) nfsd4_readdir(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_readdir *readdir)
{ {
u64 cookie = readdir->rd_cookie; u64 cookie = readdir->rd_cookie;
...@@ -531,7 +531,7 @@ nfsd4_readdir(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_re ...@@ -531,7 +531,7 @@ nfsd4_readdir(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_re
return nfs_ok; return nfs_ok;
} }
static inline int static inline __be32
nfsd4_readlink(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_readlink *readlink) nfsd4_readlink(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_readlink *readlink)
{ {
readlink->rl_rqstp = rqstp; readlink->rl_rqstp = rqstp;
...@@ -539,10 +539,10 @@ nfsd4_readlink(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_r ...@@ -539,10 +539,10 @@ nfsd4_readlink(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_r
return nfs_ok; return nfs_ok;
} }
static inline int static inline __be32
nfsd4_remove(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_remove *remove) nfsd4_remove(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_remove *remove)
{ {
int status; __be32 status;
if (nfs4_in_grace()) if (nfs4_in_grace())
return nfserr_grace; return nfserr_grace;
...@@ -556,11 +556,11 @@ nfsd4_remove(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_rem ...@@ -556,11 +556,11 @@ nfsd4_remove(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_rem
return status; return status;
} }
static inline int static inline __be32
nfsd4_rename(struct svc_rqst *rqstp, struct svc_fh *current_fh, nfsd4_rename(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct svc_fh *save_fh, struct nfsd4_rename *rename) struct svc_fh *save_fh, struct nfsd4_rename *rename)
{ {
int status = nfserr_nofilehandle; __be32 status = nfserr_nofilehandle;
if (!save_fh->fh_dentry) if (!save_fh->fh_dentry)
return status; return status;
...@@ -589,10 +589,10 @@ nfsd4_rename(struct svc_rqst *rqstp, struct svc_fh *current_fh, ...@@ -589,10 +589,10 @@ nfsd4_rename(struct svc_rqst *rqstp, struct svc_fh *current_fh,
return status; return status;
} }
static inline int static inline __be32
nfsd4_setattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_setattr *setattr) nfsd4_setattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_setattr *setattr)
{ {
int status = nfs_ok; __be32 status = nfs_ok;
if (setattr->sa_iattr.ia_valid & ATTR_SIZE) { if (setattr->sa_iattr.ia_valid & ATTR_SIZE) {
nfs4_lock_state(); nfs4_lock_state();
...@@ -614,13 +614,13 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_se ...@@ -614,13 +614,13 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_se
return status; return status;
} }
static inline int static inline __be32
nfsd4_write(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_write *write) nfsd4_write(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_write *write)
{ {
stateid_t *stateid = &write->wr_stateid; stateid_t *stateid = &write->wr_stateid;
struct file *filp = NULL; struct file *filp = NULL;
u32 *p; u32 *p;
int status = nfs_ok; __be32 status = nfs_ok;
/* no need to check permission - this will be done in nfsd_write() */ /* no need to check permission - this will be done in nfsd_write() */
...@@ -661,12 +661,12 @@ nfsd4_write(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_writ ...@@ -661,12 +661,12 @@ nfsd4_write(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_writ
* attributes matched. VERIFY is implemented by mapping NFSERR_SAME * attributes matched. VERIFY is implemented by mapping NFSERR_SAME
* to NFS_OK after the call; NVERIFY by mapping NFSERR_NOT_SAME to NFS_OK. * to NFS_OK after the call; NVERIFY by mapping NFSERR_NOT_SAME to NFS_OK.
*/ */
static int static __be32
nfsd4_verify(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_verify *verify) nfsd4_verify(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_verify *verify)
{ {
__be32 *buf, *p; __be32 *buf, *p;
int count; int count;
int status; __be32 status;
status = fh_verify(rqstp, current_fh, 0, MAY_NOP); status = fh_verify(rqstp, current_fh, 0, MAY_NOP);
if (status) if (status)
...@@ -741,7 +741,7 @@ nfsd4_proc_compound(struct svc_rqst *rqstp, ...@@ -741,7 +741,7 @@ nfsd4_proc_compound(struct svc_rqst *rqstp,
struct svc_fh *save_fh = NULL; struct svc_fh *save_fh = NULL;
struct nfs4_stateowner *replay_owner = NULL; struct nfs4_stateowner *replay_owner = NULL;
int slack_space; /* in words, not bytes! */ int slack_space; /* in words, not bytes! */
int status; __be32 status;
status = nfserr_resource; status = nfserr_resource;
current_fh = kmalloc(sizeof(*current_fh), GFP_KERNEL); current_fh = kmalloc(sizeof(*current_fh), GFP_KERNEL);
......
...@@ -83,13 +83,13 @@ md5_to_hex(char *out, char *md5) ...@@ -83,13 +83,13 @@ md5_to_hex(char *out, char *md5)
*out = '\0'; *out = '\0';
} }
int __be32
nfs4_make_rec_clidname(char *dname, struct xdr_netobj *clname) nfs4_make_rec_clidname(char *dname, struct xdr_netobj *clname)
{ {
struct xdr_netobj cksum; struct xdr_netobj cksum;
struct hash_desc desc; struct hash_desc desc;
struct scatterlist sg[1]; struct scatterlist sg[1];
int status = nfserr_resource; __be32 status = nfserr_resource;
dprintk("NFSD: nfs4_make_rec_clidname for %.*s\n", dprintk("NFSD: nfs4_make_rec_clidname for %.*s\n",
clname->len, clname->data); clname->len, clname->data);
...@@ -193,7 +193,7 @@ nfsd4_build_dentrylist(void *arg, const char *name, int namlen, ...@@ -193,7 +193,7 @@ nfsd4_build_dentrylist(void *arg, const char *name, int namlen,
struct dentry_list *child; struct dentry_list *child;
if (name && isdotent(name, namlen)) if (name && isdotent(name, namlen))
return nfs_ok; return 0;
dentry = lookup_one_len(name, parent, namlen); dentry = lookup_one_len(name, parent, namlen);
if (IS_ERR(dentry)) if (IS_ERR(dentry))
return PTR_ERR(dentry); return PTR_ERR(dentry);
...@@ -333,14 +333,14 @@ purge_old(struct dentry *parent, struct dentry *child) ...@@ -333,14 +333,14 @@ purge_old(struct dentry *parent, struct dentry *child)
int status; int status;
if (nfs4_has_reclaimed_state(child->d_name.name)) if (nfs4_has_reclaimed_state(child->d_name.name))
return nfs_ok; return 0;
status = nfsd4_clear_clid_dir(parent, child); status = nfsd4_clear_clid_dir(parent, child);
if (status) if (status)
printk("failed to remove client recovery directory %s\n", printk("failed to remove client recovery directory %s\n",
child->d_name.name); child->d_name.name);
/* Keep trying, success or failure: */ /* Keep trying, success or failure: */
return nfs_ok; return 0;
} }
void void
...@@ -365,10 +365,10 @@ load_recdir(struct dentry *parent, struct dentry *child) ...@@ -365,10 +365,10 @@ load_recdir(struct dentry *parent, struct dentry *child)
printk("nfsd4: illegal name %s in recovery directory\n", printk("nfsd4: illegal name %s in recovery directory\n",
child->d_name.name); child->d_name.name);
/* Keep trying; maybe the others are OK: */ /* Keep trying; maybe the others are OK: */
return nfs_ok; return 0;
} }
nfs4_client_to_reclaim(child->d_name.name); nfs4_client_to_reclaim(child->d_name.name);
return nfs_ok; return 0;
} }
int int
......
This diff is collapsed.
This diff is collapsed.
...@@ -164,7 +164,7 @@ update_stateid(stateid_t *stateid) ...@@ -164,7 +164,7 @@ update_stateid(stateid_t *stateid)
* is cached. * is cached.
*/ */
struct nfs4_replay { struct nfs4_replay {
u32 rp_status; __be32 rp_status;
unsigned int rp_buflen; unsigned int rp_buflen;
char *rp_buf; char *rp_buf;
unsigned intrp_allocated; unsigned intrp_allocated;
...@@ -273,19 +273,19 @@ struct nfs4_stateid { ...@@ -273,19 +273,19 @@ struct nfs4_stateid {
((err) != nfserr_stale_stateid) && \ ((err) != nfserr_stale_stateid) && \
((err) != nfserr_bad_stateid)) ((err) != nfserr_bad_stateid))
extern int nfsd4_renew(clientid_t *clid); extern __be32 nfsd4_renew(clientid_t *clid);
extern int nfs4_preprocess_stateid_op(struct svc_fh *current_fh, extern __be32 nfs4_preprocess_stateid_op(struct svc_fh *current_fh,
stateid_t *stateid, int flags, struct file **filp); stateid_t *stateid, int flags, struct file **filp);
extern void nfs4_lock_state(void); extern void nfs4_lock_state(void);
extern void nfs4_unlock_state(void); extern void nfs4_unlock_state(void);
extern int nfs4_in_grace(void); extern int nfs4_in_grace(void);
extern int nfs4_check_open_reclaim(clientid_t *clid); extern __be32 nfs4_check_open_reclaim(clientid_t *clid);
extern void put_nfs4_client(struct nfs4_client *clp); extern void put_nfs4_client(struct nfs4_client *clp);
extern void nfs4_free_stateowner(struct kref *kref); extern void nfs4_free_stateowner(struct kref *kref);
extern void nfsd4_probe_callback(struct nfs4_client *clp); extern void nfsd4_probe_callback(struct nfs4_client *clp);
extern void nfsd4_cb_recall(struct nfs4_delegation *dp); extern void nfsd4_cb_recall(struct nfs4_delegation *dp);
extern void nfs4_put_delegation(struct nfs4_delegation *dp); extern void nfs4_put_delegation(struct nfs4_delegation *dp);
extern int nfs4_make_rec_clidname(char *clidname, struct xdr_netobj *clname); extern __be32 nfs4_make_rec_clidname(char *clidname, struct xdr_netobj *clname);
extern void nfsd4_init_recdir(char *recdir_name); extern void nfsd4_init_recdir(char *recdir_name);
extern int nfsd4_recdir_load(void); extern int nfsd4_recdir_load(void);
extern void nfsd4_shutdown_recdir(void); extern void nfsd4_shutdown_recdir(void);
......
...@@ -334,7 +334,7 @@ struct nfsd4_write { ...@@ -334,7 +334,7 @@ struct nfsd4_write {
struct nfsd4_op { struct nfsd4_op {
int opnum; int opnum;
int status; __be32 status;
union { union {
struct nfsd4_access access; struct nfsd4_access access;
struct nfsd4_close close; struct nfsd4_close close;
...@@ -426,38 +426,38 @@ int nfs4svc_encode_compoundres(struct svc_rqst *, __be32 *, ...@@ -426,38 +426,38 @@ int nfs4svc_encode_compoundres(struct svc_rqst *, __be32 *,
struct nfsd4_compoundres *); struct nfsd4_compoundres *);
void nfsd4_encode_operation(struct nfsd4_compoundres *, struct nfsd4_op *); void nfsd4_encode_operation(struct nfsd4_compoundres *, struct nfsd4_op *);
void nfsd4_encode_replay(struct nfsd4_compoundres *resp, struct nfsd4_op *op); void nfsd4_encode_replay(struct nfsd4_compoundres *resp, struct nfsd4_op *op);
int nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp, __be32 nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp,
struct dentry *dentry, u32 *buffer, int *countp, struct dentry *dentry, __be32 *buffer, int *countp,
u32 *bmval, struct svc_rqst *); u32 *bmval, struct svc_rqst *);
extern int nfsd4_setclientid(struct svc_rqst *rqstp, extern __be32 nfsd4_setclientid(struct svc_rqst *rqstp,
struct nfsd4_setclientid *setclid); struct nfsd4_setclientid *setclid);
extern int nfsd4_setclientid_confirm(struct svc_rqst *rqstp, extern __be32 nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
struct nfsd4_setclientid_confirm *setclientid_confirm); struct nfsd4_setclientid_confirm *setclientid_confirm);
extern int nfsd4_process_open1(struct nfsd4_open *open); extern __be32 nfsd4_process_open1(struct nfsd4_open *open);
extern int nfsd4_process_open2(struct svc_rqst *rqstp, extern __be32 nfsd4_process_open2(struct svc_rqst *rqstp,
struct svc_fh *current_fh, struct nfsd4_open *open); struct svc_fh *current_fh, struct nfsd4_open *open);
extern int nfsd4_open_confirm(struct svc_rqst *rqstp, extern __be32 nfsd4_open_confirm(struct svc_rqst *rqstp,
struct svc_fh *current_fh, struct nfsd4_open_confirm *oc, struct svc_fh *current_fh, struct nfsd4_open_confirm *oc,
struct nfs4_stateowner **); struct nfs4_stateowner **);
extern int nfsd4_close(struct svc_rqst *rqstp, struct svc_fh *current_fh, extern __be32 nfsd4_close(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct nfsd4_close *close, struct nfsd4_close *close,
struct nfs4_stateowner **replay_owner); struct nfs4_stateowner **replay_owner);
extern int nfsd4_open_downgrade(struct svc_rqst *rqstp, extern __be32 nfsd4_open_downgrade(struct svc_rqst *rqstp,
struct svc_fh *current_fh, struct nfsd4_open_downgrade *od, struct svc_fh *current_fh, struct nfsd4_open_downgrade *od,
struct nfs4_stateowner **replay_owner); struct nfs4_stateowner **replay_owner);
extern int nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, extern __be32 nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct nfsd4_lock *lock, struct nfsd4_lock *lock,
struct nfs4_stateowner **replay_owner); struct nfs4_stateowner **replay_owner);
extern int nfsd4_lockt(struct svc_rqst *rqstp, struct svc_fh *current_fh, extern __be32 nfsd4_lockt(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct nfsd4_lockt *lockt); struct nfsd4_lockt *lockt);
extern int nfsd4_locku(struct svc_rqst *rqstp, struct svc_fh *current_fh, extern __be32 nfsd4_locku(struct svc_rqst *rqstp, struct svc_fh *current_fh,
struct nfsd4_locku *locku, struct nfsd4_locku *locku,
struct nfs4_stateowner **replay_owner); struct nfs4_stateowner **replay_owner);
extern int extern __be32
nfsd4_release_lockowner(struct svc_rqst *rqstp, nfsd4_release_lockowner(struct svc_rqst *rqstp,
struct nfsd4_release_lockowner *rlockowner); struct nfsd4_release_lockowner *rlockowner);
extern void nfsd4_release_compoundargs(struct nfsd4_compoundargs *); extern void nfsd4_release_compoundargs(struct nfsd4_compoundargs *);
extern int nfsd4_delegreturn(struct svc_rqst *rqstp, extern __be32 nfsd4_delegreturn(struct svc_rqst *rqstp,
struct svc_fh *current_fh, struct nfsd4_delegreturn *dr); struct svc_fh *current_fh, struct nfsd4_delegreturn *dr);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment