forked from Minki/linux
NFSv4: More NFSv4 xdr cleanups
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
9936781d01
commit
9104a55dc3
208
fs/nfs/nfs4xdr.c
208
fs/nfs/nfs4xdr.c
@ -72,10 +72,15 @@ static int nfs4_stat_to_errno(int);
|
||||
*/
|
||||
#define open_owner_id_maxsz (1 + 4)
|
||||
#define lock_owner_id_maxsz (1 + 4)
|
||||
#define decode_lockowner_maxsz (1 + XDR_QUADLEN(IDMAP_NAMESZ))
|
||||
#define compound_encode_hdr_maxsz (3 + (NFS4_MAXTAGLEN >> 2))
|
||||
#define compound_decode_hdr_maxsz (3 + (NFS4_MAXTAGLEN >> 2))
|
||||
#define op_encode_hdr_maxsz (1)
|
||||
#define op_decode_hdr_maxsz (2)
|
||||
#define encode_stateid_maxsz (XDR_QUADLEN(NFS4_STATEID_SIZE))
|
||||
#define decode_stateid_maxsz (XDR_QUADLEN(NFS4_STATEID_SIZE))
|
||||
#define encode_verifier_maxsz (XDR_QUADLEN(NFS4_VERIFIER_SIZE))
|
||||
#define decode_verifier_maxsz (XDR_QUADLEN(NFS4_VERIFIER_SIZE))
|
||||
#define encode_putfh_maxsz (op_encode_hdr_maxsz + 1 + \
|
||||
(NFS4_FHSIZE >> 2))
|
||||
#define decode_putfh_maxsz (op_decode_hdr_maxsz)
|
||||
@ -96,6 +101,11 @@ static int nfs4_stat_to_errno(int);
|
||||
#define nfs4_fattr_maxsz (nfs4_fattr_bitmap_maxsz + \
|
||||
nfs4_fattr_value_maxsz)
|
||||
#define decode_getattr_maxsz (op_decode_hdr_maxsz + nfs4_fattr_maxsz)
|
||||
#define encode_attrs_maxsz (nfs4_fattr_bitmap_maxsz + \
|
||||
1 + 2 + 1 + \
|
||||
nfs4_owner_maxsz + \
|
||||
nfs4_group_maxsz + \
|
||||
4 + 4)
|
||||
#define encode_savefh_maxsz (op_encode_hdr_maxsz)
|
||||
#define decode_savefh_maxsz (op_decode_hdr_maxsz)
|
||||
#define encode_restorefh_maxsz (op_encode_hdr_maxsz)
|
||||
@ -123,7 +133,7 @@ static int nfs4_stat_to_errno(int);
|
||||
#define decode_lookup_maxsz (op_decode_hdr_maxsz)
|
||||
#define encode_share_access_maxsz \
|
||||
(2)
|
||||
#define encode_createmode_maxsz (1 + nfs4_fattr_maxsz)
|
||||
#define encode_createmode_maxsz (1 + encode_attrs_maxsz)
|
||||
#define encode_opentype_maxsz (1 + encode_createmode_maxsz)
|
||||
#define encode_claim_null_maxsz (1 + nfs4_name_maxsz)
|
||||
#define encode_open_maxsz (op_encode_hdr_maxsz + \
|
||||
@ -132,14 +142,52 @@ static int nfs4_stat_to_errno(int);
|
||||
encode_opentype_maxsz + \
|
||||
encode_claim_null_maxsz)
|
||||
#define decode_ace_maxsz (3 + nfs4_owner_maxsz)
|
||||
#define decode_delegation_maxsz (1 + XDR_QUADLEN(NFS4_STATEID_SIZE) + 1 + \
|
||||
#define decode_delegation_maxsz (1 + decode_stateid_maxsz + 1 + \
|
||||
decode_ace_maxsz)
|
||||
#define decode_change_info_maxsz (5)
|
||||
#define decode_open_maxsz (op_decode_hdr_maxsz + \
|
||||
XDR_QUADLEN(NFS4_STATEID_SIZE) + \
|
||||
decode_stateid_maxsz + \
|
||||
decode_change_info_maxsz + 1 + \
|
||||
nfs4_fattr_bitmap_maxsz + \
|
||||
decode_delegation_maxsz)
|
||||
#define encode_open_confirm_maxsz \
|
||||
(op_encode_hdr_maxsz + \
|
||||
encode_stateid_maxsz + 1)
|
||||
#define decode_open_confirm_maxsz \
|
||||
(op_decode_hdr_maxsz + \
|
||||
decode_stateid_maxsz)
|
||||
#define encode_open_downgrade_maxsz \
|
||||
(op_encode_hdr_maxsz + \
|
||||
encode_stateid_maxsz + 1 + \
|
||||
encode_share_access_maxsz)
|
||||
#define decode_open_downgrade_maxsz \
|
||||
(op_decode_hdr_maxsz + \
|
||||
decode_stateid_maxsz)
|
||||
#define encode_close_maxsz (op_encode_hdr_maxsz + \
|
||||
1 + encode_stateid_maxsz)
|
||||
#define decode_close_maxsz (op_decode_hdr_maxsz + \
|
||||
decode_stateid_maxsz)
|
||||
#define encode_setattr_maxsz (op_encode_hdr_maxsz + \
|
||||
encode_stateid_maxsz + \
|
||||
encode_attrs_maxsz)
|
||||
#define decode_setattr_maxsz (op_decode_hdr_maxsz + \
|
||||
nfs4_fattr_bitmap_maxsz)
|
||||
#define encode_read_maxsz (op_encode_hdr_maxsz + \
|
||||
encode_stateid_maxsz + 3)
|
||||
#define decode_read_maxsz (op_decode_hdr_maxsz + 2)
|
||||
#define encode_readdir_maxsz (op_encode_hdr_maxsz + \
|
||||
2 + encode_verifier_maxsz + 5)
|
||||
#define decode_readdir_maxsz (op_decode_hdr_maxsz + \
|
||||
decode_verifier_maxsz)
|
||||
#define encode_readlink_maxsz (op_encode_hdr_maxsz)
|
||||
#define decode_readlink_maxsz (op_decode_hdr_maxsz + 1)
|
||||
#define encode_write_maxsz (op_encode_hdr_maxsz + \
|
||||
encode_stateid_maxsz + 4)
|
||||
#define decode_write_maxsz (op_decode_hdr_maxsz + \
|
||||
2 + decode_verifier_maxsz)
|
||||
#define encode_commit_maxsz (op_encode_hdr_maxsz + 3)
|
||||
#define decode_commit_maxsz (op_decode_hdr_maxsz + \
|
||||
decode_verifier_maxsz)
|
||||
#define encode_remove_maxsz (op_encode_hdr_maxsz + \
|
||||
nfs4_name_maxsz)
|
||||
#define encode_rename_maxsz (op_encode_hdr_maxsz + \
|
||||
@ -148,19 +196,44 @@ static int nfs4_stat_to_errno(int);
|
||||
#define encode_link_maxsz (op_encode_hdr_maxsz + \
|
||||
nfs4_name_maxsz)
|
||||
#define decode_link_maxsz (op_decode_hdr_maxsz + 5)
|
||||
#define encode_lock_maxsz (op_encode_hdr_maxsz + \
|
||||
7 + \
|
||||
1 + encode_stateid_maxsz + 8)
|
||||
#define decode_lock_denied_maxsz \
|
||||
(8 + decode_lockowner_maxsz)
|
||||
#define decode_lock_maxsz (op_decode_hdr_maxsz + \
|
||||
decode_lock_denied_maxsz)
|
||||
#define encode_lockt_maxsz (op_encode_hdr_maxsz + 12)
|
||||
#define decode_lockt_maxsz (op_decode_hdr_maxsz + \
|
||||
decode_lock_denied_maxsz)
|
||||
#define encode_locku_maxsz (op_encode_hdr_maxsz + 3 + \
|
||||
encode_stateid_maxsz + \
|
||||
4)
|
||||
#define decode_locku_maxsz (op_decode_hdr_maxsz + \
|
||||
decode_stateid_maxsz)
|
||||
#define encode_access_maxsz (op_encode_hdr_maxsz + 1)
|
||||
#define decode_access_maxsz (op_decode_hdr_maxsz + 2)
|
||||
#define encode_symlink_maxsz (op_encode_hdr_maxsz + \
|
||||
1 + nfs4_name_maxsz + \
|
||||
1 + \
|
||||
nfs4_fattr_maxsz)
|
||||
#define decode_symlink_maxsz (op_decode_hdr_maxsz + 8)
|
||||
#define encode_create_maxsz (op_encode_hdr_maxsz + \
|
||||
2 + nfs4_name_maxsz + \
|
||||
nfs4_fattr_maxsz)
|
||||
1 + 2 + nfs4_name_maxsz + \
|
||||
encode_attrs_maxsz)
|
||||
#define decode_create_maxsz (op_decode_hdr_maxsz + \
|
||||
decode_change_info_maxsz + \
|
||||
nfs4_fattr_bitmap_maxsz)
|
||||
#define encode_statfs_maxsz (encode_getattr_maxsz)
|
||||
#define decode_statfs_maxsz (decode_getattr_maxsz)
|
||||
#define encode_delegreturn_maxsz (op_encode_hdr_maxsz + 4)
|
||||
#define decode_delegreturn_maxsz (op_decode_hdr_maxsz)
|
||||
#define encode_getacl_maxsz (encode_getattr_maxsz)
|
||||
#define decode_getacl_maxsz (op_decode_hdr_maxsz + \
|
||||
nfs4_fattr_bitmap_maxsz + 1)
|
||||
#define encode_setacl_maxsz (op_encode_hdr_maxsz + \
|
||||
encode_stateid_maxsz + 3)
|
||||
#define decode_setacl_maxsz (decode_setattr_maxsz)
|
||||
#define encode_fs_locations_maxsz \
|
||||
(encode_getattr_maxsz)
|
||||
#define decode_fs_locations_maxsz \
|
||||
@ -169,37 +242,37 @@ static int nfs4_stat_to_errno(int);
|
||||
#define NFS4_dec_compound_sz (1024) /* XXX: large enough? */
|
||||
#define NFS4_enc_read_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 7)
|
||||
encode_read_maxsz)
|
||||
#define NFS4_dec_read_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 2)
|
||||
decode_read_maxsz)
|
||||
#define NFS4_enc_readlink_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz)
|
||||
encode_readlink_maxsz)
|
||||
#define NFS4_dec_readlink_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz)
|
||||
decode_readlink_maxsz)
|
||||
#define NFS4_enc_readdir_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 9)
|
||||
encode_readdir_maxsz)
|
||||
#define NFS4_dec_readdir_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 2)
|
||||
decode_readdir_maxsz)
|
||||
#define NFS4_enc_write_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 8 + \
|
||||
encode_write_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
#define NFS4_dec_write_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 4 + \
|
||||
decode_write_maxsz + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_commit_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 3 + \
|
||||
encode_commit_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
#define NFS4_dec_commit_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 2 + \
|
||||
decode_commit_maxsz + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_open_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
@ -217,13 +290,14 @@ static int nfs4_stat_to_errno(int);
|
||||
decode_getattr_maxsz + \
|
||||
decode_restorefh_maxsz + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_open_confirm_sz \
|
||||
(compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 5)
|
||||
#define NFS4_dec_open_confirm_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 4)
|
||||
#define NFS4_enc_open_confirm_sz \
|
||||
(compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_open_confirm_maxsz)
|
||||
#define NFS4_dec_open_confirm_sz \
|
||||
(compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
decode_open_confirm_maxsz)
|
||||
#define NFS4_enc_open_noattr_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_open_maxsz + \
|
||||
@ -234,31 +308,30 @@ static int nfs4_stat_to_errno(int);
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_open_downgrade_sz \
|
||||
(compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 7 + \
|
||||
encode_getattr_maxsz)
|
||||
encode_putfh_maxsz + \
|
||||
encode_open_downgrade_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
#define NFS4_dec_open_downgrade_sz \
|
||||
(compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 4 + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_close_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 5 + \
|
||||
encode_getattr_maxsz)
|
||||
#define NFS4_dec_close_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 4 + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_setattr_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 4 + \
|
||||
nfs4_fattr_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
#define NFS4_dec_setattr_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 3 + \
|
||||
nfs4_fattr_maxsz)
|
||||
decode_putfh_maxsz + \
|
||||
decode_open_downgrade_maxsz + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_close_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_close_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
#define NFS4_dec_close_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
decode_close_maxsz + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_setattr_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_setattr_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
#define NFS4_dec_setattr_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
decode_setattr_maxsz + \
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_fsinfo_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_fsinfo_maxsz)
|
||||
@ -285,39 +358,28 @@ static int nfs4_stat_to_errno(int);
|
||||
decode_fsinfo_maxsz)
|
||||
#define NFS4_enc_lock_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_getattr_maxsz + \
|
||||
op_encode_hdr_maxsz + \
|
||||
1 + 1 + 2 + 2 + \
|
||||
1 + 4 + 1 + 2 + \
|
||||
lock_owner_id_maxsz)
|
||||
encode_lock_maxsz)
|
||||
#define NFS4_dec_lock_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
decode_getattr_maxsz + \
|
||||
op_decode_hdr_maxsz + \
|
||||
2 + 2 + 1 + 2 + \
|
||||
lock_owner_id_maxsz)
|
||||
decode_lock_maxsz)
|
||||
#define NFS4_enc_lockt_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_getattr_maxsz + \
|
||||
op_encode_hdr_maxsz + \
|
||||
1 + 2 + 2 + 2 + \
|
||||
lock_owner_id_maxsz)
|
||||
#define NFS4_dec_lockt_sz (NFS4_dec_lock_sz)
|
||||
encode_lockt_maxsz)
|
||||
#define NFS4_dec_lockt_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
decode_lockt_maxsz)
|
||||
#define NFS4_enc_locku_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_getattr_maxsz + \
|
||||
op_encode_hdr_maxsz + \
|
||||
1 + 1 + 4 + 2 + 2)
|
||||
encode_locku_maxsz)
|
||||
#define NFS4_dec_locku_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
decode_getattr_maxsz + \
|
||||
op_decode_hdr_maxsz + 4)
|
||||
decode_locku_maxsz)
|
||||
#define NFS4_enc_access_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 1)
|
||||
encode_access_maxsz)
|
||||
#define NFS4_dec_access_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 2)
|
||||
decode_access_maxsz)
|
||||
#define NFS4_enc_getattr_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
@ -416,10 +478,10 @@ static int nfs4_stat_to_errno(int);
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_statfs_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
encode_statfs_maxsz)
|
||||
#define NFS4_dec_statfs_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + 12)
|
||||
decode_statfs_maxsz)
|
||||
#define NFS4_enc_server_caps_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
@ -435,18 +497,16 @@ static int nfs4_stat_to_errno(int);
|
||||
decode_getattr_maxsz)
|
||||
#define NFS4_enc_getacl_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
encode_getattr_maxsz)
|
||||
encode_getacl_maxsz)
|
||||
#define NFS4_dec_getacl_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + \
|
||||
nfs4_fattr_bitmap_maxsz + 1)
|
||||
decode_getacl_maxsz)
|
||||
#define NFS4_enc_setacl_sz (compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
op_encode_hdr_maxsz + 4 + \
|
||||
nfs4_fattr_bitmap_maxsz + 1)
|
||||
encode_setacl_maxsz)
|
||||
#define NFS4_dec_setacl_sz (compound_decode_hdr_maxsz + \
|
||||
decode_putfh_maxsz + \
|
||||
op_decode_hdr_maxsz + nfs4_fattr_bitmap_maxsz)
|
||||
decode_setacl_maxsz)
|
||||
#define NFS4_enc_fs_locations_sz \
|
||||
(compound_encode_hdr_maxsz + \
|
||||
encode_putfh_maxsz + \
|
||||
|
Loading…
Reference in New Issue
Block a user