nfs-ganesha 1.4
|
#include "fsal.h"
#include "fsal_internal.h"
#include "fsal_convert.h"
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <attr/xattr.h>
#include "abstract_mem.h"
Go to the source code of this file.
Classes | |
struct | fsal_xattr_def__ |
Defines | |
#define | XATTR_FOR_FILE 0x00000001 |
#define | XATTR_FOR_DIR 0x00000002 |
#define | XATTR_FOR_SYMLINK 0x00000004 |
#define | XATTR_FOR_ALL 0x0000000F |
#define | XATTR_RO 0x00000100 |
#define | XATTR_RW 0x00000200 |
#define | ARG_STRIPE_SIZE ((long)0) |
#define | ARG_STRIPE_COUNT ((long)1) |
#define | ARG_STORAGE_TGT ((long)2) |
#define | ARG_POOL ((long)3) |
#define | XATTR_COUNT 5 |
Typedefs | |
typedef int(* | xattr_getfunc_t )(fsal_handle_t *, fsal_op_context_t *, caddr_t, size_t, size_t *, void *arg) |
typedef int(* | xattr_setfunc_t )(fsal_handle_t *, fsal_op_context_t *, caddr_t, size_t, int, void *arg) |
typedef struct fsal_xattr_def__ | fsal_xattr_def_t |
Functions | |
int | print_fid (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size, void *arg) |
int | print_stripe (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size, void *arg) |
fsal_status_t | LUSTREFSAL_GetXAttrAttrs (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, unsigned int xattr_id, fsal_attrib_list_t *p_attrs) |
fsal_status_t | LUSTREFSAL_ListXAttrs (fsal_handle_t *p_objecthandle, unsigned int argcookie, fsal_op_context_t *p_context, fsal_xattrent_t *xattrs_tab, unsigned int xattrs_tabsize, unsigned int *p_nb_returned, int *end_of_list) |
fsal_status_t | LUSTREFSAL_GetXAttrValueById (fsal_handle_t *p_objecthandle, unsigned int xattr_id, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size) |
fsal_status_t | LUSTREFSAL_GetXAttrIdByName (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, unsigned int *pxattr_id) |
fsal_status_t | LUSTREFSAL_GetXAttrValueByName (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size) |
fsal_status_t | LUSTREFSAL_SetXAttrValue (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, int create) |
fsal_status_t | LUSTREFSAL_SetXAttrValueById (fsal_handle_t *p_objecthandle, unsigned int xattr_id, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size) |
fsal_status_t | LUSTREFSAL_RemoveXAttrById (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, unsigned int xattr_id) |
fsal_status_t | LUSTREFSAL_RemoveXAttrByName (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, const fsal_name_t *xattr_name) |
int | LUSTREFSAL_GetXattrOffsetSetable (void) |
#define ARG_POOL ((long)3) |
Definition at line 78 of file FSAL_LUSTRE/fsal_xattrs.c.
#define ARG_STORAGE_TGT ((long)2) |
Definition at line 77 of file FSAL_LUSTRE/fsal_xattrs.c.
#define ARG_STRIPE_COUNT ((long)1) |
Definition at line 76 of file FSAL_LUSTRE/fsal_xattrs.c.
#define ARG_STRIPE_SIZE ((long)0) |
Definition at line 75 of file FSAL_LUSTRE/fsal_xattrs.c.
#define XATTR_COUNT 5 |
Definition at line 348 of file FSAL_LUSTRE/fsal_xattrs.c.
#define XATTR_FOR_ALL 0x0000000F |
Definition at line 30 of file FSAL_LUSTRE/fsal_xattrs.c.
#define XATTR_FOR_DIR 0x00000002 |
Definition at line 28 of file FSAL_LUSTRE/fsal_xattrs.c.
#define XATTR_FOR_FILE 0x00000001 |
Definition at line 27 of file FSAL_LUSTRE/fsal_xattrs.c.
#define XATTR_FOR_SYMLINK 0x00000004 |
Definition at line 29 of file FSAL_LUSTRE/fsal_xattrs.c.
#define XATTR_RO 0x00000100 |
Definition at line 31 of file FSAL_LUSTRE/fsal_xattrs.c.
#define XATTR_RW 0x00000200 |
Definition at line 32 of file FSAL_LUSTRE/fsal_xattrs.c.
typedef struct fsal_xattr_def__ fsal_xattr_def_t |
typedef int(* xattr_getfunc_t)(fsal_handle_t *,fsal_op_context_t *,caddr_t,size_t,size_t *,void *arg) |
Definition at line 36 of file FSAL_LUSTRE/fsal_xattrs.c.
typedef int(* xattr_setfunc_t)(fsal_handle_t *,fsal_op_context_t *,caddr_t,size_t,int,void *arg) |
Definition at line 43 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_GetXAttrAttrs | ( | fsal_handle_t * | p_objecthandle, |
fsal_op_context_t * | p_context, | ||
unsigned int | xattr_id, | ||
fsal_attrib_list_t * | p_attrs | ||
) |
Get the attributes of an extended attribute from its index.
p_objecthandle | Handle of the object you want to get attribute for. |
p_context | pointer to the current security context. |
xattr_cookie | xattr's cookie (as returned by listxattrs). |
p_attrs | xattr's attributes. |
p_attrs | IN/OUT xattr attributes (if supported) |
Definition at line 526 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_GetXAttrIdByName | ( | fsal_handle_t * | p_objecthandle, |
const fsal_name_t * | xattr_name, | ||
fsal_op_context_t * | p_context, | ||
unsigned int * | pxattr_id | ||
) |
* Get the index of an xattr based on its name *
p_objecthandle | Handle of the object you want to get attribute for. |
xattr_name | the name of the attribute to be read. |
pxattr_id | found xattr_id |
Definition at line 966 of file FSAL_LUSTRE/fsal_xattrs.c.
int LUSTREFSAL_GetXattrOffsetSetable | ( | void | ) |
Definition at line 1235 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_GetXAttrValueById | ( | fsal_handle_t * | p_objecthandle, |
unsigned int | xattr_id, | ||
fsal_op_context_t * | p_context, | ||
caddr_t | buffer_addr, | ||
size_t | buffer_size, | ||
size_t * | p_output_size | ||
) |
Get the value of an extended attribute from its index.
p_objecthandle | Handle of the object you want to get attribute for. |
xattr_name | the name of the attribute to be read. |
p_context | pointer to the current security context. |
buffer_addr | address of the buffer where the xattr value is to be stored. |
buffer_size | size of the buffer where the xattr value is to be stored. |
p_output_size | size of the data actually stored into the buffer. |
Definition at line 889 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_GetXAttrValueByName | ( | fsal_handle_t * | p_objecthandle, |
const fsal_name_t * | xattr_name, | ||
fsal_op_context_t * | p_context, | ||
caddr_t | buffer_addr, | ||
size_t | buffer_size, | ||
size_t * | p_output_size | ||
) |
Get the value of an extended attribute from its name.
p_objecthandle | Handle of the object you want to get attribute for. |
xattr_name | the name of the attribute to be read. |
p_context | pointer to the current security context. |
buffer_addr | address of the buffer where the xattr value is to be stored. |
buffer_size | size of the buffer where the xattr value is to be stored. |
p_output_size | size of the data actually stored into the buffer. |
Definition at line 1029 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_ListXAttrs | ( | fsal_handle_t * | p_objecthandle, |
unsigned int | argcookie, | ||
fsal_op_context_t * | p_context, | ||
fsal_xattrent_t * | xattrs_tab, | ||
unsigned int | xattrs_tabsize, | ||
unsigned int * | p_nb_returned, | ||
int * | end_of_list | ||
) |
Retrieves the list of extended attributes for an object in the filesystem.
p_objecthandle | Handle of the object we want to get extended attributes. |
cookie | index of the next entry to be returned. |
p_context | pointer to the current security context. |
xattrs_tab | a table for storing extended attributes list to. |
xattrs_tabsize | the maximum number of xattr entries that xattrs_tab can contain. |
p_nb_returned | the number of xattr entries actually stored in xattrs_tab. |
end_of_list | this boolean indicates that the end of xattrs list has been reached. |
Definition at line 588 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_RemoveXAttrById | ( | fsal_handle_t * | p_objecthandle, |
fsal_op_context_t * | p_context, | ||
unsigned int | xattr_id | ||
) |
Removes a xattr by Id
p_objecthandle | Handle of the object you want to get attribute for. |
p_context | pointer to the current security context. |
xattr_id | xattr's id |
Definition at line 1179 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_RemoveXAttrByName | ( | fsal_handle_t * | p_objecthandle, |
fsal_op_context_t * | p_context, | ||
const fsal_name_t * | xattr_name | ||
) |
Removes a xattr by Name
p_objecthandle | Handle of the object you want to get attribute for. |
p_context | pointer to the current security context. |
xattr_name | xattr's name |
Definition at line 1213 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_SetXAttrValue | ( | fsal_handle_t * | p_objecthandle, |
const fsal_name_t * | xattr_name, | ||
fsal_op_context_t * | p_context, | ||
caddr_t | buffer_addr, | ||
size_t | buffer_size, | ||
int | create | ||
) |
Definition at line 1101 of file FSAL_LUSTRE/fsal_xattrs.c.
fsal_status_t LUSTREFSAL_SetXAttrValueById | ( | fsal_handle_t * | p_objecthandle, |
unsigned int | xattr_id, | ||
fsal_op_context_t * | p_context, | ||
caddr_t | buffer_addr, | ||
size_t | buffer_size | ||
) |
Definition at line 1138 of file FSAL_LUSTRE/fsal_xattrs.c.
int print_fid | ( | fsal_handle_t * | p_objecthandle, |
fsal_op_context_t * | p_context, | ||
caddr_t | buffer_addr, | ||
size_t | buffer_size, | ||
size_t * | p_output_size, | ||
void * | arg | ||
) |
Definition at line 63 of file FSAL_LUSTRE/fsal_xattrs.c.
int print_stripe | ( | fsal_handle_t * | p_objecthandle, |
fsal_op_context_t * | p_context, | ||
caddr_t | buffer_addr, | ||
size_t | buffer_size, | ||
size_t * | p_output_size, | ||
void * | arg | ||
) |
Definition at line 86 of file FSAL_LUSTRE/fsal_xattrs.c.