nfs-ganesha 1.4
Defines | Functions

fsal_tools.c File Reference

#include "fsal.h"
#include "fsal_internal.h"
#include "fsal_common.h"
#include "fsal_convert.h"
#include "config_parsing.h"
#include <string.h>

Go to the source code of this file.

Defines

#define STRCMP   strcasecmp

Functions

char * FSAL_GetFSName ()
int FSAL_handlecmp (fsal_handle_t *handle1, fsal_handle_t *handle2, fsal_status_t *status)
unsigned int FSAL_Handle_to_HashIndex (fsal_handle_t *p_handle, unsigned int cookie, unsigned int alphabet_len, unsigned int index_size)
unsigned int FSAL_Handle_to_RBTIndex (fsal_handle_t *p_handle, unsigned int cookie)
fsal_status_t FSAL_DigestHandle (fsal_export_context_t *p_expcontext, fsal_digesttype_t output_type, const fsal_handle_t *in_fsal_handle, caddr_t out_buff)
fsal_status_t FSAL_ExpandHandle (fsal_export_context_t *p_expcontext, fsal_digesttype_t in_type, caddr_t in_buff, fsal_handle_t *out_fsal_handle)
fsal_status_t FSAL_SetDefault_FSAL_parameter (fsal_parameter_t *out_parameter)
fsal_status_t FSAL_SetDefault_FS_common_parameter (fsal_parameter_t *out_parameter)
fsal_status_t FSAL_SetDefault_FS_specific_parameter (fsal_parameter_t *out_parameter)
fsal_status_t FSAL_load_FSAL_parameter_from_conf (config_file_t in_config, fsal_parameter_t *out_parameter)
fsal_status_t FSAL_load_FS_common_parameter_from_conf (config_file_t in_config, fsal_parameter_t *out_parameter)
fsal_status_t FSAL_load_FS_specific_parameter_from_conf (config_file_t in_config, fsal_parameter_t *out_parameter)

Define Documentation

#define STRCMP   strcasecmp

Definition at line 26 of file FSAL_TEMPLATE/fsal_tools.c.


Function Documentation

fsal_status_t FSAL_DigestHandle ( fsal_export_context_t p_expcontext,
fsal_digesttype_t  output_type,
const fsal_handle_t in_fsal_handle,
caddr_t  out_buff 
)

FSAL_DigestHandle : Convert an fsal_handle_t to a buffer to be included into NFS handles, or another digest.

Parameters:
output_type(input): Indicates the type of digest to do.
in_fsal_handle(input): The handle to be converted to digest.
out_buff(output): The buffer where the digest is to be stored.
Returns:
The major code is ERR_FSAL_NO_ERROR is no error occured. Else, it is a non null value.

Definition at line 127 of file FSAL_TEMPLATE/fsal_tools.c.

fsal_status_t FSAL_ExpandHandle ( fsal_export_context_t p_expcontext,
fsal_digesttype_t  in_type,
caddr_t  in_buff,
fsal_handle_t out_fsal_handle 
)

FSAL_ExpandHandle : Convert a buffer extracted from NFS handles to an FSAL handle.

Parameters:
in_type(input): Indicates the type of digest to be expanded.
in_buff(input): Pointer to the digest to be expanded.
out_fsal_handle(output): The handle built from digest.
Returns:
The major code is ERR_FSAL_NO_ERROR is no error occured. Else, it is a non null value.

Definition at line 207 of file FSAL_TEMPLATE/fsal_tools.c.

char* FSAL_GetFSName ( )

Definition at line 28 of file FSAL_TEMPLATE/fsal_tools.c.

unsigned int FSAL_Handle_to_HashIndex ( fsal_handle_t p_handle,
unsigned int  cookie,
unsigned int  alphabet_len,
unsigned int  index_size 
)

FSAL_Handle_to_HashIndex This function is used for hashing a FSAL handle in order to dispatch entries into the hash table array.

Parameters:
p_handleThe handle to be hashed
cookieMakes it possible to have different hash value for the same handle, when cookie changes.
alphabet_lenParameter for polynomial hashing algorithm
index_sizeThe range of hash value will be [0..index_size-1]
Returns:
The hash value

Definition at line 81 of file FSAL_TEMPLATE/fsal_tools.c.

unsigned int FSAL_Handle_to_RBTIndex ( fsal_handle_t p_handle,
unsigned int  cookie 
)

FSAL_Handle_to_RBTIndex This function is used for generating a RBT node ID in order to identify entries into the RBT.

Parameters:
p_handleThe handle to be hashed
cookieMakes it possible to have different hash value for the same handle, when cookie changes.
Returns:
The hash value

Definition at line 103 of file FSAL_TEMPLATE/fsal_tools.c.

int FSAL_handlecmp ( fsal_handle_t handle1,
fsal_handle_t handle2,
fsal_status_t status 
)

FSAL_handlecmp: Compare 2 handles.

Parameters:
handle1(input): The first handle to be compared.
handle2(input): The second handle to be compared.
status(output): The status of the compare operation.
Returns:
- 0 if handles are the same.
  • A non null value else.
  • Segfault if status is a NULL pointer.

Definition at line 49 of file FSAL_TEMPLATE/fsal_tools.c.

fsal_status_t FSAL_load_FS_common_parameter_from_conf ( config_file_t  in_config,
fsal_parameter_t out_parameter 
)

Definition at line 446 of file FSAL_TEMPLATE/fsal_tools.c.

fsal_status_t FSAL_load_FS_specific_parameter_from_conf ( config_file_t  in_config,
fsal_parameter_t out_parameter 
)

Definition at line 653 of file FSAL_TEMPLATE/fsal_tools.c.

fsal_status_t FSAL_load_FSAL_parameter_from_conf ( config_file_t  in_config,
fsal_parameter_t out_parameter 
)

FSAL_load_FSAL_parameter_from_conf, FSAL_load_FS_common_parameter_from_conf, FSAL_load_FS_specific_parameter_from_conf:

Those functions initialize the FSAL init parameter structure from a configuration structure.

Parameters:
in_config(input): Structure that represents the parsed configuration file.
out_parameter(ouput) FSAL initialization structure filled according to the configuration file given as parameter.
Returns:
ERR_FSAL_NO_ERROR (no error) , ERR_FSAL_NOENT (missing a mandatory stanza in config file), ERR_FSAL_INVAL (invalid parameter), ERR_FSAL_SERVERFAULT (unexpected error) ERR_FSAL_FAULT (null pointer given as parameter),

Definition at line 340 of file FSAL_TEMPLATE/fsal_tools.c.

fsal_status_t FSAL_SetDefault_FS_common_parameter ( fsal_parameter_t out_parameter)

Definition at line 268 of file FSAL_TEMPLATE/fsal_tools.c.

fsal_status_t FSAL_SetDefault_FS_specific_parameter ( fsal_parameter_t out_parameter)

Definition at line 304 of file FSAL_TEMPLATE/fsal_tools.c.

fsal_status_t FSAL_SetDefault_FSAL_parameter ( fsal_parameter_t out_parameter)

Those routines set the default parameters for FSAL init structure.

Returns:
ERR_FSAL_NO_ERROR (no error) , ERR_FSAL_FAULT (null pointer given as parameter), ERR_FSAL_SERVERFAULT (unexpected error)

Definition at line 255 of file FSAL_TEMPLATE/fsal_tools.c.