nfs-ganesha 1.4
Defines | Functions | Variables

fsal_attrs.c File Reference

#include <string.h>
#include <rpc/rpc.h>
#include <rpc/xdr.h>
#include "nfs4.h"
#include "fsal_internal.h"
#include "fsal_convert.h"
#include "fsal_common.h"
#include "nfs_proto_functions.h"
#include "nfs_proto_tools.h"
#include "fsal_nfsv4_macros.h"

Go to the source code of this file.

Defines

#define FSAL_GETATTR_NB_OP_ALLOC   2
#define FSAL_GETATTR_IDX_OP_PUTFH   0
#define FSAL_GETATTR_IDX_OP_GETATTR   1
#define FSAL_SETATTR_NB_OP_ALLOC   3
#define FSAL_SETATTR_VAL_BUFFER   1024
#define FSAL_SETATTR_IDX_OP_PUTFH   0
#define FSAL_SETATTR_IDX_OP_SETATTR   1
#define FSAL_SETATTR_IDX_OP_GETATTR   2

Functions

fsal_status_t PROXYFSAL_getattrs (fsal_handle_t *filehandle, fsal_op_context_t *context, fsal_attrib_list_t *object_attributes)
fsal_status_t PROXYFSAL_setattrs (fsal_handle_t *filehandle, fsal_op_context_t *context, fsal_attrib_list_t *attrib_set, fsal_attrib_list_t *object_attributes)

Variables

fsal_staticfsinfo_t default_proxy_info

Define Documentation

#define FSAL_GETATTR_IDX_OP_GETATTR   1
#define FSAL_GETATTR_IDX_OP_PUTFH   0
#define FSAL_GETATTR_NB_OP_ALLOC   2
#define FSAL_SETATTR_IDX_OP_GETATTR   2
#define FSAL_SETATTR_IDX_OP_PUTFH   0
#define FSAL_SETATTR_IDX_OP_SETATTR   1
#define FSAL_SETATTR_NB_OP_ALLOC   3
#define FSAL_SETATTR_VAL_BUFFER   1024

Function Documentation

fsal_status_t PROXYFSAL_getattrs ( fsal_handle_t filehandle,
fsal_op_context_t context,
fsal_attrib_list_t object_attributes 
)

PROXYFSAL_getattrs: Get attributes for the object specified by its filehandle.

Parameters:
filehandle(input): The handle of the object to get parameters.
p_context(input): Authentication context for the operation (user, export...).
object_attributes(mandatory input/output): The retrieved attributes for the object. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains).
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • ERR_FSAL_STALE (object_handle does not address an existing object)
  • ERR_FSAL_FAULT (a NULL pointer was passed as mandatory argument)
  • Another error code if an error occured.

Todo:
BUGAZOMEU Cleaner supported_attributes to be put here

Definition at line 63 of file FSAL_PROXY/fsal_attrs.c.

fsal_status_t PROXYFSAL_setattrs ( fsal_handle_t filehandle,
fsal_op_context_t context,
fsal_attrib_list_t attrib_set,
fsal_attrib_list_t object_attributes 
)

PROXYFSAL_setattrs: Set attributes for the object specified by its filehandle.

Parameters:
filehandle(input): The handle of the object to get parameters.
p_context(input): Authentication context for the operation (user,...).
attrib_set(mandatory input): The attributes to be set for the object. It defines the attributes that the caller wants to set and their values.
object_attributes(optionnal input/output): The post operation attributes for the object. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • ERR_FSAL_STALE (object_handle does not address an existing object)
  • ERR_FSAL_INVAL (tried to modify a read-only attribute)
  • ERR_FSAL_ATTRNOTSUPP (tried to modify a non-supported attribute)
  • ERR_FSAL_FAULT (a NULL pointer was passed as mandatory argument)
  • Another error code if an error occured. NB: if getting postop attributes failed, the function does not return an error but the FSAL_ATTR_RDATTR_ERR bit is set in the object_attributes->asked_attributes field.

Definition at line 196 of file FSAL_PROXY/fsal_attrs.c.


Variable Documentation

Definition at line 61 of file FSAL_PROXY/fsal_internal.c.