nfs-ganesha 1.4
Defines | Functions

nfs_xattr.c File Reference

#include <stdio.h>
#include <string.h>
#include <pthread.h>
#include <fcntl.h>
#include <sys/file.h>
#include "HashData.h"
#include "HashTable.h"
#include "log.h"
#include "ganesha_rpc.h"
#include "nfs4.h"
#include "nfs_core.h"
#include "nfs_proto_functions.h"
#include "nfs_proto_tools.h"
#include "nfs_tools.h"
#include "nfs_exports.h"
#include "nfs_file_handle.h"
#include "cache_inode.h"

Go to the source code of this file.

Defines

#define RES_READDIR_REPLY   pres->res_readdir3.READDIR3res_u.resok.reply
#define RES_READDIRPLUS_REPLY   pres->res_readdirplus3.READDIRPLUS3res_u.resok.reply

Functions

int nfs_XattrD_Name (char *strname, char *objectname)
nfsstat3 nfs3_fh_to_xattrfh (nfs_fh3 *pfhin, nfs_fh3 *pfhout)
int nfs3_FSALattr_To_XattrDir (exportlist_t *pexport, fsal_attrib_list_t *FSAL_attr, fattr3 *Fattr)
int nfs_SetPostOpXAttrDir (fsal_op_context_t *pcontext, exportlist_t *pexport, fsal_attrib_list_t *pfsal_attr, post_op_attr *presult)
int nfs_SetPostOpXAttrFile (fsal_op_context_t *pcontext, exportlist_t *pexport, fsal_attrib_list_t *pfsal_attr, post_op_attr *presult)
int nfs3_Access_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Lookup_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Readdir_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Create_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Write_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Read_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Readdirplus_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Getattr_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)
int nfs3_Remove_Xattr (nfs_arg_t *parg, exportlist_t *pexport, fsal_op_context_t *pcontext, struct svc_req *preq, nfs_res_t *pres)

Define Documentation

#define RES_READDIR_REPLY   pres->res_readdir3.READDIR3res_u.resok.reply
#define RES_READDIRPLUS_REPLY   pres->res_readdirplus3.READDIRPLUS3res_u.resok.reply

Function Documentation

int nfs3_FSALattr_To_XattrDir ( exportlist_t pexport,
fsal_attrib_list_t FSAL_attr,
fattr3 Fattr 
)

nfs3_FSALattr_To_Fattr: Converts FSAL Attributes to NFSv3 attributes.

Converts FSAL Attributes to NFSv3 attributes.

Parameters:
pexport[IN] the related export entry
FSAL_attr[IN] pointer to FSAL attributes.
Fattr[OUT] pointer to NFSv3 attributes.
Returns:
1 if successful, 0 otherwise.

Xattr directory is indeed a directory

Definition at line 163 of file nfs_xattr.c.

int nfs_SetPostOpXAttrDir ( fsal_op_context_t pcontext,
exportlist_t pexport,
fsal_attrib_list_t pfsal_attr,
post_op_attr presult 
)

nfs_SetPostOpAttrDir: Converts FSAL Attributes to NFSv3 PostOp Attributes structure.

Converts FSAL Attributes to NFSv3 PostOp Attributes structure.

Parameters:
pexport[IN] the related export entry
pfsal_attr[IN] FSAL attributes
pattr[OUT] NFSv3 PostOp structure attributes.
Returns:
0 in all cases (making it a void function maybe a good idea)

Definition at line 212 of file nfs_xattr.c.

int nfs_SetPostOpXAttrFile ( fsal_op_context_t pcontext,
exportlist_t pexport,
fsal_attrib_list_t pfsal_attr,
post_op_attr presult 
)

nfs_SetPostOpAttrDir: Converts FSAL Attributes to NFSv3 PostOp Attributes structure.

Converts FSAL Attributes to NFSv3 PostOp Attributes structure.

Parameters:
pexport[IN] the related export entry
pfsal_attr[IN] FSAL attributes for xattr
pattr[OUT] NFSv3 PostOp structure attributes.
Returns:
0 in all cases (making it a void function maybe a good idea)

Definition at line 244 of file nfs_xattr.c.