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