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 |