nfs-ganesha 1.4
Defines | Functions | Variables

fsal_tools.c File Reference

#include <ctype.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#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 * PROXYFSAL_GetFSName ()
int PROXYFSAL_handlecmp (fsal_handle_t *handle_1, fsal_handle_t *handle_2, fsal_status_t *status)
unsigned int PROXYFSAL_Handle_to_HashIndex (fsal_handle_t *handle, unsigned int cookie, unsigned int alphabet_len, unsigned int index_size)
unsigned int PROXYFSAL_Handle_to_RBTIndex (fsal_handle_t *handle, unsigned int cookie)
fsal_status_t PROXYFSAL_DigestHandle (fsal_export_context_t *exp_context, fsal_digesttype_t output_type, fsal_handle_t *in_handle, struct fsal_handle_desc *fh_desc)
fsal_status_t PROXYFSAL_ExpandHandle (fsal_export_context_t *p_expcontext, fsal_digesttype_t in_type, struct fsal_handle_desc *fh_desc)
fsal_status_t PROXYFSAL_SetDefault_FS_specific_parameter (fsal_parameter_t *out_parameter)
fsal_status_t PROXYFSAL_load_FS_specific_parameter_from_conf (config_file_t in_config, fsal_parameter_t *out_parameter)

Variables

proxyfs_specific_initinfo_t global_fsal_proxy_specific_info

Define Documentation

#define STRCMP   strcasecmp

Definition at line 42 of file FSAL_PROXY/fsal_tools.c.


Function Documentation

fsal_status_t PROXYFSAL_DigestHandle ( fsal_export_context_t exp_context,
fsal_digesttype_t  output_type,
fsal_handle_t in_handle,
struct fsal_handle_desc fh_desc 
)

FSAL_DigestHandle : Convert an proxyfsal_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 217 of file FSAL_PROXY/fsal_tools.c.

fsal_status_t PROXYFSAL_ExpandHandle ( fsal_export_context_t p_expcontext,
fsal_digesttype_t  in_type,
struct fsal_handle_desc fh_desc 
)

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.
fh_desc(input/output): Pointer to the handle descriptor, length is set and verified
Returns:
The major code is ERR_FSAL_NO_ERROR is no error occured. Else, it is a non null value.

Definition at line 310 of file FSAL_PROXY/fsal_tools.c.

char* PROXYFSAL_GetFSName ( )

Definition at line 44 of file FSAL_PROXY/fsal_tools.c.

unsigned int PROXYFSAL_Handle_to_HashIndex ( fsal_handle_t 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 104 of file FSAL_PROXY/fsal_tools.c.

unsigned int PROXYFSAL_Handle_to_RBTIndex ( fsal_handle_t handle,
unsigned int  cookie 
)

Definition at line 155 of file FSAL_PROXY/fsal_tools.c.

int PROXYFSAL_handlecmp ( fsal_handle_t handle_1,
fsal_handle_t handle_2,
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 65 of file FSAL_PROXY/fsal_tools.c.

fsal_status_t PROXYFSAL_load_FS_specific_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),

#ifdef _ALLOW_NFS_PROTO_CHOICE

#endif

Definition at line 462 of file FSAL_PROXY/fsal_tools.c.

fsal_status_t PROXYFSAL_SetDefault_FS_specific_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 394 of file FSAL_PROXY/fsal_tools.c.


Variable Documentation

Definition at line 44 of file FSAL_PROXY/fsal_init.c.