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/sunrpc/clnt.h>
#include <linux/nfs.h>
#include <linux/nfs3.h>
#include <linux/nfs_fs.h>
#include <linux/nfsacl.h>
#include "internal.h"
Go to the source code of this file.
Functions | |
int | nfs3_decode_dirent (struct xdr_stream *xdr, struct nfs_entry *entry, int plus) |
Variables | |
struct rpc_procinfo | nfs3_procedures [] |
struct rpc_version | nfs_version3 |
#define ACL3_getaclargs_sz (NFS3_fh_sz+1) |
#define ACL3_getaclres_sz |
#define ACL3_setaclargs_sz |
#define ACL3_setaclres_sz (1+NFS3_post_op_attr_sz) |
#define NFS3_accessargs_sz (NFS3_fh_sz+1) |
#define NFS3_accessres_sz (1+NFS3_post_op_attr_sz+1) |
#define NFS3_commitargs_sz (NFS3_fh_sz+3) |
#define NFS3_commitres_sz (1+NFS3_wcc_data_sz+2) |
#define NFS3_cookieverf_sz (NFS3_COOKIEVERFSIZE>>2) |
#define NFS3_createargs_sz (NFS3_diropargs_sz+NFS3_sattr_sz) |
#define NFS3_createres_sz (1+NFS3_fh_sz+NFS3_post_op_attr_sz+NFS3_wcc_data_sz) |
#define NFS3_diropargs_sz (NFS3_fh_sz+NFS3_filename_sz) |
#define NFS3_fh_sz (NFS3_fhandle_sz) /* shorthand */ |
#define NFS3_filename_sz (1+(NFS3_MAXNAMLEN>>2)) |
#define NFS3_fsinfores_sz (1+NFS3_post_op_attr_sz+12) |
#define NFS3_fsstatres_sz (1+NFS3_post_op_attr_sz+13) |
#define NFS3_getattrargs_sz (NFS3_fh_sz) |
#define NFS3_getattrres_sz (1+NFS3_fattr_sz) |
#define NFS3_linkargs_sz (NFS3_fh_sz+NFS3_diropargs_sz) |
#define NFS3_linkres_sz (1+NFS3_post_op_attr_sz+NFS3_wcc_data_sz) |
#define NFS3_lookupargs_sz (NFS3_fh_sz+NFS3_filename_sz) |
#define NFS3_lookupres_sz (1+NFS3_fh_sz+(2 * NFS3_post_op_attr_sz)) |
#define NFS3_mkdirargs_sz (NFS3_diropargs_sz+NFS3_sattr_sz) |
#define NFS3_mknodargs_sz (NFS3_diropargs_sz+2+NFS3_sattr_sz) |
#define NFS3_path_sz (1+(NFS3_MAXPATHLEN>>2)) |
#define NFS3_pathconfres_sz (1+NFS3_post_op_attr_sz+6) |
#define NFS3_post_op_attr_sz (1+NFS3_fattr_sz) |
#define NFS3_pre_op_attr_sz (1+NFS3_wcc_attr_sz) |
#define NFS3_readargs_sz (NFS3_fh_sz+3) |
#define NFS3_readdirargs_sz (NFS3_fh_sz+NFS3_cookieverf_sz+3) |
#define NFS3_readdirplusargs_sz (NFS3_fh_sz+NFS3_cookieverf_sz+4) |
#define NFS3_readdirres_sz (1+NFS3_post_op_attr_sz+2) |
#define NFS3_readlinkargs_sz (NFS3_fh_sz) |
#define NFS3_readlinkres_sz (1+NFS3_post_op_attr_sz+1) |
#define NFS3_readres_sz (1+NFS3_post_op_attr_sz+3) |
#define NFS3_removeargs_sz (NFS3_fh_sz+NFS3_filename_sz) |
#define NFS3_removeres_sz (NFS3_setattrres_sz) |
#define NFS3_renameargs_sz (NFS3_diropargs_sz+NFS3_diropargs_sz) |
#define NFS3_renameres_sz (1+(2 * NFS3_wcc_data_sz)) |
#define NFS3_setattrargs_sz (NFS3_fh_sz+NFS3_sattr_sz+3) |
#define NFS3_setattrres_sz (1+NFS3_wcc_data_sz) |
#define NFS3_symlinkargs_sz (NFS3_diropargs_sz+1+NFS3_sattr_sz) |
#define NFS3_wcc_data_sz (NFS3_pre_op_attr_sz+NFS3_post_op_attr_sz) |
#define NFS3_writeargs_sz (NFS3_fh_sz+5) |
#define NFS3_writeres_sz (1+NFS3_wcc_data_sz+4) |
#define NFSDBG_FACILITY NFSDBG_XDR |
#define PROC | ( | proc, | |
argtype, | |||
restype, | |||
timer | |||
) |
nfs3_decode_dirent - Decode a single NFSv3 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.
3.3.16 entry3
struct entry3 { fileid3 fileid; filename3 name; cookie3 cookie; fhandle3 filehandle; post_op_attr3 attributes; entry3 *nextentry; };
3.3.17 entryplus3 struct entryplus3 { fileid3 fileid; filename3 name; cookie3 cookie; post_op_attr name_attributes; post_op_fh3 name_handle; entryplus3 *nextentry; };
struct rpc_procinfo nfs3_procedures[] |
struct rpc_version nfs_version3 |