nfs-ganesha 1.4
Classes | Defines | Typedefs | Enumerations | Functions | Variables

nfs_core.h File Reference

Prototypes for the different threads in the nfs core. More...

#include <pthread.h>
#include <sys/types.h>
#include <sys/param.h>
#include <time.h>
#include <sys/time.h>
#include "ganesha_rpc.h"
#include "LRU_List.h"
#include "fsal.h"
#include "cache_inode.h"
#include "nfs_stat.h"
#include "external_tools.h"
#include "nfs23.h"
#include "nfs4.h"
#include "mount.h"
#include "nfs_proto_functions.h"
#include "nfs_dupreq.h"
#include "err_LRU_List.h"
#include "err_HashTable.h"
#include "fsal_up.h"

Go to the source code of this file.

Classes

struct  nfs_worker_param__
struct  nfs_rpc_dupreq_param__
struct  nfs_core_param__
struct  nfs_ip_name_param__
struct  nfs_ip_stats_param__
struct  nfs_client_id_param__
struct  nfs_state_id_param__
struct  nfs4_owner_parameter_t
struct  nfs_idmap_cache_param__
struct  nfs_fsal_up_param__
struct  nfs_version4_parameter__
struct  nfs_param__
struct  nfs_dupreq_stat__
struct  nfs_request_data__
struct  wait_entry
struct  wait_q_entry
struct  rpc_call_channel
struct  __nfs4_compound
struct  _rpc_call
struct  request_data__
union  request_data__::request_content__
struct  gsh_addr
struct  nfs_thread_control_block__
struct  nfs_worker_data__
struct  nfs_flush_thread_data__
struct  ganesha_stats__

Defines

#define NB_MAX_WORKER_THREAD   4096
#define NB_MAX_FLUSHER_THREAD   100
#define NB_WORKER_THREAD_DEFAULT   16
#define NB_FLUSHER_THREAD_DEFAULT   16
#define NB_REQUEST_BEFORE_QUEUE_AVG   1000
#define NB_MAX_CONCURRENT_GC   3
#define NB_MAX_PENDING_REQUEST   30
#define NB_REQUEST_BEFORE_GC   50
#define PRIME_DUPREQ   17
#define PRIME_ID_MAPPER   17
#define DUPREQ_EXPIRATION   180
#define PRIME_CACHE_INODE   37
#define PRIME_IP_NAME   17
#define IP_NAME_EXPIRATION   36000
#define PRIME_IP_STATS   17
#define PRIME_CLIENT_ID   17
#define PRIME_STATE_ID   17
#define DEFAULT_NFS_PRINCIPAL   "nfs"
#define DEFAULT_NFS_KEYTAB   ""
#define DEFAULT_NFS_CCACHE_DIR   "/var/run/ganesha"
#define CONF_LABEL_NFS_CORE   "NFS_Core_Param"
#define CONF_LABEL_NFS_WORKER   "NFS_Worker_Param"
#define CONF_LABEL_NFS_DUPREQ   "NFS_DupReq_Hash"
#define CONF_LABEL_NFS_IP_NAME   "NFS_IP_Name"
#define CONF_LABEL_NFS_KRB5   "NFS_KRB5"
#define CONF_LABEL_PNFS   "pNFS"
#define CONF_LABEL_NFS_VERSION4   "NFSv4"
#define CONF_LABEL_CLIENT_ID   "NFSv4_ClientId_Cache"
#define CONF_LABEL_STATE_ID   "NFSv4_StateId_Cache"
#define CONF_LABEL_SESSION_ID   "NFSv4_Session_Cache"
#define CONF_LABEL_UID_MAPPER   "UidMapper_Cache"
#define CONF_LABEL_GID_MAPPER   "GidMapper_Cache"
#define CONF_LABEL_UID_MAPPER_TABLE   "Users"
#define CONF_LABEL_GID_MAPPER_TABLE   "Groups"
#define CONF_LABEL_IP_NAME_HOSTS   "Hosts"
#define CONF_LABEL_NFSV4_REFERRALS   "NFSv4_Referrals"
#define THREAD_STACK_SIZE   2116488
#define NFS_PORT   2049
#define RQUOTA_PORT   875
#define RQCRED_SIZE   400
#define NFS_DEFAULT_SEND_BUFFER_SIZE   32768
#define NFS_DEFAULT_RECV_BUFFER_SIZE   32768
#define GANESHA_RAW_DEV_MAJOR   168
#define GANESHA_RAW_DEV_MINOR   168
#define TMP_STR_LEN   256
#define AUTH_STR_LEN   30
#define PWENT_MAX_LEN   81
#define ID_MAPPER_SUCCESS   0
#define ID_MAPPER_INSERT_MALLOC_ERROR   1
#define ID_MAPPER_NOT_FOUND   2
#define ID_MAPPER_INVALID_ARGUMENT   3
#define ID_MAPPER_FAIL   4
#define NFS_V4_MAX_QUOTA_SOFT   4294967296LL
#define NFS_V4_MAX_QUOTA_HARD   17179869184LL
#define NFS_V4_MAX_QUOTA   34359738368LL
#define CORE_OPTION_NFSV2   0x00000002
#define CORE_OPTION_NFSV3   0x00000004
#define CORE_OPTION_NFSV4   0x00000008
#define CORE_OPTION_ALL_VERS   0x0000000E
#define XATTRD_NAME   ".xattr.d."
#define XATTRD_NAME_LEN   9
#define XATTR_BUFFERSIZE   4096
#define FSAL_ATTR_MASK_V2_V3
#define FSAL_ATTR_MASK_V4
#define WORKER_INDEX_ANY   INT_MAX

Typedefs

typedef char path_str_t [MAXPATHLEN]
typedef struct nfs_worker_param__ nfs_worker_parameter_t
typedef struct
nfs_rpc_dupreq_param__ 
nfs_rpc_dupreq_parameter_t
typedef enum protos protos
typedef struct nfs_core_param__ nfs_core_parameter_t
typedef struct nfs_ip_name_param__ nfs_ip_name_parameter_t
typedef struct nfs_ip_stats_param__ nfs_ip_stats_parameter_t
typedef struct
nfs_client_id_param__ 
nfs_client_id_parameter_t
typedef struct nfs_state_id_param__ nfs_state_id_parameter_t
typedef struct
nfs4_owner_parameter_t 
nfs4_owner_parameter_t
typedef struct
nfs_idmap_cache_param__ 
nfs_idmap_cache_parameter_t
typedef struct nfs_fsal_up_param__ nfs_fsal_up_parameter_t
typedef char entry_name_array_item_t [FSAL_MAX_NAME_LEN]
typedef struct
nfs_version4_parameter__ 
nfs_version4_parameter_t
typedef struct nfs_param__ nfs_parameter_t
typedef struct nfs_dupreq_stat__ nfs_dupreq_stat_t
typedef struct nfs_request_data__ nfs_request_data_t
typedef struct wait_entry wait_entry_t
typedef struct wait_q_entry wait_queue_entry_t
typedef struct rpc_call_channel rpc_call_channel_t
typedef struct __nfs4_compound nfs4_compound_t
typedef enum rpc_call_hook rpc_call_hook
typedef struct _rpc_call rpc_call_t
typedef int32_t(* rpc_call_func )(rpc_call_t *call, rpc_call_hook hook, void *arg, uint32_t flags)
typedef enum request_type__ request_type_t
typedef struct request_data__ request_data_t
typedef enum rfc_5665_nc_type nc_type
typedef struct gsh_addr gsh_addr_t
typedef enum idmap_type__ idmap_type_t
typedef enum pause_state pause_state_t
typedef struct
nfs_thread_control_block__ 
nfs_tcb_t
typedef struct
nfs_flush_thread_data__ 
nfs_flush_thread_data_t
typedef struct ganesha_stats__ ganesha_stats_t
typedef enum process_status process_status_t
typedef enum pause_reason pause_reason_t
typedef enum awaken_reason awaken_reason_t
typedef enum pause_rc pause_rc
typedef enum worker_available_rc worker_available_rc

Enumerations

enum  protos { P_NFS, P_MNT, P_COUNT }
enum  rpc_chan_type { RPC_CHAN_V40, RPC_CHAN_V41 }
enum  rpc_call_hook { RPC_CALL_COMPLETE, RPC_CALL_ABORT }
enum  request_type__ { NFS_CALL, NFS_REQUEST, NFS_REQUEST_LEADER, _9P_REQUEST }
enum  rfc_5665_nc_type {
  _NC_ERR, _NC_TCP, _NC_TCP6, _NC_RDMA,
  _NC_RDMA6, _NC_SCTP, _NC_SCTP6, _NC_UDP,
  _NC_UDP6
}
enum  idmap_type__ { UIDMAP_TYPE = 1, GIDMAP_TYPE = 2 }
enum  pause_state {
  STATE_STARTUP, STATE_AWAKEN, STATE_AWAKE, STATE_PAUSE,
  STATE_PAUSED, STATE_EXIT
}
enum  process_status { PROCESS_DISPATCHED, PROCESS_LOST_CONN, PROCESS_DONE }
enum  pause_reason { PAUSE_RELOAD_EXPORTS, PAUSE_SHUTDOWN }
enum  awaken_reason { AWAKEN_STARTUP, AWAKEN_RELOAD_EXPORTS }
enum  pause_rc { PAUSE_OK, PAUSE_PAUSE, PAUSE_EXIT }
enum  worker_available_rc {
  WORKER_AVAILABLE, WORKER_BUSY, WORKER_PAUSED, WORKER_GC,
  WORKER_ALL_PAUSED, WORKER_EXIT
}

Functions

nc_type nfs_netid_to_nc (const char *netid)
void nfs_set_client_location (nfs_client_id_t *pclientid, const clientaddr4 *addr4)
enum auth_stat AuthenticateRequest (nfs_request_data_t *pnfsreq, bool_t *dispatch)
pause_rc pause_workers (pause_reason_t reason)
pause_rc wake_workers (awaken_reason_t reason)
pause_rc wait_for_workers_to_awaken ()
void DispatchWorkNFS (request_data_t *pnfsreq, unsigned int worker_index)
void * worker_thread (void *IndexArg)
request_data_tnfs_rpc_get_nfsreq (nfs_worker_data_t *worker, uint32_t flags)
process_status_t process_rpc_request (SVCXPRT *xprt)
process_status_t dispatch_rpc_subrequest (nfs_worker_data_t *mydata, request_data_t *onfsreq)
int stats_snmp (void)
void * rpc_dispatcher_thread (void *UnusedArg)
void * admin_thread (void *UnusedArg)
void * stats_thread (void *UnusedArg)
void * long_processing_thread (void *UnusedArg)
void * stat_exporter_thread (void *UnusedArg)
void * file_content_gc_thread (void *UnusedArg)
void * nfs_file_content_flush_thread (void *flush_data_arg)
void * reaper_thread (void *UnusedArg)
void * rpc_tcp_socket_manager_thread (void *Arg)
void * sigmgr_thread (void *UnusedArg)
void * fsal_up_thread (void *Arg)
void * state_async_thread (void *UnusedArg)
void nfs_operate_on_sigusr1 ()
void nfs_operate_on_sigterm ()
void nfs_operate_on_sighup ()
void nfs_Init_svc (void)
void nfs_Init_admin_data (void)
int nfs_Init_worker_data (nfs_worker_data_t *pdata)
int nfs_Init_request_data (nfs_request_data_t *pdata)
int nfs_Init_gc_counter (void)
void nfs_rpc_dispatch_threads (pthread_attr_t *attr_thr)
void constructor_nfs_request_data_t (void *ptr, void *parameters)
void constructor_request_data_t (void *ptr, void *parameters)
int get_stat_exporter_conf (config_file_t in_config, external_tools_parameter_t *out_parameter)
int nfs_read_core_conf (config_file_t in_config, nfs_core_parameter_t *pparam)
int nfs_read_worker_conf (config_file_t in_config, nfs_worker_parameter_t *pparam)
int nfs_read_dupreq_hash_conf (config_file_t in_config, nfs_rpc_dupreq_parameter_t *pparam)
int nfs_read_ip_name_conf (config_file_t in_config, nfs_ip_name_parameter_t *pparam)
int nfs_read_version4_conf (config_file_t in_config, nfs_version4_parameter_t *pparam)
int nfs_read_client_id_conf (config_file_t in_config, nfs_client_id_parameter_t *pparam)
int nfs_read_uidmap_conf (config_file_t in_config, nfs_idmap_cache_parameter_t *pparam)
int nfs_read_gidmap_conf (config_file_t in_config, nfs_idmap_cache_parameter_t *pparam)
int nfs_read_state_id_conf (config_file_t in_config, nfs_state_id_parameter_t *pparam)
int nfs_export_create_root_entry (exportlist_t *pexportlist)
int nfs_AddClientsToClientArray (exportlist_client_t *clients, int new_clients_number, char **new_clients_name, int option)
int parseAccessParam (char *var_name, char *var_value, exportlist_t *p_entry, int access_option)
int export_client_match (sockaddr_t *hostaddr, char *ipstring, exportlist_client_t *clients, exportlist_client_entry_t *pclient_found, unsigned int export_option)
int export_client_matchv6 (struct in6_addr *paddrv6, exportlist_client_t *clients, exportlist_client_entry_t *pclient_found, unsigned int export_option)
void admin_replace_exports ()
int CleanUpExportContext (fsal_export_context_t *p_export_context)
exportlist_tRemoveExportEntry (exportlist_t *exportEntry)
exportlist_tGetExportEntry (char *exportPath)
unsigned int get_rpc_xid (struct svc_req *reqp)
void Print_param_worker_in_log (nfs_worker_parameter_t *pparam)
void Print_param_in_log ()
void nfs_reset_stats (void)
int display_req_key (hash_buffer_t *pbuff, char *str)
int display_req_val (hash_buffer_t *pbuff, char *str)
int compare_req (hash_buffer_t *buff1, hash_buffer_t *buff2)
int print_entry_dupreq (LRU_data_t data, char *str)
int clean_entry_dupreq (LRU_entry_t *pentry, void *addparam)
int print_pending_request (LRU_data_t data, char *str)
void auth_stat2str (enum auth_stat, char *str)
uint64_t idmapper_rbt_hash_func (hash_parameter_t *p_hparam, hash_buffer_t *buffclef)
uint64_t namemapper_rbt_hash_func (hash_parameter_t *p_hparam, hash_buffer_t *buffclef)
uint32_t namemapper_value_hash_func (hash_parameter_t *p_hparam, hash_buffer_t *buffclef)
uint32_t idmapper_value_hash_func (hash_parameter_t *p_hparam, hash_buffer_t *buffclef)
int idmap_populate (char *path, idmap_type_t maptype)
int idmap_gid_init (nfs_idmap_cache_parameter_t param)
int idmap_gname_init (nfs_idmap_cache_parameter_t param)
int idmap_uid_init (nfs_idmap_cache_parameter_t param)
int idmap_uname_init (nfs_idmap_cache_parameter_t param)
int uidgidmap_init (nfs_idmap_cache_parameter_t param)
int display_idmapper_val (hash_buffer_t *pbuff, char *str)
int display_idmapper_key (hash_buffer_t *pbuff, char *str)
int compare_idmapper (hash_buffer_t *buff1, hash_buffer_t *buff2)
int compare_namemapper (hash_buffer_t *buff1, hash_buffer_t *buff2)
int compare_state_id (hash_buffer_t *buff1, hash_buffer_t *buff2)
int idmap_compute_hash_value (char *name, uint32_t *phashval)
int idmap_add (hash_table_t *ht, char *key, unsigned int val)
int uidmap_add (char *key, unsigned int val)
int gidmap_add (char *key, unsigned int val)
int namemap_add (hash_table_t *ht, unsigned int key, char *val)
int unamemap_add (unsigned int key, char *val)
int gnamemap_add (unsigned int key, char *val)
int uidgidmap_add (unsigned int key, unsigned int value)
int idmap_get (hash_table_t *ht, char *key, unsigned long *pval)
int uidmap_get (char *key, unsigned long *pval)
int gidmap_get (char *key, unsigned long *pval)
int namemap_get (hash_table_t *ht, unsigned int key, char *pval)
int unamemap_get (unsigned int key, char *val)
int gnamemap_get (unsigned int key, char *val)
int uidgidmap_get (unsigned int key, unsigned int *pval)
int idmap_remove (hash_table_t *ht, char *key)
int uidmap_remove (char *key)
int gidmap_remove (char *key)
int namemap_remove (hash_table_t *ht, unsigned int key)
int unamemap_remove (unsigned int key)
int gnamemap_remove (unsigned int key)
int uidgidmap_remove (unsigned int key)
int uidgidmap_clear ()
int idmap_clear ()
int namemap_clear ()
void idmap_get_stats (idmap_type_t maptype, hash_stat_t *phstat, hash_stat_t *phstat_reverse)
int fridgethr_get (pthread_t *pthrid, void *(*thrfunc)(void *), void *thrarg)
void * fridgethr_freeze ()
int fridgethr_init ()
unsigned int nfs_core_select_worker_queue (unsigned int avoid_index)
int nfs_Init_ip_name (nfs_ip_name_parameter_t param)
hash_table_tnfs_Init_ip_stats (nfs_ip_stats_parameter_t param)
int nfs_Init_dupreq (nfs_rpc_dupreq_parameter_t param)
const nfs_function_desc_tnfs_rpc_get_funcdesc (nfs_request_data_t *preqnfs)
int nfs_rpc_get_args (nfs_request_data_t *preqnfs, const nfs_function_desc_t *pfuncdesc)
void stats_collect (ganesha_stats_t *ganesha_stats)
void nfs_rpc_destroy_chan (rpc_call_channel_t *chan)
int32_t nfs_rpc_dispatch_call (rpc_call_t *call, uint32_t flags)

Variables

gss_OID_desc krb5oid
pool_trequest_pool
pool_trequest_data_pool
pool_tdupreq_pool
pool_tip_stats_pool
nfs_parameter_t nfs_param
time_t ServerBootTime
time_t ServerEpoch
verifier4 NFS4_write_verifier
writeverf3 NFS3_write_verifier
nfs_worker_data_tworkers_data
char config_path [MAXPATHLEN]
char pidfile_path [MAXPATHLEN]
ushort g_nodeid
const char * pause_rc_str []
pool_tnfs_clientid_pool
const nfs_function_desc_tINVALID_FUNCDESC

Detailed Description

Prototypes for the different threads in the nfs core.

Author:
Author:
leibovic
Date:
Date:
2006/02/22 12:02:39
Version:
Revision:
1.43

nfs_core.h : Prototypes for the different threads in the nfs core.

Definition in file nfs_core.h.


Define Documentation

#define AUTH_STR_LEN   30

Definition at line 136 of file nfs_core.h.

#define CONF_LABEL_CLIENT_ID   "NFSv4_ClientId_Cache"

Definition at line 110 of file nfs_core.h.

#define CONF_LABEL_GID_MAPPER   "GidMapper_Cache"

Definition at line 114 of file nfs_core.h.

#define CONF_LABEL_GID_MAPPER_TABLE   "Groups"

Definition at line 116 of file nfs_core.h.

#define CONF_LABEL_IP_NAME_HOSTS   "Hosts"

Definition at line 117 of file nfs_core.h.

#define CONF_LABEL_NFS_CORE   "NFS_Core_Param"

Definition at line 103 of file nfs_core.h.

#define CONF_LABEL_NFS_DUPREQ   "NFS_DupReq_Hash"

Definition at line 105 of file nfs_core.h.

#define CONF_LABEL_NFS_IP_NAME   "NFS_IP_Name"

Definition at line 106 of file nfs_core.h.

#define CONF_LABEL_NFS_KRB5   "NFS_KRB5"

Definition at line 107 of file nfs_core.h.

#define CONF_LABEL_NFS_VERSION4   "NFSv4"

Definition at line 109 of file nfs_core.h.

#define CONF_LABEL_NFS_WORKER   "NFS_Worker_Param"

Definition at line 104 of file nfs_core.h.

#define CONF_LABEL_NFSV4_REFERRALS   "NFSv4_Referrals"

Definition at line 118 of file nfs_core.h.

#define CONF_LABEL_PNFS   "pNFS"

Definition at line 108 of file nfs_core.h.

#define CONF_LABEL_SESSION_ID   "NFSv4_Session_Cache"

Definition at line 112 of file nfs_core.h.

#define CONF_LABEL_STATE_ID   "NFSv4_StateId_Cache"

Definition at line 111 of file nfs_core.h.

#define CONF_LABEL_UID_MAPPER   "UidMapper_Cache"

Definition at line 113 of file nfs_core.h.

#define CONF_LABEL_UID_MAPPER_TABLE   "Users"

Definition at line 115 of file nfs_core.h.

#define CORE_OPTION_ALL_VERS   0x0000000E

Definition at line 155 of file nfs_core.h.

#define CORE_OPTION_NFSV2   0x00000002

Definition at line 152 of file nfs_core.h.

#define CORE_OPTION_NFSV3   0x00000004

Definition at line 153 of file nfs_core.h.

#define CORE_OPTION_NFSV4   0x00000008

Definition at line 154 of file nfs_core.h.

#define DEFAULT_NFS_CCACHE_DIR   "/var/run/ganesha"

Definition at line 100 of file nfs_core.h.

#define DEFAULT_NFS_KEYTAB   ""

Definition at line 99 of file nfs_core.h.

#define DEFAULT_NFS_PRINCIPAL   "nfs"

Definition at line 98 of file nfs_core.h.

#define DUPREQ_EXPIRATION   180

Definition at line 85 of file nfs_core.h.

#define FSAL_ATTR_MASK_V2_V3
#define FSAL_ATTR_MASK_V4
#define GANESHA_RAW_DEV_MAJOR   168

Definition at line 131 of file nfs_core.h.

#define GANESHA_RAW_DEV_MINOR   168

Definition at line 132 of file nfs_core.h.

#define ID_MAPPER_FAIL   4

Definition at line 144 of file nfs_core.h.

#define ID_MAPPER_INSERT_MALLOC_ERROR   1

Definition at line 141 of file nfs_core.h.

#define ID_MAPPER_INVALID_ARGUMENT   3

Definition at line 143 of file nfs_core.h.

#define ID_MAPPER_NOT_FOUND   2

Definition at line 142 of file nfs_core.h.

#define ID_MAPPER_SUCCESS   0

Definition at line 140 of file nfs_core.h.

#define IP_NAME_EXPIRATION   36000

Definition at line 90 of file nfs_core.h.

#define NB_FLUSHER_THREAD_DEFAULT   16

Definition at line 78 of file nfs_core.h.

#define NB_MAX_CONCURRENT_GC   3

Definition at line 80 of file nfs_core.h.

#define NB_MAX_FLUSHER_THREAD   100

Definition at line 74 of file nfs_core.h.

#define NB_MAX_PENDING_REQUEST   30

Definition at line 81 of file nfs_core.h.

#define NB_MAX_WORKER_THREAD   4096

Definition at line 73 of file nfs_core.h.

#define NB_REQUEST_BEFORE_GC   50

Definition at line 82 of file nfs_core.h.

#define NB_REQUEST_BEFORE_QUEUE_AVG   1000

Definition at line 79 of file nfs_core.h.

#define NB_WORKER_THREAD_DEFAULT   16

Definition at line 77 of file nfs_core.h.

#define NFS_DEFAULT_RECV_BUFFER_SIZE   32768

Definition at line 128 of file nfs_core.h.

#define NFS_DEFAULT_SEND_BUFFER_SIZE   32768

Definition at line 127 of file nfs_core.h.

#define NFS_PORT   2049

Definition at line 124 of file nfs_core.h.

#define NFS_V4_MAX_QUOTA   34359738368LL

Definition at line 149 of file nfs_core.h.

#define NFS_V4_MAX_QUOTA_HARD   17179869184LL

Definition at line 148 of file nfs_core.h.

#define NFS_V4_MAX_QUOTA_SOFT   4294967296LL

Definition at line 147 of file nfs_core.h.

#define PRIME_CACHE_INODE   37

Definition at line 87 of file nfs_core.h.

#define PRIME_CLIENT_ID   17

Definition at line 94 of file nfs_core.h.

#define PRIME_DUPREQ   17

Definition at line 83 of file nfs_core.h.

#define PRIME_ID_MAPPER   17

Definition at line 84 of file nfs_core.h.

#define PRIME_IP_NAME   17

Definition at line 89 of file nfs_core.h.

#define PRIME_IP_STATS   17

Definition at line 92 of file nfs_core.h.

#define PRIME_STATE_ID   17

Definition at line 96 of file nfs_core.h.

#define PWENT_MAX_LEN   81

Definition at line 137 of file nfs_core.h.

#define RQCRED_SIZE   400

Definition at line 126 of file nfs_core.h.

#define RQUOTA_PORT   875

Definition at line 125 of file nfs_core.h.

#define THREAD_STACK_SIZE   2116488

Definition at line 121 of file nfs_core.h.

#define TMP_STR_LEN   256

Definition at line 135 of file nfs_core.h.

#define WORKER_INDEX_ANY   INT_MAX

Definition at line 833 of file nfs_core.h.

#define XATTR_BUFFERSIZE   4096

Definition at line 160 of file nfs_core.h.

#define XATTRD_NAME   ".xattr.d."

Definition at line 158 of file nfs_core.h.

#define XATTRD_NAME_LEN   9

Definition at line 159 of file nfs_core.h.


Typedef Documentation

typedef char entry_name_array_item_t[FSAL_MAX_NAME_LEN]

Definition at line 283 of file nfs_core.h.

group together all of NFS-Ganesha's statistics

typedef struct gsh_addr gsh_addr_t
typedef enum idmap_type__ idmap_type_t
typedef enum rfc_5665_nc_type nc_type

Definition at line 468 of file nfs_core.h.

typedef struct nfs_param__ nfs_parameter_t
typedef char path_str_t[MAXPATHLEN]

Definition at line 162 of file nfs_core.h.

typedef enum pause_rc pause_rc
typedef enum pause_state pause_state_t
typedef enum protos protos
typedef int32_t(* rpc_call_func)(rpc_call_t *call, rpc_call_hook hook, void *arg, uint32_t flags)

Definition at line 411 of file nfs_core.h.

typedef struct _rpc_call rpc_call_t

Definition at line 409 of file nfs_core.h.

typedef struct wait_entry wait_entry_t

Enumeration Type Documentation

Enumerator:
AWAKEN_STARTUP 
AWAKEN_RELOAD_EXPORTS 

Definition at line 617 of file nfs_core.h.

Enumerator:
UIDMAP_TYPE 
GIDMAP_TYPE 

Definition at line 502 of file nfs_core.h.

enum pause_rc
Enumerator:
PAUSE_OK 
PAUSE_PAUSE 
PAUSE_EXIT 

Definition at line 623 of file nfs_core.h.

Enumerator:
PAUSE_RELOAD_EXPORTS 
PAUSE_SHUTDOWN 

Definition at line 611 of file nfs_core.h.

Enumerator:
STATE_STARTUP 
STATE_AWAKEN 
STATE_AWAKE 
STATE_PAUSE 
STATE_PAUSED 
STATE_EXIT 

Definition at line 507 of file nfs_core.h.

Enumerator:
PROCESS_DISPATCHED 
PROCESS_LOST_CONN 
PROCESS_DONE 

Definition at line 604 of file nfs_core.h.

enum protos
Enumerator:
P_NFS 
P_MNT 
P_COUNT 

Definition at line 189 of file nfs_core.h.

Enumerator:
NFS_CALL 
NFS_REQUEST 
NFS_REQUEST_LEADER 
_9P_REQUEST 

Definition at line 428 of file nfs_core.h.

Enumerator:
_NC_ERR 
_NC_TCP 
_NC_TCP6 
_NC_RDMA 
_NC_RDMA6 
_NC_SCTP 
_NC_SCTP6 
_NC_UDP 
_NC_UDP6 

Definition at line 456 of file nfs_core.h.

Enumerator:
RPC_CALL_COMPLETE 
RPC_CALL_ABORT 

Definition at line 403 of file nfs_core.h.

Enumerator:
RPC_CHAN_V40 
RPC_CHAN_V41 

Definition at line 372 of file nfs_core.h.

Enumerator:
WORKER_AVAILABLE 
WORKER_BUSY 
WORKER_PAUSED 
WORKER_GC 
WORKER_ALL_PAUSED 
WORKER_EXIT 

Definition at line 632 of file nfs_core.h.


Function Documentation

void admin_replace_exports ( )

Definition at line 63 of file nfs_admin_thread.c.

void* admin_thread ( void *  UnusedArg)

Definition at line 169 of file nfs_admin_thread.c.

void auth_stat2str ( enum auth_stat  why,
char *  str 
)

auth_stat2str: converts a auth_stat enum to a string

Parameters:
why[IN] the stat to convert
out[IN] output string
Returns:
nothing (void function).

Definition at line 347 of file nfs_convert.c.

enum auth_stat AuthenticateRequest ( nfs_request_data_t pnfsreq,
bool_t *  dispatch 
)

Definition at line 1642 of file nfs_worker_thread.c.

int clean_entry_dupreq ( LRU_entry_t pentry,
void *  addparam 
)

clean_entry_dupreq: cleans an entry in the dupreq cache.

cleans an entry in the dupreq cache.

Parameters:
pentry[INOUT] entry to be cleaned.
addparam[IN] additional parameter used for cleaning.
Returns:
0 if ok, other values mean an error.

Definition at line 295 of file nfs_dupreq.c.

int CleanUpExportContext ( fsal_export_context_t p_export_context)

Definition at line 3093 of file exports.c.

int compare_idmapper ( hash_buffer_t buff1,
hash_buffer_t buff2 
)

compare_idmapper: compares the values stored in the key buffers.

Compares the values stored in the key buffers. This function is to be used as 'compare_key' field in the hashtable storing the nfs duplicated requests.

Parameters:
buff1[IN] first key
buff2[IN] second key
Returns:
0 if keys are identifical, 1 if they are different.

Definition at line 150 of file idmapper_cache.c.

int compare_namemapper ( hash_buffer_t buff1,
hash_buffer_t buff2 
)

Definition at line 155 of file idmapper_cache.c.

int compare_req ( hash_buffer_t buff1,
hash_buffer_t buff2 
)

compare_req: compares the xid, ip, and port stored in the key buffers. may also compare the checksum if the relevant option was enabled during compile.

compare the xid, ip, and port stored in the key buffers. This function is to be used as 'compare_key' field in the hashtable storing the nfs duplicated requests.

Parameters:
buff1[IN] first key
buff2[IN] second key
Returns:
0 if keys are identifical, 1 if they are different.

Definition at line 390 of file nfs_dupreq.c.

int compare_state_id ( hash_buffer_t buff1,
hash_buffer_t buff2 
)

Definition at line 103 of file nfs4_state_id.c.

void constructor_nfs_request_data_t ( void *  ptr,
void *  parameters 
)

constructor_nfs_request_data_t: Constructor for a nfs_request_data_t structure

This function is used to init the nfs_request_data for a worker. These data are used by the worker for RPC processing.

Parameters:
ptrvoid pointer to the structure to be managed
Returns:
nothing (void function) will exit the program if failed.

Definition at line 1191 of file nfs_rpc_dispatcher_thread.c.

void constructor_request_data_t ( void *  ptr,
void *  parameters 
)

constructor_request_data_t: Constructor for a request_data_t structure

This function is used to init the request_data for a worker. These data are used by the worker for RPC processing.

Parameters:
ptrvoid pointer to the structure to be managed
Returns:
nothing (void function) will exit the program if failed.

Definition at line 1208 of file nfs_rpc_dispatcher_thread.c.

process_status_t dispatch_rpc_subrequest ( nfs_worker_data_t mydata,
request_data_t onfsreq 
)

Definition at line 886 of file nfs_rpc_dispatcher_thread.c.

void DispatchWorkNFS ( request_data_t pnfsreq,
unsigned int  worker_index 
)

Definition at line 1606 of file nfs_worker_thread.c.

int display_idmapper_key ( hash_buffer_t pbuff,
char *  str 
)

display_idmapper_key: displays the entry key stored in the buffer.

Displays the entry key stored in the buffer. This function is to be used as 'key_to_str' field in the hashtable storing the id mapper stuff

Parameters:
buff1[IN] buffer to display
buff2[OUT] output string
Returns:
number of character written.

Definition at line 176 of file idmapper_cache.c.

int display_idmapper_val ( hash_buffer_t pbuff,
char *  str 
)

display_idmapper_val: displays the entry key stored in the buffer.

Displays the entry key stored in the buffer. This function is to be used as 'val_to_str' field in the hashtable storing the id mapper stuff

Parameters:
buff1[IN] buffer to display
buff2[OUT] output string
Returns:
number of character written.

Definition at line 194 of file idmapper_cache.c.

int display_req_key ( hash_buffer_t pbuff,
char *  str 
)

display_req_key: displays the key stored in the buffer.

displays the key stored in the buffer. This function is to be used as 'key_to_str' field in the hashtable storing the nfs duplicated requests.

Parameters:
buff1[IN] buffer to display
buff2[OUT] output string
Returns:
number of character written.

Definition at line 417 of file nfs_dupreq.c.

int display_req_val ( hash_buffer_t pbuff,
char *  str 
)

display_req_val: displays the value stored in the buffer.

displays the value stored in the buffer. This function is to be used as 'val_to_str' field in the hashtable storing the nfs duplicated requests.

Parameters:
buff1[IN] buffer to display
buff2[OUT] output string
Returns:
number of character written.

Definition at line 442 of file nfs_dupreq.c.

int export_client_match ( sockaddr_t hostaddr,
char *  ipstring,
exportlist_client_t clients,
exportlist_client_entry_t pclient_found,
unsigned int  export_option 
)

function for matching a specific option in the client export list.

BUGAZOMEU a completer lors de l'integration de RPCSEC_GSS

Definition at line 2297 of file exports.c.

int export_client_matchv6 ( struct in6_addr *  paddrv6,
exportlist_client_t clients,
exportlist_client_entry_t pclient_found,
unsigned int  export_option 
)

Definition at line 2460 of file exports.c.

void* file_content_gc_thread ( void *  UnusedArg)

Definition at line 132 of file nfs_file_content_gc_thread.c.

void* fridgethr_freeze ( )

Definition at line 123 of file fridgethr.c.

int fridgethr_get ( pthread_t *  pthrid,
void *(*)(void *)  thrfunc,
void *  thrarg 
)

Definition at line 13 of file test_rpctools.c.

int fridgethr_init ( )

Definition at line 177 of file fridgethr.c.

void* fsal_up_thread ( void *  Arg)

Definition at line 427 of file fsal_up_thread.c.

unsigned int get_rpc_xid ( struct svc_req *  reqp)
int get_stat_exporter_conf ( config_file_t  in_config,
external_tools_parameter_t out_parameter 
)

Definition at line 253 of file nfs_stat_exporter_thread.c.

exportlist_t* GetExportEntry ( char *  exportPath)

Definition at line 3122 of file exports.c.

int gidmap_add ( char *  key,
unsigned int  val 
)

Definition at line 588 of file idmapper_cache.c.

int gidmap_get ( char *  key,
unsigned long *  pval 
)

Definition at line 730 of file idmapper_cache.c.

int gidmap_remove ( char *  key)

Definition at line 832 of file idmapper_cache.c.

int gnamemap_add ( unsigned int  key,
char *  val 
)

Definition at line 604 of file idmapper_cache.c.

int gnamemap_get ( unsigned int  key,
char *  val 
)

Definition at line 735 of file idmapper_cache.c.

int gnamemap_remove ( unsigned int  key)

Definition at line 837 of file idmapper_cache.c.

int idmap_add ( hash_table_t ht,
char *  key,
unsigned int  val 
)

idmap_add: Adds a value by key

Adss a value by key.

Parameters:
ht[INOUT] the hash table to be used
key[IN] the ip address requested
val[OUT] the value
Returns:
ID_MAPPER_SUCCESS, ID_MAPPER_INSERT_MALLOC_ERROR, ID_MAPPER_INVALID_ARGUMENT

Definition at line 406 of file idmapper_cache.c.

int idmap_clear ( )

Definition at line 523 of file idmapper_cache.c.

int idmap_compute_hash_value ( char *  name,
uint32_t phashval 
)

idmap_compute_hash_value: computes the hash value, based on the string.

Computes the computes the hash value, based on the string.

Definition at line 289 of file idmapper_cache.c.

int idmap_get ( hash_table_t ht,
char *  key,
unsigned long *  pval 
)

idmap_get: gets a value by key

Gets a value by key.

Parameters:
ht[INOUT] the hash table to be used
key[IN] the ip address requested
hostname[OUT] the hostname
Returns:
ID_MAPPER_SUCCESS or ID_MAPPER_NOT_FOUND

Definition at line 633 of file idmapper_cache.c.

void idmap_get_stats ( idmap_type_t  maptype,
hash_stat_t phstat,
hash_stat_t phstat_reverse 
)

idmap_get_stats: gets the hash table statistics for the idmap et the reverse id map

Gets the hash table statistics for the idmap et the reverse idmap.

Parameters:
maptype[IN] type of the mapping to be queried (should be UIDMAP_TYPE or GIDMAP_TYPE)
phstat[OUT] pointer to the resulting stats for direct map.
phstat[OUT] pointer to the resulting stats for reverse map.
Returns:
nothing (void function)
See also:
HashTable_GetStats

Definition at line 958 of file idmapper_cache.c.

int idmap_gid_init ( nfs_idmap_cache_parameter_t  param)

idmap_gid_init: Inits the hashtable for GID mapping.

Inits the hashtable for GID mapping.

Parameters:
param[IN] parameter used to init the gid map cache
Returns:
0 if successful, -1 otherwise

Definition at line 257 of file idmapper_cache.c.

int idmap_gname_init ( nfs_idmap_cache_parameter_t  param)

Definition at line 269 of file idmapper_cache.c.

int idmap_populate ( char *  path,
idmap_type_t  maptype 
)

idmap_populate_by_conf: Use the configuration file to populate the ID_MAPPER.

Use the configuration file to populate the ID_MAPPER.

Definition at line 850 of file idmapper_cache.c.

int idmap_remove ( hash_table_t ht,
char *  key 
)

idmap_remove: Tries to remove an entry for ID_MAPPER

Tries to remove an entry for ID_MAPPER

Parameters:
ht[INOUT] the hash table to be used
key[IN] the key uncached.
Returns:
the delete status

Definition at line 752 of file idmapper_cache.c.

int idmap_uid_init ( nfs_idmap_cache_parameter_t  param)

idmap_uid_init: Inits the hashtable for UID mapping.

Inits the hashtable for UID mapping.

Parameters:
param[IN] parameter used to init the uid map cache
Returns:
0 if successful, -1 otherwise

Definition at line 210 of file idmapper_cache.c.

int idmap_uname_init ( nfs_idmap_cache_parameter_t  param)

Definition at line 234 of file idmapper_cache.c.

uint64_t idmapper_rbt_hash_func ( hash_parameter_t p_hparam,
hash_buffer_t buffclef 
)

idmapper_rbt_hash_func: computes the rbt value for the entry in the id mapper stuff.

Computes the rbt value for the entry in the id mapper stuff.

Parameters:
hparam[IN] hash table parameter.
buffcleff[in]pointer to the hash key buffer
Returns:
the computed rbt value.
See also:
HashTable_Init

Definition at line 119 of file idmapper_cache.c.

uint32_t idmapper_value_hash_func ( hash_parameter_t p_hparam,
hash_buffer_t buffclef 
)

idmapper_rbt_hash_func: computes the hash value for the entry in id mapper stuff

Computes the hash value for the entry in id mapper stuff. In fact, it just use addresse as value (identity function) modulo the size of the hash. This function is called internal in the HasTable_* function

Parameters:
hparam[IN] hash table parameter.
buffcleff[in]pointer to the hash key buffer
Returns:
the computed hash value.
See also:
HashTable_Init

Definition at line 84 of file idmapper_cache.c.

void* long_processing_thread ( void *  UnusedArg)

Definition at line 791 of file nfs_stat_exporter_thread.c.

int namemap_add ( hash_table_t ht,
unsigned int  key,
char *  val 
)

Definition at line 437 of file idmapper_cache.c.

int namemap_clear ( )

Definition at line 545 of file idmapper_cache.c.

int namemap_get ( hash_table_t ht,
unsigned int  key,
char *  pval 
)

Definition at line 659 of file idmapper_cache.c.

int namemap_remove ( hash_table_t ht,
unsigned int  key 
)

Definition at line 776 of file idmapper_cache.c.

uint64_t namemapper_rbt_hash_func ( hash_parameter_t p_hparam,
hash_buffer_t buffclef 
)

Definition at line 131 of file idmapper_cache.c.

uint32_t namemapper_value_hash_func ( hash_parameter_t p_hparam,
hash_buffer_t buffclef 
)

Definition at line 99 of file idmapper_cache.c.

int nfs_AddClientsToClientArray ( exportlist_client_t clients,
int  new_clients_number,
char **  new_clients_name,
int  option 
)

Definition at line 352 of file exports.c.

unsigned int nfs_core_select_worker_queue ( unsigned int  avoid_index)

Definition at line 805 of file nfs_rpc_dispatcher_thread.c.

int nfs_export_create_root_entry ( exportlist_t pexportlist)

nfs_export_create_root_entry: create the root entries for the cached entries.

Create the root entries for the cached entries.

Parameters:
pexportlist[IN] the export list to be parsed
Returns:
TRUE is successfull, FALSE if something wrong occured.

Definition at line 2933 of file exports.c.

void* nfs_file_content_flush_thread ( void *  flush_data_arg)

Definition at line 83 of file nfs_file_content_flush_thread.c.

void nfs_Init_admin_data ( void  )

Definition at line 58 of file nfs_admin_thread.c.

int nfs_Init_dupreq ( nfs_rpc_dupreq_parameter_t  param)

nfs_Init_dupreq: Init the hashtable and LRU for duplicate request cache

Perform all the required initialization for hashtable and LRU for duplicate request cache

Parameters:
param[IN] parameter used to init the duplicate request cache
Returns:
0 if successful, -1 otherwise

Definition at line 465 of file nfs_dupreq.c.

int nfs_Init_gc_counter ( void  )

nfs_Init_gc_counter: Init the worker's gc counters.

This functions is used to init a mutex and a counter associated with it, to keep track of the number of worker currently performing the garbage collection.

Parameters:
voidNo parameters
Returns:
0 if successfull, -1 otherwise.

Definition at line 461 of file nfs_worker_thread.c.

int nfs_Init_ip_name ( nfs_ip_name_parameter_t  param)

nfs_Init_ip_name: Init the hashtable for IP/name cache.

Perform all the required initialization for hashtable IP/name cache

Parameters:
param[IN] parameter used to init the ip name cache
Returns:
0 if successful, -1 otherwise

Definition at line 348 of file nfs_ip_name.c.

hash_table_t* nfs_Init_ip_stats ( nfs_ip_stats_parameter_t  param)

nfs_Init_ip_stats: Init the hashtable for IP stats cache.

Perform all the required initialization for hashtable IP stats cache

Parameters:
param[IN] parameter used to init the duplicate request cache
Returns:
0 if successful, -1 otherwise

Definition at line 410 of file nfs_ip_stats.c.

int nfs_Init_request_data ( nfs_request_data_t pdata)
void nfs_Init_svc ( void  )

nfs_Init_svc: Init the svc descriptors for the nfs daemon.

Perform all the required initialization for the RPC subsystem and event channels.

Parameters:
attr_thrpointer to a set of pre-initialized pthread attributes that should be used for new threads

Definition at line 475 of file nfs_rpc_dispatcher_thread.c.

int nfs_Init_worker_data ( nfs_worker_data_t pdata)

nfs_Init_worker_data: Init the data associated with a worker instance.

This function is used to init the nfs_worker_data for a worker thread. These data are used by the worker for RPC processing.

Parameters:
paramA structure of type nfs_worker_parameter_t with all the necessary information related to a worker
pdataPointer to the data to be initialized.
Returns:
0 if successfull, -1 otherwise.

Definition at line 1573 of file nfs_worker_thread.c.

nc_type nfs_netid_to_nc ( const char *  netid)

Definition at line 148 of file nfs_rpc_callback.c.

void nfs_operate_on_sighup ( )
void nfs_operate_on_sigterm ( )
void nfs_operate_on_sigusr1 ( )
int nfs_read_client_id_conf ( config_file_t  in_config,
nfs_client_id_parameter_t pparam 
)

nfs_read_ip_name_conf: reads the configuration for the Client/ID Cache

Reads the configuration for the Client/ID Cache

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if not, 1 is stanza is not there.

Definition at line 640 of file nfs_read_conf.c.

int nfs_read_core_conf ( config_file_t  in_config,
nfs_core_parameter_t pparam 
)

nfs_read_core_conf: read the configuration ite; for the worker theads.

Reads the configuration ite; for the worker theads.

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if failed, 1 is stanza is not there.

Definition at line 191 of file nfs_read_conf.c.

int nfs_read_dupreq_hash_conf ( config_file_t  in_config,
nfs_rpc_dupreq_parameter_t pparam 
)

nfs_read_dupreq_hash_conf: reads the configuration for the hash in Duplicate Request layer.

Reads the configuration for the hash in Duplicate Request layer

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if not, 1 is stanza is not there.

Definition at line 475 of file nfs_read_conf.c.

int nfs_read_gidmap_conf ( config_file_t  in_config,
nfs_idmap_cache_parameter_t pparam 
)

nfs_read_gidmap_conf: reads the configuration for the GID_MAPPER Cache

Reads the configuration for the GID_MAPPER Cache

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if not, 1 is stanza is not there.

Definition at line 928 of file nfs_read_conf.c.

int nfs_read_ip_name_conf ( config_file_t  in_config,
nfs_ip_name_parameter_t pparam 
)

nfs_read_ip_name_conf: reads the configuration for the IP/name.

Reads the configuration for the IP/name.

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if not, 1 is stanza is not there.

Definition at line 555 of file nfs_read_conf.c.

int nfs_read_state_id_conf ( config_file_t  in_config,
nfs_state_id_parameter_t pparam 
)

nfs_read_ip_name_conf: reads the configuration for the Client/ID Cache

Reads the configuration for the Client/ID Cache

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if not, 1 is stanza is not there.

Definition at line 714 of file nfs_read_conf.c.

int nfs_read_uidmap_conf ( config_file_t  in_config,
nfs_idmap_cache_parameter_t pparam 
)

nfs_read_uidmap_conf: reads the configuration for the UID_MAPPER Cache

Reads the configuration for the UID_MAPPER Cache

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if not, 1 is stanza is not there.

Definition at line 845 of file nfs_read_conf.c.

int nfs_read_version4_conf ( config_file_t  in_config,
nfs_version4_parameter_t pparam 
)

nfs_read_version4_conf: read the configuration for NFSv4 stuff

Read the configuration for NFSv4 stuff.

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if failed,1 is stanza is not there

Definition at line 1097 of file nfs_read_conf.c.

int nfs_read_worker_conf ( config_file_t  in_config,
nfs_worker_parameter_t pparam 
)

nfs_read_worker_conf: read the configuration ite; for the worker theads.

Reads the configuration ite; for the worker theads.

Parameters:
in_config[IN] configuration file handle
pparam[OUT] read parameters
Returns:
0 if ok, -1 if failed,1 is stanza is not there

Definition at line 115 of file nfs_read_conf.c.

void nfs_reset_stats ( void  )

Definition at line 1198 of file nfs_init.c.

void nfs_rpc_destroy_chan ( rpc_call_channel_t chan)

Definition at line 568 of file nfs_rpc_callback.c.

int32_t nfs_rpc_dispatch_call ( rpc_call_t call,
uint32_t  flags 
)

Definition at line 702 of file nfs_rpc_callback.c.

void nfs_rpc_dispatch_threads ( pthread_attr_t *  attr_thr)

Definition at line 693 of file nfs_rpc_dispatcher_thread.c.

int nfs_rpc_get_args ( nfs_request_data_t preqnfs,
const nfs_function_desc_t pfuncdesc 
)

Definition at line 724 of file nfs_worker_thread.c.

const nfs_function_desc_t* nfs_rpc_get_funcdesc ( nfs_request_data_t preqnfs)

Definition at line 664 of file nfs_worker_thread.c.

request_data_t* nfs_rpc_get_nfsreq ( nfs_worker_data_t worker,
uint32_t  flags 
)

nfs_rpc_get_nfsreq: get a request frame (call or svc request)

Definition at line 876 of file nfs_rpc_dispatcher_thread.c.

void nfs_set_client_location ( nfs_client_id_t pclientid,
const clientaddr4 addr4 
)

Definition at line 251 of file nfs_rpc_callback.c.

int parseAccessParam ( char *  var_name,
char *  var_value,
exportlist_t p_entry,
int  access_option 
)

Definition at line 522 of file exports.c.

pause_rc pause_workers ( pause_reason_t  reason)
int print_entry_dupreq ( LRU_data_t  data,
char *  str 
)

print_entry_dupreq: prints an entry in the LRU list.

prints an entry in the LRU list.

Parameters:
data[IN] data stored in a LRU entry to be printed.
str[OUT] string used to store the result.
Returns:
0 if ok, other values mean an error.

Definition at line 127 of file nfs_dupreq.c.

void Print_param_in_log ( )

Print_param_in_log : prints the nfs parameter structure into the logfile

prints the nfs parameter structure into the logfile

Parameters:
pparamPointer to the nfs parameter
Returns:
none (void function)

Definition at line 1209 of file nfs_read_conf.c.

void Print_param_worker_in_log ( nfs_worker_parameter_t pparam)

Print_param_in_log : prints the nfs worker parameter structure into the logfile

prints the nfs worker parameter structure into the logfile

Parameters:
pparamPointer to the nfs worker parameter
Returns:
none (void function)

Definition at line 1191 of file nfs_read_conf.c.

int print_pending_request ( LRU_data_t  data,
char *  str 
)

print_pending_request: prints an entry related to a pending request in the LRU list.

prints an entry related to a pending request in the LRU list.

Parameters:
data[IN] data stored in a LRU entry to be printed.
str[OUT] string used to store the result.
Returns:
0 if ok, other values mean an error.

Definition at line 1146 of file nfs_rpc_dispatcher_thread.c.

process_status_t process_rpc_request ( SVCXPRT *  xprt)
void* reaper_thread ( void *  UnusedArg)

Todo:
: should this be configurable?

Definition at line 126 of file nfs_reaper_thread.c.

exportlist_t* RemoveExportEntry ( exportlist_t exportEntry)

Definition at line 3103 of file exports.c.

void* rpc_dispatcher_thread ( void *  arg)

rpc_dispatcher_thread

Thread used to service an (epoll, etc) event channel.

Parameters:
arg,pointsto the id of the associated event channel
Returns:
Pointer to the result (but this function will mostly loop forever).

Definition at line 1161 of file nfs_rpc_dispatcher_thread.c.

void* rpc_tcp_socket_manager_thread ( void *  Arg)

Definition at line 18 of file test_rpctools.c.

void* sigmgr_thread ( void *  UnusedArg)

This thread is in charge of signal management

Parameters:
(unused)
Returns:
(never returns : never ending loop)

Definition at line 139 of file nfs_init.c.

void* stat_exporter_thread ( void *  UnusedArg)

Definition at line 696 of file nfs_stat_exporter_thread.c.

void* state_async_thread ( void *  UnusedArg)
void stats_collect ( ganesha_stats_t ganesha_stats)

Definition at line 82 of file nfs_stats_thread.c.

int stats_snmp ( void  )

Start snmp thread.

Returns:
0 on success.

Definition at line 1051 of file nfs_stats_snmp.c.

void* stats_thread ( void *  UnusedArg)

Definition at line 382 of file nfs_stats_thread.c.

int uidgidmap_add ( unsigned int  key,
unsigned int  value 
)

Definition at line 469 of file idmapper_cache.c.

int uidgidmap_clear ( )

Definition at line 501 of file idmapper_cache.c.

int uidgidmap_get ( unsigned int  key,
unsigned int *  pval 
)

Definition at line 686 of file idmapper_cache.c.

int uidgidmap_init ( nfs_idmap_cache_parameter_t  param)

Definition at line 222 of file idmapper_cache.c.

int uidgidmap_remove ( unsigned int  key)

Definition at line 801 of file idmapper_cache.c.

int uidmap_add ( char *  key,
unsigned int  val 
)

Definition at line 556 of file idmapper_cache.c.

int uidmap_get ( char *  key,
unsigned long *  pval 
)

Definition at line 720 of file idmapper_cache.c.

int uidmap_remove ( char *  key)

Definition at line 822 of file idmapper_cache.c.

int unamemap_add ( unsigned int  key,
char *  val 
)

Definition at line 572 of file idmapper_cache.c.

int unamemap_get ( unsigned int  key,
char *  val 
)

Definition at line 725 of file idmapper_cache.c.

int unamemap_remove ( unsigned int  key)

Definition at line 827 of file idmapper_cache.c.

pause_rc wait_for_workers_to_awaken ( )
pause_rc wake_workers ( awaken_reason_t  reason)
void* worker_thread ( void *  IndexArg)

worker_thread: The main function for a worker thread

This is the body of the worker thread. Its starting arguments are located in global array worker_data. The argument is no pointer but the worker's index. It then uses this index to address its own worker data in the array.

Parameters:
IndexArgthe index for the worker thread, in fact an integer cast as a void *
Returns:
Pointer to the result (but this function will mostly loop forever).

Todo:
: check if this does not produce memleak as 9P is used

Definition at line 1966 of file nfs_worker_thread.c.


Variable Documentation

char config_path[MAXPATHLEN]

Definition at line 127 of file nfs_init.c.

Definition at line 79 of file nfs_worker_thread.c.

ushort g_nodeid

Definition at line 99 of file nfs_init.c.

Definition at line 90 of file nfs_worker_thread.c.

Definition at line 80 of file nfs_worker_thread.c.

gss_OID_desc krb5oid

Definition at line 349 of file nfs_rpc_callback.c.

Definition at line 96 of file nfs_init.c.

Definition at line 95 of file nfs_init.c.

Definition at line 87 of file nfs_init.c.

const char* pause_rc_str[]

Definition at line 79 of file nfs_tcb.c.

char pidfile_path[MAXPATHLEN]

Definition at line 129 of file nfs_init.c.

Definition at line 78 of file nfs_worker_thread.c.

Definition at line 77 of file nfs_worker_thread.c.

Definition at line 53 of file Convert_FSAL_Handle.c.

time_t ServerEpoch

Definition at line 91 of file nfs_init.c.

Definition at line 93 of file nfs_init.c.