nfs-ganesha 1.4
|
#include "fsal.h"
#include "fsal_internal.h"
#include "SemN.h"
#include "nfs4.h"
#include "HashTable.h"
#include "abstract_mem.h"
#include <pthread.h>
Go to the source code of this file.
Defines | |
#define | FSAL_INTERNAL_C |
#define | SUPPORTED_ATTRIBUTES |
#define | SET_INTEGER_PARAM(cfg, p_init_info, _field) |
#define | SET_BITMAP_PARAM(cfg, p_init_info, _field) |
#define | SET_BOOLEAN_PARAM(cfg, p_init_info, _field) |
Functions | |
void | fsal_increment_nbcall (int function_index, fsal_status_t status) |
void | fsal_internal_getstats (fsal_statistics_t *output_stats) |
void | TakeTokenFSCall () |
void | ReleaseTokenFSCall () |
fsal_status_t | fsal_internal_testAccess (cephfsal_op_context_t *context, fsal_accessflags_t access_type, struct stat *st, fsal_attrib_list_t *object_attributes) |
fsal_status_t | fsal_internal_init_global (fsal_init_info_t *fsal_info, fs_common_initinfo_t *fs_common_info, fs_specific_initinfo_t *fs_specific_info) |
Variables | |
fsal_staticfsinfo_t | global_fs_info |
cephfs_specific_initinfo_t | global_spec_info |
semaphore_t | sem_fs_calls |
#define FSAL_INTERNAL_C |
Definition at line 34 of file FSAL_CEPH/fsal_internal.c.
#define SET_BITMAP_PARAM | ( | cfg, | |
p_init_info, | |||
_field | |||
) |
switch( (p_init_info)->behaviors._field ){ \ case FSAL_INIT_FORCE_VALUE : \ /* force the value in any case */ \ cfg._field = (p_init_info)->values._field; \ break; \ case FSAL_INIT_MAX_LIMIT : \ /* proceed a bit AND */ \ cfg._field &= (p_init_info)->values._field ; \ break; \ case FSAL_INIT_MIN_LIMIT : \ /* proceed a bit OR */ \ cfg._field |= (p_init_info)->values._field ; \ break; \ case FSAL_INIT_FS_DEFAULT: \ default: \ /* In the other cases, we keep the default value. */ \ break; \ }
Definition at line 302 of file FSAL_CEPH/fsal_internal.c.
#define SET_BOOLEAN_PARAM | ( | cfg, | |
p_init_info, | |||
_field | |||
) |
switch( (p_init_info)->behaviors._field ){ \ case FSAL_INIT_FORCE_VALUE : \ /* force the value in any case */ \ cfg._field = (p_init_info)->values._field; \ break; \ case FSAL_INIT_MAX_LIMIT : \ /* proceed a boolean AND */ \ cfg._field = cfg._field && (p_init_info)->values._field ; \ break; \ case FSAL_INIT_MIN_LIMIT : \ /* proceed a boolean OR */ \ cfg._field = cfg._field && (p_init_info)->values._field ; \ break; \ case FSAL_INIT_FS_DEFAULT: \ default: \ /* In the other cases, we keep the default value. */ \ break; \ }
Definition at line 322 of file FSAL_CEPH/fsal_internal.c.
#define SET_INTEGER_PARAM | ( | cfg, | |
p_init_info, | |||
_field | |||
) |
switch( (p_init_info)->behaviors._field ){ \ case FSAL_INIT_FORCE_VALUE : \ /* force the value in any case */ \ cfg._field = (p_init_info)->values._field; \ break; \ case FSAL_INIT_MAX_LIMIT : \ /* check the higher limit */ \ if ( cfg._field > (p_init_info)->values._field ) \ cfg._field = (p_init_info)->values._field ; \ break; \ case FSAL_INIT_MIN_LIMIT : \ /* check the lower limit */ \ if ( cfg._field < (p_init_info)->values._field ) \ cfg._field = (p_init_info)->values._field ; \ break; \ case FSAL_INIT_FS_DEFAULT: \ default: \ /* In the other cases, we keep the default value. */ \ break; \ }
Definition at line 280 of file FSAL_CEPH/fsal_internal.c.
#define SUPPORTED_ATTRIBUTES |
( \ FSAL_ATTR_SUPPATTR | FSAL_ATTR_TYPE | FSAL_ATTR_SIZE | \ FSAL_ATTR_FSID | FSAL_ATTR_FILEID | \ FSAL_ATTR_MODE | FSAL_ATTR_NUMLINKS | FSAL_ATTR_OWNER | \ FSAL_ATTR_GROUP | FSAL_ATTR_ATIME | FSAL_ATTR_RAWDEV | \ FSAL_ATTR_CTIME | FSAL_ATTR_MTIME | FSAL_ATTR_SPACEUSED | \ FSAL_ATTR_CHGTIME )
Definition at line 55 of file FSAL_CEPH/fsal_internal.c.
void fsal_increment_nbcall | ( | int | function_index, |
fsal_status_t | status | ||
) |
fsal_increment_nbcall: Updates fonction call statistics.
function_index | (input): Index of the function whom number of call is to be incremented. |
status | (input): Status the function returned. |
Definition at line 135 of file FSAL_CEPH/fsal_internal.c.
void fsal_internal_getstats | ( | fsal_statistics_t * | output_stats | ) |
fsal_internal_getstats: (For internal use in the FSAL). Retrieve call statistics for current thread.
output_stats | (output): Pointer to the call statistics structure. |
Definition at line 211 of file FSAL_CEPH/fsal_internal.c.
fsal_status_t fsal_internal_init_global | ( | fsal_init_info_t * | fsal_info, |
fs_common_initinfo_t * | fs_common_info, | ||
fs_specific_initinfo_t * | fs_specific_info | ||
) |
This function initializes shared variables of the FSAL.
Definition at line 490 of file FSAL_CEPH/fsal_internal.c.
fsal_status_t fsal_internal_testAccess | ( | fsal_op_context_t * | p_context, |
fsal_accessflags_t | access_type, | ||
struct stat * | p_buffstat, | ||
fsal_attrib_list_t * | p_object_attributes | ||
) |
test the access to a file from its POSIX attributes (struct stat) OR its FSAL attributes (fsal_attrib_list_t).
Definition at line 345 of file FSAL_CEPH/fsal_internal.c.
void ReleaseTokenFSCall | ( | ) |
Definition at line 269 of file FSAL_CEPH/fsal_internal.c.
void TakeTokenFSCall | ( | ) |
Used to limit the number of simultaneous calls to Filesystem.
Definition at line 258 of file FSAL_CEPH/fsal_internal.c.
Definition at line 52 of file FSAL_CEPH/fsal_internal.c.
Definition at line 53 of file FSAL_CEPH/fsal_internal.c.
Definition at line 109 of file FSAL_CEPH/fsal_internal.c.