Loading fs/nfs/nfs4xdr.c +32 −129 Original line number Original line Diff line number Diff line Loading @@ -935,6 +935,15 @@ static void encode_compound_hdr(struct xdr_stream *xdr, *p = cpu_to_be32(hdr->nops); *p = cpu_to_be32(hdr->nops); } } static void encode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 op, uint32_t replen, struct compound_hdr *hdr) { encode_uint32(xdr, op); hdr->nops++; hdr->replen += replen; } static void encode_nops(struct compound_hdr *hdr) static void encode_nops(struct compound_hdr *hdr) { { BUG_ON(hdr->nops > NFS4_MAX_OPS); BUG_ON(hdr->nops > NFS4_MAX_OPS); Loading Loading @@ -1086,14 +1095,9 @@ static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hd static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_CLOSE, decode_close_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_CLOSE); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_stateid(xdr, arg->stateid); hdr->nops++; hdr->replen += decode_close_maxsz; } } static void encode_commit(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr) static void encode_commit(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr) Loading Loading @@ -1172,8 +1176,7 @@ encode_getattr_three(struct xdr_stream *xdr, { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); *p = cpu_to_be32(OP_GETATTR); if (bm2) { if (bm2) { p = reserve_space(xdr, 16); p = reserve_space(xdr, 16); *p++ = cpu_to_be32(3); *p++ = cpu_to_be32(3); Loading @@ -1190,8 +1193,6 @@ encode_getattr_three(struct xdr_stream *xdr, *p++ = cpu_to_be32(1); *p++ = cpu_to_be32(1); *p = cpu_to_be32(bm0); *p = cpu_to_be32(bm0); } } hdr->nops++; hdr->replen += decode_getattr_maxsz; } } static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) Loading @@ -1217,23 +1218,13 @@ static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, stru static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_GETFH, decode_getfh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_GETFH); hdr->nops++; hdr->replen += decode_getfh_maxsz; } } static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_LINK, decode_link_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_LINK); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_link_maxsz; } } static inline int nfs4_lock_type(struct file_lock *fl, int block) static inline int nfs4_lock_type(struct file_lock *fl, int block) Loading Loading @@ -1323,24 +1314,14 @@ static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *ar static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struct compound_hdr *hdr) static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_RELEASE_LOCKOWNER, decode_release_lockowner_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_RELEASE_LOCKOWNER); encode_lockowner(xdr, lowner); encode_lockowner(xdr, lowner); hdr->nops++; hdr->replen += decode_release_lockowner_maxsz; } } static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_LOOKUP, decode_lookup_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_LOOKUP); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_lookup_maxsz; } } static void encode_share_access(struct xdr_stream *xdr, fmode_t fmode) static void encode_share_access(struct xdr_stream *xdr, fmode_t fmode) Loading Loading @@ -1371,8 +1352,6 @@ static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_opena * opcode 4, seqid 4, share_access 4, share_deny 4, clientid 8, ownerlen 4, * opcode 4, seqid 4, share_access 4, share_deny 4, clientid 8, ownerlen 4, * owner 4 = 32 * owner 4 = 32 */ */ p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_OPEN); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); encode_share_access(xdr, arg->fmode); encode_share_access(xdr, arg->fmode); p = reserve_space(xdr, 32); p = reserve_space(xdr, 32); Loading Loading @@ -1481,6 +1460,7 @@ static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struc static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr *hdr) static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr *hdr) { { encode_op_hdr(xdr, OP_OPEN, decode_open_maxsz, hdr); encode_openhdr(xdr, arg); encode_openhdr(xdr, arg); encode_opentype(xdr, arg); encode_opentype(xdr, arg); switch (arg->claim) { switch (arg->claim) { Loading @@ -1496,55 +1476,33 @@ static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, default: default: BUG(); BUG(); } } hdr->nops++; hdr->replen += decode_open_maxsz; } } static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, struct compound_hdr *hdr) static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_OPEN_CONFIRM, decode_open_confirm_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_OPEN_CONFIRM); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); hdr->nops++; hdr->replen += decode_open_confirm_maxsz; } } static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_OPEN_DOWNGRADE, decode_open_downgrade_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_OPEN_DOWNGRADE); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); encode_share_access(xdr, arg->fmode); encode_share_access(xdr, arg->fmode); hdr->nops++; hdr->replen += decode_open_downgrade_maxsz; } } static void static void encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_PUTFH, decode_putfh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_PUTFH); encode_string(xdr, fh->size, fh->data); encode_string(xdr, fh->size, fh->data); hdr->nops++; hdr->replen += decode_putfh_maxsz; } } static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_PUTROOTFH); hdr->nops++; hdr->replen += decode_putrootfh_maxsz; } } static void encode_open_stateid(struct xdr_stream *xdr, const struct nfs_open_context *ctx, const struct nfs_lock_context *l_ctx, int zero_seqid) static void encode_open_stateid(struct xdr_stream *xdr, const struct nfs_open_context *ctx, const struct nfs_lock_context *l_ctx, int zero_seqid) Loading @@ -1564,17 +1522,13 @@ static void encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args, { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_READ, decode_read_maxsz, hdr); *p = cpu_to_be32(OP_READ); encode_open_stateid(xdr, args->context, args->lock_context, encode_open_stateid(xdr, args->context, args->lock_context, hdr->minorversion); hdr->minorversion); p = reserve_space(xdr, 12); p = reserve_space(xdr, 12); p = xdr_encode_hyper(p, args->offset); p = xdr_encode_hyper(p, args->offset); *p = cpu_to_be32(args->count); *p = cpu_to_be32(args->count); hdr->nops++; hdr->replen += decode_read_maxsz; } } static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct rpc_rqst *req, struct compound_hdr *hdr) static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct rpc_rqst *req, struct compound_hdr *hdr) Loading Loading @@ -1622,35 +1576,20 @@ static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rpc_rqst *req, struct compound_hdr *hdr) static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rpc_rqst *req, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_READLINK, decode_readlink_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_READLINK); hdr->nops++; hdr->replen += decode_readlink_maxsz; } } static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_REMOVE, decode_remove_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_REMOVE); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_remove_maxsz; } } static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *newname, struct compound_hdr *hdr) static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *newname, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_RENAME, decode_rename_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_RENAME); encode_string(xdr, oldname->len, oldname->name); encode_string(xdr, oldname->len, oldname->name); encode_string(xdr, newname->len, newname->name); encode_string(xdr, newname->len, newname->name); hdr->nops++; hdr->replen += decode_rename_maxsz; } } static void encode_renew(struct xdr_stream *xdr, clientid4 clid, static void encode_renew(struct xdr_stream *xdr, clientid4 clid, Loading @@ -1668,12 +1607,7 @@ static void encode_renew(struct xdr_stream *xdr, clientid4 clid, static void static void encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_RESTOREFH, decode_restorefh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_RESTOREFH); hdr->nops++; hdr->replen += decode_restorefh_maxsz; } } static void static void Loading @@ -1681,8 +1615,7 @@ encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compoun { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_SETATTR, decode_setacl_maxsz, hdr); *p = cpu_to_be32(OP_SETATTR); encode_nfs4_stateid(xdr, &zero_stateid); encode_nfs4_stateid(xdr, &zero_stateid); p = reserve_space(xdr, 2*4); p = reserve_space(xdr, 2*4); *p++ = cpu_to_be32(1); *p++ = cpu_to_be32(1); Loading @@ -1691,30 +1624,18 @@ encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compoun p = reserve_space(xdr, 4); p = reserve_space(xdr, 4); *p = cpu_to_be32(arg->acl_len); *p = cpu_to_be32(arg->acl_len); xdr_write_pages(xdr, arg->acl_pages, arg->acl_pgbase, arg->acl_len); xdr_write_pages(xdr, arg->acl_pages, arg->acl_pgbase, arg->acl_len); hdr->nops++; hdr->replen += decode_setacl_maxsz; } } static void static void encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_SAVEFH, decode_savefh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_SAVEFH); hdr->nops++; hdr->replen += decode_savefh_maxsz; } } static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct nfs_server *server, struct compound_hdr *hdr) static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct nfs_server *server, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_SETATTR, decode_setattr_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_SETATTR); encode_nfs4_stateid(xdr, &arg->stateid); encode_nfs4_stateid(xdr, &arg->stateid); hdr->nops++; hdr->replen += decode_setattr_maxsz; encode_attrs(xdr, arg->iap, server); encode_attrs(xdr, arg->iap, server); } } Loading Loading @@ -1753,9 +1674,7 @@ static void encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *arg { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_WRITE, decode_write_maxsz, hdr); *p = cpu_to_be32(OP_WRITE); encode_open_stateid(xdr, args->context, args->lock_context, encode_open_stateid(xdr, args->context, args->lock_context, hdr->minorversion); hdr->minorversion); Loading @@ -1765,30 +1684,18 @@ static void encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *arg *p = cpu_to_be32(args->count); *p = cpu_to_be32(args->count); xdr_write_pages(xdr, args->pages, args->pgbase, args->count); xdr_write_pages(xdr, args->pages, args->pgbase, args->count); hdr->nops++; hdr->replen += decode_write_maxsz; } } static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound_hdr *hdr) static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_DELEGRETURN, decode_delegreturn_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_DELEGRETURN); encode_nfs4_stateid(xdr, stateid); encode_nfs4_stateid(xdr, stateid); hdr->nops++; hdr->replen += decode_delegreturn_maxsz; } } static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_SECINFO, decode_secinfo_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_SECINFO); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_secinfo_maxsz; } } #if defined(CONFIG_NFS_V4_1) #if defined(CONFIG_NFS_V4_1) Loading Loading @@ -2132,12 +2039,8 @@ static void encode_free_stateid(struct xdr_stream *xdr, struct nfs41_free_stateid_args *args, struct nfs41_free_stateid_args *args, struct compound_hdr *hdr) struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_FREE_STATEID, decode_free_stateid_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_FREE_STATEID); encode_nfs4_stateid(xdr, args->stateid); encode_nfs4_stateid(xdr, args->stateid); hdr->nops++; hdr->replen += decode_free_stateid_maxsz; } } #endif /* CONFIG_NFS_V4_1 */ #endif /* CONFIG_NFS_V4_1 */ Loading Loading
fs/nfs/nfs4xdr.c +32 −129 Original line number Original line Diff line number Diff line Loading @@ -935,6 +935,15 @@ static void encode_compound_hdr(struct xdr_stream *xdr, *p = cpu_to_be32(hdr->nops); *p = cpu_to_be32(hdr->nops); } } static void encode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 op, uint32_t replen, struct compound_hdr *hdr) { encode_uint32(xdr, op); hdr->nops++; hdr->replen += replen; } static void encode_nops(struct compound_hdr *hdr) static void encode_nops(struct compound_hdr *hdr) { { BUG_ON(hdr->nops > NFS4_MAX_OPS); BUG_ON(hdr->nops > NFS4_MAX_OPS); Loading Loading @@ -1086,14 +1095,9 @@ static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hd static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_CLOSE, decode_close_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_CLOSE); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_stateid(xdr, arg->stateid); hdr->nops++; hdr->replen += decode_close_maxsz; } } static void encode_commit(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr) static void encode_commit(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr) Loading Loading @@ -1172,8 +1176,7 @@ encode_getattr_three(struct xdr_stream *xdr, { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); *p = cpu_to_be32(OP_GETATTR); if (bm2) { if (bm2) { p = reserve_space(xdr, 16); p = reserve_space(xdr, 16); *p++ = cpu_to_be32(3); *p++ = cpu_to_be32(3); Loading @@ -1190,8 +1193,6 @@ encode_getattr_three(struct xdr_stream *xdr, *p++ = cpu_to_be32(1); *p++ = cpu_to_be32(1); *p = cpu_to_be32(bm0); *p = cpu_to_be32(bm0); } } hdr->nops++; hdr->replen += decode_getattr_maxsz; } } static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) Loading @@ -1217,23 +1218,13 @@ static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, stru static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_GETFH, decode_getfh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_GETFH); hdr->nops++; hdr->replen += decode_getfh_maxsz; } } static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_LINK, decode_link_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_LINK); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_link_maxsz; } } static inline int nfs4_lock_type(struct file_lock *fl, int block) static inline int nfs4_lock_type(struct file_lock *fl, int block) Loading Loading @@ -1323,24 +1314,14 @@ static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *ar static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struct compound_hdr *hdr) static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_RELEASE_LOCKOWNER, decode_release_lockowner_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_RELEASE_LOCKOWNER); encode_lockowner(xdr, lowner); encode_lockowner(xdr, lowner); hdr->nops++; hdr->replen += decode_release_lockowner_maxsz; } } static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_LOOKUP, decode_lookup_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_LOOKUP); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_lookup_maxsz; } } static void encode_share_access(struct xdr_stream *xdr, fmode_t fmode) static void encode_share_access(struct xdr_stream *xdr, fmode_t fmode) Loading Loading @@ -1371,8 +1352,6 @@ static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_opena * opcode 4, seqid 4, share_access 4, share_deny 4, clientid 8, ownerlen 4, * opcode 4, seqid 4, share_access 4, share_deny 4, clientid 8, ownerlen 4, * owner 4 = 32 * owner 4 = 32 */ */ p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_OPEN); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); encode_share_access(xdr, arg->fmode); encode_share_access(xdr, arg->fmode); p = reserve_space(xdr, 32); p = reserve_space(xdr, 32); Loading Loading @@ -1481,6 +1460,7 @@ static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struc static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr *hdr) static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr *hdr) { { encode_op_hdr(xdr, OP_OPEN, decode_open_maxsz, hdr); encode_openhdr(xdr, arg); encode_openhdr(xdr, arg); encode_opentype(xdr, arg); encode_opentype(xdr, arg); switch (arg->claim) { switch (arg->claim) { Loading @@ -1496,55 +1476,33 @@ static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, default: default: BUG(); BUG(); } } hdr->nops++; hdr->replen += decode_open_maxsz; } } static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, struct compound_hdr *hdr) static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_OPEN_CONFIRM, decode_open_confirm_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_OPEN_CONFIRM); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); hdr->nops++; hdr->replen += decode_open_confirm_maxsz; } } static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_OPEN_DOWNGRADE, decode_open_downgrade_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_OPEN_DOWNGRADE); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_stateid(xdr, arg->stateid); encode_nfs4_seqid(xdr, arg->seqid); encode_nfs4_seqid(xdr, arg->seqid); encode_share_access(xdr, arg->fmode); encode_share_access(xdr, arg->fmode); hdr->nops++; hdr->replen += decode_open_downgrade_maxsz; } } static void static void encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_PUTFH, decode_putfh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_PUTFH); encode_string(xdr, fh->size, fh->data); encode_string(xdr, fh->size, fh->data); hdr->nops++; hdr->replen += decode_putfh_maxsz; } } static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_PUTROOTFH); hdr->nops++; hdr->replen += decode_putrootfh_maxsz; } } static void encode_open_stateid(struct xdr_stream *xdr, const struct nfs_open_context *ctx, const struct nfs_lock_context *l_ctx, int zero_seqid) static void encode_open_stateid(struct xdr_stream *xdr, const struct nfs_open_context *ctx, const struct nfs_lock_context *l_ctx, int zero_seqid) Loading @@ -1564,17 +1522,13 @@ static void encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args, { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_READ, decode_read_maxsz, hdr); *p = cpu_to_be32(OP_READ); encode_open_stateid(xdr, args->context, args->lock_context, encode_open_stateid(xdr, args->context, args->lock_context, hdr->minorversion); hdr->minorversion); p = reserve_space(xdr, 12); p = reserve_space(xdr, 12); p = xdr_encode_hyper(p, args->offset); p = xdr_encode_hyper(p, args->offset); *p = cpu_to_be32(args->count); *p = cpu_to_be32(args->count); hdr->nops++; hdr->replen += decode_read_maxsz; } } static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct rpc_rqst *req, struct compound_hdr *hdr) static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct rpc_rqst *req, struct compound_hdr *hdr) Loading Loading @@ -1622,35 +1576,20 @@ static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rpc_rqst *req, struct compound_hdr *hdr) static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rpc_rqst *req, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_READLINK, decode_readlink_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_READLINK); hdr->nops++; hdr->replen += decode_readlink_maxsz; } } static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_REMOVE, decode_remove_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_REMOVE); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_remove_maxsz; } } static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *newname, struct compound_hdr *hdr) static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *newname, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_RENAME, decode_rename_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_RENAME); encode_string(xdr, oldname->len, oldname->name); encode_string(xdr, oldname->len, oldname->name); encode_string(xdr, newname->len, newname->name); encode_string(xdr, newname->len, newname->name); hdr->nops++; hdr->replen += decode_rename_maxsz; } } static void encode_renew(struct xdr_stream *xdr, clientid4 clid, static void encode_renew(struct xdr_stream *xdr, clientid4 clid, Loading @@ -1668,12 +1607,7 @@ static void encode_renew(struct xdr_stream *xdr, clientid4 clid, static void static void encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_RESTOREFH, decode_restorefh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_RESTOREFH); hdr->nops++; hdr->replen += decode_restorefh_maxsz; } } static void static void Loading @@ -1681,8 +1615,7 @@ encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compoun { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_SETATTR, decode_setacl_maxsz, hdr); *p = cpu_to_be32(OP_SETATTR); encode_nfs4_stateid(xdr, &zero_stateid); encode_nfs4_stateid(xdr, &zero_stateid); p = reserve_space(xdr, 2*4); p = reserve_space(xdr, 2*4); *p++ = cpu_to_be32(1); *p++ = cpu_to_be32(1); Loading @@ -1691,30 +1624,18 @@ encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compoun p = reserve_space(xdr, 4); p = reserve_space(xdr, 4); *p = cpu_to_be32(arg->acl_len); *p = cpu_to_be32(arg->acl_len); xdr_write_pages(xdr, arg->acl_pages, arg->acl_pgbase, arg->acl_len); xdr_write_pages(xdr, arg->acl_pages, arg->acl_pgbase, arg->acl_len); hdr->nops++; hdr->replen += decode_setacl_maxsz; } } static void static void encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_SAVEFH, decode_savefh_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_SAVEFH); hdr->nops++; hdr->replen += decode_savefh_maxsz; } } static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct nfs_server *server, struct compound_hdr *hdr) static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct nfs_server *server, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_SETATTR, decode_setattr_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_SETATTR); encode_nfs4_stateid(xdr, &arg->stateid); encode_nfs4_stateid(xdr, &arg->stateid); hdr->nops++; hdr->replen += decode_setattr_maxsz; encode_attrs(xdr, arg->iap, server); encode_attrs(xdr, arg->iap, server); } } Loading Loading @@ -1753,9 +1674,7 @@ static void encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *arg { { __be32 *p; __be32 *p; p = reserve_space(xdr, 4); encode_op_hdr(xdr, OP_WRITE, decode_write_maxsz, hdr); *p = cpu_to_be32(OP_WRITE); encode_open_stateid(xdr, args->context, args->lock_context, encode_open_stateid(xdr, args->context, args->lock_context, hdr->minorversion); hdr->minorversion); Loading @@ -1765,30 +1684,18 @@ static void encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *arg *p = cpu_to_be32(args->count); *p = cpu_to_be32(args->count); xdr_write_pages(xdr, args->pages, args->pgbase, args->count); xdr_write_pages(xdr, args->pages, args->pgbase, args->count); hdr->nops++; hdr->replen += decode_write_maxsz; } } static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound_hdr *hdr) static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_DELEGRETURN, decode_delegreturn_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_DELEGRETURN); encode_nfs4_stateid(xdr, stateid); encode_nfs4_stateid(xdr, stateid); hdr->nops++; hdr->replen += decode_delegreturn_maxsz; } } static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_SECINFO, decode_secinfo_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_SECINFO); encode_string(xdr, name->len, name->name); encode_string(xdr, name->len, name->name); hdr->nops++; hdr->replen += decode_secinfo_maxsz; } } #if defined(CONFIG_NFS_V4_1) #if defined(CONFIG_NFS_V4_1) Loading Loading @@ -2132,12 +2039,8 @@ static void encode_free_stateid(struct xdr_stream *xdr, struct nfs41_free_stateid_args *args, struct nfs41_free_stateid_args *args, struct compound_hdr *hdr) struct compound_hdr *hdr) { { __be32 *p; encode_op_hdr(xdr, OP_FREE_STATEID, decode_free_stateid_maxsz, hdr); p = reserve_space(xdr, 4); *p = cpu_to_be32(OP_FREE_STATEID); encode_nfs4_stateid(xdr, args->stateid); encode_nfs4_stateid(xdr, args->stateid); hdr->nops++; hdr->replen += decode_free_stateid_maxsz; } } #endif /* CONFIG_NFS_V4_1 */ #endif /* CONFIG_NFS_V4_1 */ Loading