Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
nfs4xdr.c File Reference
#include <linux/param.h>
#include <linux/time.h>
#include <linux/mm.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/in.h>
#include <linux/pagemap.h>
#include <linux/proc_fs.h>
#include <linux/kdev_t.h>
#include <linux/module.h>
#include <linux/utsname.h>
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/msg_prot.h>
#include <linux/sunrpc/gss_api.h>
#include <linux/nfs.h>
#include <linux/nfs4.h>
#include <linux/nfs_fs.h>
#include <linux/nfs_idmap.h>
#include "nfs4_fs.h"
#include "internal.h"
#include "pnfs.h"
#include "netns.h"

Go to the source code of this file.

Data Structures

struct  compound_hdr
 

Macros

#define NFSDBG_FACILITY   NFSDBG_XDR
 
#define errno_NFSERR_IO   EIO
 
#define NFS4_MAXTAGLEN   0
 
#define open_owner_id_maxsz   (1 + 2 + 1 + 1 + 2)
 
#define lock_owner_id_maxsz   (1 + 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
 
#define decode_putfh_maxsz   (op_decode_hdr_maxsz)
 
#define encode_putrootfh_maxsz   (op_encode_hdr_maxsz)
 
#define decode_putrootfh_maxsz   (op_decode_hdr_maxsz)
 
#define encode_getfh_maxsz   (op_encode_hdr_maxsz)
 
#define decode_getfh_maxsz
 
#define nfs4_fattr_bitmap_maxsz   4
 
#define encode_getattr_maxsz   (op_encode_hdr_maxsz + nfs4_fattr_bitmap_maxsz)
 
#define nfs4_name_maxsz   (1 + ((3 + NFS4_MAXNAMLEN) >> 2))
 
#define nfs4_path_maxsz   (1 + ((3 + NFS4_MAXPATHLEN) >> 2))
 
#define nfs4_owner_maxsz   (1 + XDR_QUADLEN(IDMAP_NAMESZ))
 
#define nfs4_group_maxsz   (1 + XDR_QUADLEN(IDMAP_NAMESZ))
 
#define decode_mdsthreshold_maxsz   (1 + 1 + nfs4_fattr_bitmap_maxsz + 1 + 8)
 
#define nfs4_fattr_value_maxsz
 
#define nfs4_fattr_maxsz
 
#define decode_getattr_maxsz   (op_decode_hdr_maxsz + nfs4_fattr_maxsz)
 
#define encode_attrs_maxsz
 
#define encode_savefh_maxsz   (op_encode_hdr_maxsz)
 
#define decode_savefh_maxsz   (op_decode_hdr_maxsz)
 
#define encode_restorefh_maxsz   (op_encode_hdr_maxsz)
 
#define decode_restorefh_maxsz   (op_decode_hdr_maxsz)
 
#define encode_fsinfo_maxsz   (encode_getattr_maxsz)
 
#define decode_fsinfo_maxsz
 
#define encode_renew_maxsz   (op_encode_hdr_maxsz + 3)
 
#define decode_renew_maxsz   (op_decode_hdr_maxsz)
 
#define encode_setclientid_maxsz
 
#define decode_setclientid_maxsz
 
#define encode_setclientid_confirm_maxsz
 
#define decode_setclientid_confirm_maxsz   (op_decode_hdr_maxsz)
 
#define encode_lookup_maxsz   (op_encode_hdr_maxsz + nfs4_name_maxsz)
 
#define decode_lookup_maxsz   (op_decode_hdr_maxsz)
 
#define encode_share_access_maxsz   (2)
 
#define encode_createmode_maxsz   (1 + encode_attrs_maxsz + encode_verifier_maxsz)
 
#define encode_opentype_maxsz   (1 + encode_createmode_maxsz)
 
#define encode_claim_null_maxsz   (1 + nfs4_name_maxsz)
 
#define encode_open_maxsz
 
#define decode_ace_maxsz   (3 + nfs4_owner_maxsz)
 
#define decode_delegation_maxsz
 
#define decode_change_info_maxsz   (5)
 
#define decode_open_maxsz
 
#define encode_open_confirm_maxsz
 
#define decode_open_confirm_maxsz
 
#define encode_open_downgrade_maxsz
 
#define decode_open_downgrade_maxsz
 
#define encode_close_maxsz
 
#define decode_close_maxsz
 
#define encode_setattr_maxsz
 
#define decode_setattr_maxsz
 
#define encode_read_maxsz
 
#define decode_read_maxsz   (op_decode_hdr_maxsz + 2)
 
#define encode_readdir_maxsz
 
#define decode_readdir_maxsz
 
#define encode_readlink_maxsz   (op_encode_hdr_maxsz)
 
#define decode_readlink_maxsz   (op_decode_hdr_maxsz + 1)
 
#define encode_write_maxsz
 
#define decode_write_maxsz
 
#define encode_commit_maxsz   (op_encode_hdr_maxsz + 3)
 
#define decode_commit_maxsz
 
#define encode_remove_maxsz
 
#define decode_remove_maxsz
 
#define encode_rename_maxsz
 
#define decode_rename_maxsz
 
#define encode_link_maxsz
 
#define decode_link_maxsz   (op_decode_hdr_maxsz + decode_change_info_maxsz)
 
#define encode_lockowner_maxsz   (7)
 
#define encode_lock_maxsz
 
#define decode_lock_denied_maxsz   (8 + decode_lockowner_maxsz)
 
#define decode_lock_maxsz
 
#define encode_lockt_maxsz
 
#define decode_lockt_maxsz
 
#define encode_locku_maxsz
 
#define decode_locku_maxsz
 
#define encode_release_lockowner_maxsz
 
#define decode_release_lockowner_maxsz   (op_decode_hdr_maxsz)
 
#define encode_access_maxsz   (op_encode_hdr_maxsz + 1)
 
#define decode_access_maxsz   (op_decode_hdr_maxsz + 2)
 
#define encode_symlink_maxsz
 
#define decode_symlink_maxsz   (op_decode_hdr_maxsz + 8)
 
#define encode_create_maxsz
 
#define decode_create_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
 
#define encode_setacl_maxsz
 
#define decode_setacl_maxsz   (decode_setattr_maxsz)
 
#define encode_fs_locations_maxsz   (encode_getattr_maxsz)
 
#define decode_fs_locations_maxsz   (0)
 
#define encode_secinfo_maxsz   (op_encode_hdr_maxsz + nfs4_name_maxsz)
 
#define decode_secinfo_maxsz   (op_decode_hdr_maxsz + 1 + ((NFS_MAX_SECFLAVORS * (16 + GSS_OID_MAX_LEN)) / 4))
 
#define encode_sequence_maxsz   0
 
#define decode_sequence_maxsz   0
 
#define NFS4_enc_compound_sz   (1024) /* XXX: large enough? */
 
#define NFS4_dec_compound_sz   (1024) /* XXX: large enough? */
 
#define NFS4_enc_read_sz
 
#define NFS4_dec_read_sz
 
#define NFS4_enc_readlink_sz
 
#define NFS4_dec_readlink_sz
 
#define NFS4_enc_readdir_sz
 
#define NFS4_dec_readdir_sz
 
#define NFS4_enc_write_sz
 
#define NFS4_dec_write_sz
 
#define NFS4_enc_commit_sz
 
#define NFS4_dec_commit_sz
 
#define NFS4_enc_open_sz
 
#define NFS4_dec_open_sz
 
#define NFS4_enc_open_confirm_sz
 
#define NFS4_dec_open_confirm_sz
 
#define NFS4_enc_open_noattr_sz
 
#define NFS4_dec_open_noattr_sz
 
#define NFS4_enc_open_downgrade_sz
 
#define NFS4_dec_open_downgrade_sz
 
#define NFS4_enc_close_sz
 
#define NFS4_dec_close_sz
 
#define NFS4_enc_setattr_sz
 
#define NFS4_dec_setattr_sz
 
#define NFS4_enc_fsinfo_sz
 
#define NFS4_dec_fsinfo_sz
 
#define NFS4_enc_renew_sz
 
#define NFS4_dec_renew_sz
 
#define NFS4_enc_setclientid_sz
 
#define NFS4_dec_setclientid_sz
 
#define NFS4_enc_setclientid_confirm_sz
 
#define NFS4_dec_setclientid_confirm_sz
 
#define NFS4_enc_lock_sz
 
#define NFS4_dec_lock_sz
 
#define NFS4_enc_lockt_sz
 
#define NFS4_dec_lockt_sz
 
#define NFS4_enc_locku_sz
 
#define NFS4_dec_locku_sz
 
#define NFS4_enc_release_lockowner_sz
 
#define NFS4_dec_release_lockowner_sz
 
#define NFS4_enc_access_sz
 
#define NFS4_dec_access_sz
 
#define NFS4_enc_getattr_sz
 
#define NFS4_dec_getattr_sz
 
#define NFS4_enc_lookup_sz
 
#define NFS4_dec_lookup_sz
 
#define NFS4_enc_lookup_root_sz
 
#define NFS4_dec_lookup_root_sz
 
#define NFS4_enc_remove_sz
 
#define NFS4_dec_remove_sz
 
#define NFS4_enc_rename_sz
 
#define NFS4_dec_rename_sz
 
#define NFS4_enc_link_sz
 
#define NFS4_dec_link_sz
 
#define NFS4_enc_symlink_sz
 
#define NFS4_dec_symlink_sz
 
#define NFS4_enc_create_sz
 
#define NFS4_dec_create_sz
 
#define NFS4_enc_pathconf_sz
 
#define NFS4_dec_pathconf_sz
 
#define NFS4_enc_statfs_sz
 
#define NFS4_dec_statfs_sz
 
#define NFS4_enc_server_caps_sz
 
#define NFS4_dec_server_caps_sz
 
#define NFS4_enc_delegreturn_sz
 
#define NFS4_dec_delegreturn_sz
 
#define NFS4_enc_getacl_sz
 
#define NFS4_dec_getacl_sz
 
#define NFS4_enc_setacl_sz
 
#define NFS4_dec_setacl_sz
 
#define NFS4_enc_fs_locations_sz
 
#define NFS4_dec_fs_locations_sz
 
#define NFS4_enc_secinfo_sz
 
#define NFS4_dec_secinfo_sz
 
#define PROC(proc, argtype, restype)
 

Functions

int nfs4_decode_dirent (struct xdr_stream *xdr, struct nfs_entry *entry, int plus)
 

Variables

struct rpc_procinfo nfs4_procedures []
 
struct rpc_version nfs_version4
 

Macro Definition Documentation

#define compound_decode_hdr_maxsz   (3 + (NFS4_MAXTAGLEN >> 2))

Definition at line 83 of file nfs4xdr.c.

#define compound_encode_hdr_maxsz   (3 + (NFS4_MAXTAGLEN >> 2))

Definition at line 82 of file nfs4xdr.c.

#define decode_access_maxsz   (op_decode_hdr_maxsz + 2)

Definition at line 242 of file nfs4xdr.c.

#define decode_ace_maxsz   (3 + nfs4_owner_maxsz)

Definition at line 159 of file nfs4xdr.c.

#define decode_change_info_maxsz   (5)

Definition at line 162 of file nfs4xdr.c.

#define decode_close_maxsz
Value:
decode_stateid_maxsz)

Definition at line 183 of file nfs4xdr.c.

#define decode_commit_maxsz
Value:
decode_verifier_maxsz)

Definition at line 204 of file nfs4xdr.c.

#define decode_create_maxsz
Value:
decode_change_info_maxsz + \
nfs4_fattr_bitmap_maxsz)

Definition at line 251 of file nfs4xdr.c.

#define decode_delegation_maxsz
Value:
decode_ace_maxsz)

Definition at line 160 of file nfs4xdr.c.

#define decode_delegreturn_maxsz   (op_decode_hdr_maxsz)

Definition at line 257 of file nfs4xdr.c.

#define decode_fs_locations_maxsz   (0)

Definition at line 266 of file nfs4xdr.c.

#define decode_fsinfo_maxsz
Value:
nfs4_fattr_bitmap_maxsz + 4 + 8 + 5)

Definition at line 126 of file nfs4xdr.c.

#define decode_getacl_maxsz
Value:
nfs4_fattr_bitmap_maxsz + 1)

Definition at line 259 of file nfs4xdr.c.

#define decode_getattr_maxsz   (op_decode_hdr_maxsz + nfs4_fattr_maxsz)

Definition at line 112 of file nfs4xdr.c.

#define decode_getfh_maxsz
Value:
((3+NFS4_FHSIZE) >> 2))

Definition at line 96 of file nfs4xdr.c.

#define decode_link_maxsz   (op_decode_hdr_maxsz + decode_change_info_maxsz)

Definition at line 217 of file nfs4xdr.c.

#define decode_lock_denied_maxsz   (8 + decode_lockowner_maxsz)

Definition at line 223 of file nfs4xdr.c.

#define decode_lock_maxsz
Value:
decode_lock_denied_maxsz)

Definition at line 225 of file nfs4xdr.c.

#define decode_lockowner_maxsz   (1 + XDR_QUADLEN(IDMAP_NAMESZ))

Definition at line 81 of file nfs4xdr.c.

#define decode_lockt_maxsz
Value:
decode_lock_denied_maxsz)

Definition at line 229 of file nfs4xdr.c.

#define decode_locku_maxsz
Value:
decode_stateid_maxsz)

Definition at line 234 of file nfs4xdr.c.

#define decode_lookup_maxsz   (op_decode_hdr_maxsz)

Definition at line 148 of file nfs4xdr.c.

#define decode_mdsthreshold_maxsz   (1 + 1 + nfs4_fattr_bitmap_maxsz + 1 + 8)

Definition at line 105 of file nfs4xdr.c.

#define decode_open_confirm_maxsz
Value:
decode_stateid_maxsz)

Definition at line 171 of file nfs4xdr.c.

#define decode_open_downgrade_maxsz
Value:
decode_stateid_maxsz)

Definition at line 178 of file nfs4xdr.c.

#define decode_open_maxsz
Value:
decode_stateid_maxsz + \
decode_change_info_maxsz + 1 + \
nfs4_fattr_bitmap_maxsz + \
decode_delegation_maxsz)

Definition at line 163 of file nfs4xdr.c.

#define decode_putfh_maxsz   (op_decode_hdr_maxsz)

Definition at line 92 of file nfs4xdr.c.

#define decode_putrootfh_maxsz   (op_decode_hdr_maxsz)

Definition at line 94 of file nfs4xdr.c.

#define decode_read_maxsz   (op_decode_hdr_maxsz + 2)

Definition at line 192 of file nfs4xdr.c.

#define decode_readdir_maxsz
Value:
decode_verifier_maxsz)

Definition at line 195 of file nfs4xdr.c.

#define decode_readlink_maxsz   (op_decode_hdr_maxsz + 1)

Definition at line 198 of file nfs4xdr.c.

#define decode_release_lockowner_maxsz   (op_decode_hdr_maxsz)

Definition at line 239 of file nfs4xdr.c.

#define decode_remove_maxsz
Value:
decode_change_info_maxsz)

Definition at line 208 of file nfs4xdr.c.

#define decode_rename_maxsz
Value:
decode_change_info_maxsz + \
decode_change_info_maxsz)

Definition at line 212 of file nfs4xdr.c.

#define decode_renew_maxsz   (op_decode_hdr_maxsz)

Definition at line 129 of file nfs4xdr.c.

#define decode_restorefh_maxsz   (op_decode_hdr_maxsz)

Definition at line 121 of file nfs4xdr.c.

#define decode_savefh_maxsz   (op_decode_hdr_maxsz)

Definition at line 119 of file nfs4xdr.c.

#define decode_secinfo_maxsz   (op_decode_hdr_maxsz + 1 + ((NFS_MAX_SECFLAVORS * (16 + GSS_OID_MAX_LEN)) / 4))

Definition at line 269 of file nfs4xdr.c.

#define decode_sequence_maxsz   0

Definition at line 399 of file nfs4xdr.c.

#define decode_setacl_maxsz   (decode_setattr_maxsz)

Definition at line 263 of file nfs4xdr.c.

#define decode_setattr_maxsz
Value:
nfs4_fattr_bitmap_maxsz)

Definition at line 188 of file nfs4xdr.c.

#define decode_setclientid_confirm_maxsz   (op_decode_hdr_maxsz)

Definition at line 145 of file nfs4xdr.c.

#define decode_setclientid_maxsz
Value:
2 + \
1024) /* large value for CLID_INUSE */

Definition at line 138 of file nfs4xdr.c.

#define decode_stateid_maxsz   (XDR_QUADLEN(NFS4_STATEID_SIZE))

Definition at line 87 of file nfs4xdr.c.

#define decode_statfs_maxsz   (decode_getattr_maxsz)

Definition at line 255 of file nfs4xdr.c.

#define decode_symlink_maxsz   (op_decode_hdr_maxsz + 8)

Definition at line 247 of file nfs4xdr.c.

#define decode_verifier_maxsz   (XDR_QUADLEN(NFS4_VERIFIER_SIZE))

Definition at line 89 of file nfs4xdr.c.

#define decode_write_maxsz
Value:

Definition at line 201 of file nfs4xdr.c.

#define encode_access_maxsz   (op_encode_hdr_maxsz + 1)

Definition at line 241 of file nfs4xdr.c.

#define encode_attrs_maxsz
Value:
1 + 2 + 1 + \
nfs4_owner_maxsz + \
nfs4_group_maxsz + \
4 + 4)

Definition at line 113 of file nfs4xdr.c.

#define encode_claim_null_maxsz   (1 + nfs4_name_maxsz)

Definition at line 153 of file nfs4xdr.c.

#define encode_close_maxsz
Value:

Definition at line 181 of file nfs4xdr.c.

#define encode_commit_maxsz   (op_encode_hdr_maxsz + 3)

Definition at line 203 of file nfs4xdr.c.

#define encode_create_maxsz
Value:
1 + 2 + nfs4_name_maxsz + \
encode_attrs_maxsz)

Definition at line 248 of file nfs4xdr.c.

#define encode_createmode_maxsz   (1 + encode_attrs_maxsz + encode_verifier_maxsz)

Definition at line 151 of file nfs4xdr.c.

#define encode_delegreturn_maxsz   (op_encode_hdr_maxsz + 4)

Definition at line 256 of file nfs4xdr.c.

#define encode_fs_locations_maxsz   (encode_getattr_maxsz)

Definition at line 264 of file nfs4xdr.c.

#define encode_fsinfo_maxsz   (encode_getattr_maxsz)

Definition at line 122 of file nfs4xdr.c.

#define encode_getacl_maxsz   (encode_getattr_maxsz)

Definition at line 258 of file nfs4xdr.c.

#define encode_getattr_maxsz   (op_encode_hdr_maxsz + nfs4_fattr_bitmap_maxsz)

Definition at line 99 of file nfs4xdr.c.

#define encode_getfh_maxsz   (op_encode_hdr_maxsz)

Definition at line 95 of file nfs4xdr.c.

#define encode_link_maxsz
Value:
nfs4_name_maxsz)

Definition at line 215 of file nfs4xdr.c.

#define encode_lock_maxsz
Value:
7 + \
encode_lockowner_maxsz)

Definition at line 219 of file nfs4xdr.c.

#define encode_lockowner_maxsz   (7)

Definition at line 218 of file nfs4xdr.c.

#define encode_lockt_maxsz
Value:
encode_lockowner_maxsz)

Definition at line 227 of file nfs4xdr.c.

#define encode_locku_maxsz
Value:
encode_stateid_maxsz + \
4)

Definition at line 231 of file nfs4xdr.c.

#define encode_lookup_maxsz   (op_encode_hdr_maxsz + nfs4_name_maxsz)

Definition at line 147 of file nfs4xdr.c.

#define encode_open_confirm_maxsz
Value:
encode_stateid_maxsz + 1)

Definition at line 168 of file nfs4xdr.c.

#define encode_open_downgrade_maxsz
Value:
encode_stateid_maxsz + 1 + \
encode_share_access_maxsz)

Definition at line 174 of file nfs4xdr.c.

#define encode_open_maxsz
Value:
open_owner_id_maxsz + \
encode_opentype_maxsz + \
encode_claim_null_maxsz)

Definition at line 154 of file nfs4xdr.c.

#define encode_opentype_maxsz   (1 + encode_createmode_maxsz)

Definition at line 152 of file nfs4xdr.c.

#define encode_putfh_maxsz
Value:

Definition at line 90 of file nfs4xdr.c.

#define encode_putrootfh_maxsz   (op_encode_hdr_maxsz)

Definition at line 93 of file nfs4xdr.c.

#define encode_read_maxsz
Value:
encode_stateid_maxsz + 3)

Definition at line 190 of file nfs4xdr.c.

#define encode_readdir_maxsz
Value:

Definition at line 193 of file nfs4xdr.c.

#define encode_readlink_maxsz   (op_encode_hdr_maxsz)

Definition at line 197 of file nfs4xdr.c.

#define encode_release_lockowner_maxsz
Value:
encode_lockowner_maxsz)

Definition at line 236 of file nfs4xdr.c.

#define encode_remove_maxsz
Value:
nfs4_name_maxsz)

Definition at line 206 of file nfs4xdr.c.

#define encode_rename_maxsz
Value:

Definition at line 210 of file nfs4xdr.c.

#define encode_renew_maxsz   (op_encode_hdr_maxsz + 3)

Definition at line 128 of file nfs4xdr.c.

#define encode_restorefh_maxsz   (op_encode_hdr_maxsz)

Definition at line 120 of file nfs4xdr.c.

#define encode_savefh_maxsz   (op_encode_hdr_maxsz)

Definition at line 118 of file nfs4xdr.c.

#define encode_secinfo_maxsz   (op_encode_hdr_maxsz + nfs4_name_maxsz)

Definition at line 268 of file nfs4xdr.c.

#define encode_sequence_maxsz   0

Definition at line 398 of file nfs4xdr.c.

#define encode_setacl_maxsz
Value:
encode_stateid_maxsz + 3)

Definition at line 261 of file nfs4xdr.c.

#define encode_setattr_maxsz
Value:
encode_stateid_maxsz + \
encode_attrs_maxsz)

Definition at line 185 of file nfs4xdr.c.

#define encode_setclientid_confirm_maxsz
Value:

Definition at line 142 of file nfs4xdr.c.

#define encode_setclientid_maxsz
Value:
XDR_QUADLEN(NFS4_VERIFIER_SIZE) + \
XDR_QUADLEN(NFS4_SETCLIENTID_NAMELEN) + \
1 /* sc_prog */ + \
XDR_QUADLEN(RPCBIND_MAXNETIDLEN) + \
XDR_QUADLEN(RPCBIND_MAXUADDRLEN) + \
1) /* sc_cb_ident */

Definition at line 130 of file nfs4xdr.c.

#define encode_share_access_maxsz   (2)

Definition at line 149 of file nfs4xdr.c.

#define encode_stateid_maxsz   (XDR_QUADLEN(NFS4_STATEID_SIZE))

Definition at line 86 of file nfs4xdr.c.

#define encode_statfs_maxsz   (encode_getattr_maxsz)

Definition at line 254 of file nfs4xdr.c.

#define encode_symlink_maxsz
Value:
1 + \
nfs4_fattr_maxsz)

Definition at line 243 of file nfs4xdr.c.

#define encode_verifier_maxsz   (XDR_QUADLEN(NFS4_VERIFIER_SIZE))

Definition at line 88 of file nfs4xdr.c.

#define encode_write_maxsz
Value:
encode_stateid_maxsz + 4)

Definition at line 199 of file nfs4xdr.c.

#define errno_NFSERR_IO   EIO

Definition at line 65 of file nfs4xdr.c.

#define lock_owner_id_maxsz   (1 + 1 + 4)

Definition at line 80 of file nfs4xdr.c.

#define NFS4_dec_access_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_access_maxsz + \
decode_getattr_maxsz)

Definition at line 573 of file nfs4xdr.c.

#define NFS4_dec_close_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_close_maxsz + \
decode_getattr_maxsz)

Definition at line 497 of file nfs4xdr.c.

#define NFS4_dec_commit_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_commit_maxsz)

Definition at line 442 of file nfs4xdr.c.

#define NFS4_dec_compound_sz   (1024) /* XXX: large enough? */

Definition at line 403 of file nfs4xdr.c.

#define NFS4_dec_create_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_create_maxsz + \
decode_getfh_maxsz + \
decode_getattr_maxsz)

Definition at line 662 of file nfs4xdr.c.

#define NFS4_dec_delegreturn_sz
Value:
decode_sequence_maxsz + \
decode_delegreturn_maxsz + \
decode_getattr_maxsz)

Definition at line 697 of file nfs4xdr.c.

#define NFS4_dec_fs_locations_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_lookup_maxsz + \
decode_fs_locations_maxsz)

Definition at line 723 of file nfs4xdr.c.

#define NFS4_dec_fsinfo_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_fsinfo_maxsz)

Definition at line 516 of file nfs4xdr.c.

#define NFS4_dec_getacl_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_getacl_maxsz)

Definition at line 705 of file nfs4xdr.c.

#define NFS4_dec_getattr_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_getattr_maxsz)

Definition at line 582 of file nfs4xdr.c.

#define NFS4_dec_link_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_savefh_maxsz + \
decode_putfh_maxsz + \
decode_link_maxsz + \
decode_restorefh_maxsz + \
decode_getattr_maxsz)

Definition at line 636 of file nfs4xdr.c.

#define NFS4_dec_lock_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_lock_maxsz)

Definition at line 542 of file nfs4xdr.c.

#define NFS4_dec_lockt_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_lockt_maxsz)

Definition at line 550 of file nfs4xdr.c.

#define NFS4_dec_locku_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_locku_maxsz)

Definition at line 558 of file nfs4xdr.c.

#define NFS4_dec_lookup_root_sz
Value:
decode_sequence_maxsz + \
decode_putrootfh_maxsz + \
decode_getattr_maxsz + \
decode_getfh_maxsz)

Definition at line 603 of file nfs4xdr.c.

#define NFS4_dec_lookup_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_lookup_maxsz + \
decode_getattr_maxsz + \
decode_getfh_maxsz)

Definition at line 592 of file nfs4xdr.c.

#define NFS4_dec_open_confirm_sz
Value:
decode_putfh_maxsz + \
decode_open_confirm_maxsz)

Definition at line 464 of file nfs4xdr.c.

#define NFS4_dec_open_downgrade_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_open_downgrade_maxsz + \
decode_getattr_maxsz)

Definition at line 486 of file nfs4xdr.c.

#define NFS4_dec_open_noattr_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_open_maxsz + \
decode_access_maxsz + \
decode_getattr_maxsz)

Definition at line 474 of file nfs4xdr.c.

#define NFS4_dec_open_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_open_maxsz + \
decode_access_maxsz + \
decode_getfh_maxsz + \
decode_getattr_maxsz)

Definition at line 453 of file nfs4xdr.c.

#define NFS4_dec_pathconf_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_getattr_maxsz)

Definition at line 672 of file nfs4xdr.c.

#define NFS4_dec_read_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_read_maxsz)

Definition at line 408 of file nfs4xdr.c.

#define NFS4_dec_readdir_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_readdir_maxsz)

Definition at line 424 of file nfs4xdr.c.

#define NFS4_dec_readlink_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_readlink_maxsz)

Definition at line 416 of file nfs4xdr.c.

#define NFS4_dec_release_lockowner_sz
Value:
decode_lockowner_maxsz)

Definition at line 565 of file nfs4xdr.c.

#define NFS4_dec_remove_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_remove_maxsz)

Definition at line 612 of file nfs4xdr.c.

#define NFS4_dec_rename_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_savefh_maxsz + \
decode_putfh_maxsz + \
decode_rename_maxsz)

Definition at line 622 of file nfs4xdr.c.

#define NFS4_dec_renew_sz
Value:
decode_renew_maxsz)

Definition at line 522 of file nfs4xdr.c.

#define NFS4_dec_secinfo_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_secinfo_maxsz)

Definition at line 733 of file nfs4xdr.c.

#define NFS4_dec_server_caps_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_getattr_maxsz)

Definition at line 688 of file nfs4xdr.c.

#define NFS4_dec_setacl_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_setacl_maxsz)

Definition at line 713 of file nfs4xdr.c.

#define NFS4_dec_setattr_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_setattr_maxsz + \
decode_getattr_maxsz)

Definition at line 507 of file nfs4xdr.c.

#define NFS4_dec_setclientid_confirm_sz
Value:
decode_setclientid_confirm_maxsz + \
decode_putrootfh_maxsz + \
decode_fsinfo_maxsz)

Definition at line 533 of file nfs4xdr.c.

#define NFS4_dec_setclientid_sz
Value:
decode_setclientid_maxsz)

Definition at line 526 of file nfs4xdr.c.

#define NFS4_dec_statfs_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_statfs_maxsz)

Definition at line 680 of file nfs4xdr.c.

#define NFS4_dec_symlink_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_symlink_maxsz + \
decode_getattr_maxsz + \
decode_getfh_maxsz)

Definition at line 650 of file nfs4xdr.c.

#define NFS4_dec_write_sz
Value:
decode_sequence_maxsz + \
decode_putfh_maxsz + \
decode_write_maxsz + \
decode_getattr_maxsz)

Definition at line 433 of file nfs4xdr.c.

#define NFS4_enc_access_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_access_maxsz + \
encode_getattr_maxsz)

Definition at line 568 of file nfs4xdr.c.

#define NFS4_enc_close_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_close_maxsz + \
encode_getattr_maxsz)

Definition at line 492 of file nfs4xdr.c.

#define NFS4_enc_commit_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_commit_maxsz)

Definition at line 438 of file nfs4xdr.c.

#define NFS4_enc_compound_sz   (1024) /* XXX: large enough? */

Definition at line 402 of file nfs4xdr.c.

#define NFS4_enc_create_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_create_maxsz + \
encode_getfh_maxsz + \
encode_getattr_maxsz)

Definition at line 656 of file nfs4xdr.c.

#define NFS4_enc_delegreturn_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_delegreturn_maxsz + \
encode_getattr_maxsz)

Definition at line 692 of file nfs4xdr.c.

#define NFS4_enc_fs_locations_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_lookup_maxsz + \
encode_fs_locations_maxsz)

Definition at line 717 of file nfs4xdr.c.

#define NFS4_enc_fsinfo_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_fsinfo_maxsz)

Definition at line 512 of file nfs4xdr.c.

#define NFS4_enc_getacl_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_getacl_maxsz)

Definition at line 701 of file nfs4xdr.c.

#define NFS4_enc_getattr_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_getattr_maxsz)

Definition at line 578 of file nfs4xdr.c.

#define NFS4_enc_link_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_savefh_maxsz + \
encode_putfh_maxsz + \
encode_link_maxsz + \
encode_restorefh_maxsz + \
encode_getattr_maxsz)

Definition at line 628 of file nfs4xdr.c.

#define NFS4_enc_lock_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_lock_maxsz)

Definition at line 538 of file nfs4xdr.c.

#define NFS4_enc_lockt_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_lockt_maxsz)

Definition at line 546 of file nfs4xdr.c.

#define NFS4_enc_locku_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_locku_maxsz)

Definition at line 554 of file nfs4xdr.c.

#define NFS4_enc_lookup_root_sz
Value:
encode_sequence_maxsz + \
encode_putrootfh_maxsz + \
encode_getattr_maxsz + \
encode_getfh_maxsz)

Definition at line 598 of file nfs4xdr.c.

#define NFS4_enc_lookup_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_lookup_maxsz + \
encode_getattr_maxsz + \
encode_getfh_maxsz)

Definition at line 586 of file nfs4xdr.c.

#define NFS4_enc_open_confirm_sz
Value:
encode_putfh_maxsz + \
encode_open_confirm_maxsz)

Definition at line 460 of file nfs4xdr.c.

#define NFS4_enc_open_downgrade_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_open_downgrade_maxsz + \
encode_getattr_maxsz)

Definition at line 480 of file nfs4xdr.c.

#define NFS4_enc_open_noattr_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_open_maxsz + \
encode_access_maxsz + \
encode_getattr_maxsz)

Definition at line 468 of file nfs4xdr.c.

#define NFS4_enc_open_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_open_maxsz + \
encode_access_maxsz + \
encode_getfh_maxsz + \
encode_getattr_maxsz)

Definition at line 446 of file nfs4xdr.c.

#define NFS4_enc_pathconf_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_getattr_maxsz)

Definition at line 668 of file nfs4xdr.c.

#define NFS4_enc_read_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_read_maxsz)

Definition at line 404 of file nfs4xdr.c.

#define NFS4_enc_readdir_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_readdir_maxsz)

Definition at line 420 of file nfs4xdr.c.

#define NFS4_enc_readlink_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_readlink_maxsz)

Definition at line 412 of file nfs4xdr.c.

#define NFS4_enc_release_lockowner_sz
Value:
encode_lockowner_maxsz)

Definition at line 562 of file nfs4xdr.c.

#define NFS4_enc_remove_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_remove_maxsz)

Definition at line 608 of file nfs4xdr.c.

#define NFS4_enc_rename_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_savefh_maxsz + \
encode_putfh_maxsz + \
encode_rename_maxsz)

Definition at line 616 of file nfs4xdr.c.

#define NFS4_enc_renew_sz
Value:
encode_renew_maxsz)

Definition at line 520 of file nfs4xdr.c.

#define NFS4_enc_secinfo_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_secinfo_maxsz)

Definition at line 729 of file nfs4xdr.c.

#define NFS4_enc_server_caps_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_getattr_maxsz)

Definition at line 684 of file nfs4xdr.c.

#define NFS4_enc_setacl_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_setacl_maxsz)

Definition at line 709 of file nfs4xdr.c.

#define NFS4_enc_setattr_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_setattr_maxsz + \
encode_getattr_maxsz)

Definition at line 502 of file nfs4xdr.c.

#define NFS4_enc_setclientid_confirm_sz
Value:
encode_setclientid_confirm_maxsz + \
encode_putrootfh_maxsz + \
encode_fsinfo_maxsz)

Definition at line 528 of file nfs4xdr.c.

#define NFS4_enc_setclientid_sz
Value:
encode_setclientid_maxsz)

Definition at line 524 of file nfs4xdr.c.

#define NFS4_enc_statfs_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_statfs_maxsz)

Definition at line 676 of file nfs4xdr.c.

#define NFS4_enc_symlink_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_symlink_maxsz + \
encode_getattr_maxsz + \
encode_getfh_maxsz)

Definition at line 644 of file nfs4xdr.c.

#define NFS4_enc_write_sz
Value:
encode_sequence_maxsz + \
encode_putfh_maxsz + \
encode_write_maxsz + \
encode_getattr_maxsz)

Definition at line 428 of file nfs4xdr.c.

#define nfs4_fattr_bitmap_maxsz   4

Definition at line 98 of file nfs4xdr.c.

#define nfs4_fattr_maxsz
Value:
nfs4_fattr_value_maxsz)

Definition at line 110 of file nfs4xdr.c.

#define nfs4_fattr_value_maxsz
Value:
(1 + (1 + 2 + 2 + 4 + 2 + 1 + 1 + 2 + 2 + \
3 + 3 + 3 + nfs4_owner_maxsz + \
nfs4_group_maxsz + decode_mdsthreshold_maxsz))

Definition at line 107 of file nfs4xdr.c.

#define nfs4_group_maxsz   (1 + XDR_QUADLEN(IDMAP_NAMESZ))

Definition at line 103 of file nfs4xdr.c.

#define NFS4_MAXTAGLEN   0

Definition at line 73 of file nfs4xdr.c.

#define nfs4_name_maxsz   (1 + ((3 + NFS4_MAXNAMLEN) >> 2))

Definition at line 100 of file nfs4xdr.c.

#define nfs4_owner_maxsz   (1 + XDR_QUADLEN(IDMAP_NAMESZ))

Definition at line 102 of file nfs4xdr.c.

#define nfs4_path_maxsz   (1 + ((3 + NFS4_MAXPATHLEN) >> 2))

Definition at line 101 of file nfs4xdr.c.

#define NFSDBG_FACILITY   NFSDBG_XDR

Definition at line 62 of file nfs4xdr.c.

#define op_decode_hdr_maxsz   (2)

Definition at line 85 of file nfs4xdr.c.

#define op_encode_hdr_maxsz   (1)

Definition at line 84 of file nfs4xdr.c.

#define open_owner_id_maxsz   (1 + 2 + 1 + 1 + 2)

Definition at line 79 of file nfs4xdr.c.

#define PROC (   proc,
  argtype,
  restype 
)
Value:
[NFSPROC4_CLNT_##proc] = { \
.p_proc = NFSPROC4_COMPOUND, \
.p_encode = (kxdreproc_t)nfs4_xdr_##argtype, \
.p_decode = (kxdrdproc_t)nfs4_xdr_##restype, \
.p_arglen = NFS4_##argtype##_sz, \
.p_replen = NFS4_##restype##_sz, \
.p_statidx = NFSPROC4_CLNT_##proc, \
.p_name = #proc, \
}

Definition at line 7212 of file nfs4xdr.c.

Function Documentation

int nfs4_decode_dirent ( struct xdr_stream *  xdr,
struct nfs_entry entry,
int  plus 
)

nfs4_decode_dirent - Decode a single NFSv4 directory entry stored in the local page cache. : XDR stream where entry resides : buffer to fill in with entry data : boolean indicating whether this should be a readdirplus entry

Returns zero if successful, otherwise a negative errno value is returned.

This function is not invoked during READDIR reply decoding, but rather whenever an application invokes the getdents(2) system call on a directory already in our cache.

Definition at line 7084 of file nfs4xdr.c.

Variable Documentation

int errno

Definition at line 7154 of file nfs4xdr.c.

struct rpc_procinfo nfs4_procedures[]

Definition at line 7223 of file nfs4xdr.c.

struct rpc_version nfs_version4
Initial value:
= {
.number = 4,
.procs = nfs4_procedures
}

Definition at line 7281 of file nfs4xdr.c.

Definition at line 7153 of file nfs4xdr.c.