nfs-ganesha 1.4
|
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.
Prototypes for the different threads in the nfs core.
nfs_core.h : Prototypes for the different threads in the nfs core.
Definition in file nfs_core.h.
#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 |
( FSAL_ATTRS_MANDATORY | FSAL_ATTR_MODE | FSAL_ATTR_FILEID | \ FSAL_ATTR_FSID | FSAL_ATTR_NUMLINKS | FSAL_ATTR_OWNER | \ FSAL_ATTR_GROUP | FSAL_ATTR_SIZE | FSAL_ATTR_ATIME | \ FSAL_ATTR_MTIME | FSAL_ATTR_CTIME | FSAL_ATTR_SPACEUSED | \ FSAL_ATTR_RAWDEV )
Definition at line 165 of file nfs_core.h.
#define FSAL_ATTR_MASK_V4 |
( FSAL_ATTRS_MANDATORY | FSAL_ATTR_MODE | FSAL_ATTR_FILEID | \ FSAL_ATTR_FSID | FSAL_ATTR_NUMLINKS | FSAL_ATTR_OWNER | \ FSAL_ATTR_GROUP | FSAL_ATTR_SIZE | FSAL_ATTR_ATIME | \ FSAL_ATTR_MTIME | FSAL_ATTR_CTIME | FSAL_ATTR_SPACEUSED | \ FSAL_ATTR_RAWDEV | FSAL_ATTR_ACL )
Definition at line 172 of file nfs_core.h.
#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 enum awaken_reason awaken_reason_t |
typedef char entry_name_array_item_t[FSAL_MAX_NAME_LEN] |
Definition at line 283 of file nfs_core.h.
typedef struct ganesha_stats__ ganesha_stats_t |
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 __nfs4_compound nfs4_compound_t |
typedef struct nfs4_owner_parameter_t nfs4_owner_parameter_t |
typedef struct nfs_client_id_param__ nfs_client_id_parameter_t |
typedef struct nfs_core_param__ nfs_core_parameter_t |
typedef struct nfs_dupreq_stat__ nfs_dupreq_stat_t |
typedef struct nfs_flush_thread_data__ nfs_flush_thread_data_t |
typedef struct nfs_fsal_up_param__ nfs_fsal_up_parameter_t |
typedef struct nfs_idmap_cache_param__ nfs_idmap_cache_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_param__ nfs_parameter_t |
typedef struct nfs_request_data__ nfs_request_data_t |
typedef struct nfs_rpc_dupreq_param__ nfs_rpc_dupreq_parameter_t |
typedef struct nfs_state_id_param__ nfs_state_id_parameter_t |
typedef struct nfs_thread_control_block__ nfs_tcb_t |
typedef struct nfs_version4_parameter__ nfs_version4_parameter_t |
typedef struct nfs_worker_param__ nfs_worker_parameter_t |
typedef char path_str_t[MAXPATHLEN] |
Definition at line 162 of file nfs_core.h.
typedef enum pause_reason pause_reason_t |
typedef enum pause_state pause_state_t |
typedef enum process_status process_status_t |
typedef struct request_data__ request_data_t |
typedef enum request_type__ request_type_t |
typedef struct rpc_call_channel rpc_call_channel_t |
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 enum rpc_call_hook rpc_call_hook |
typedef struct _rpc_call rpc_call_t |
Definition at line 409 of file nfs_core.h.
typedef struct wait_entry wait_entry_t |
typedef struct wait_q_entry wait_queue_entry_t |
typedef enum worker_available_rc worker_available_rc |
enum awaken_reason |
Definition at line 617 of file nfs_core.h.
enum idmap_type__ |
Definition at line 502 of file nfs_core.h.
enum pause_rc |
Definition at line 623 of file nfs_core.h.
enum pause_reason |
Definition at line 611 of file nfs_core.h.
enum pause_state |
Definition at line 507 of file nfs_core.h.
enum process_status |
Definition at line 604 of file nfs_core.h.
enum protos |
Definition at line 189 of file nfs_core.h.
enum request_type__ |
Definition at line 428 of file nfs_core.h.
enum rfc_5665_nc_type |
Definition at line 456 of file nfs_core.h.
enum rpc_call_hook |
Definition at line 403 of file nfs_core.h.
enum rpc_chan_type |
Definition at line 372 of file nfs_core.h.
enum worker_available_rc |
Definition at line 632 of file nfs_core.h.
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
why | [IN] the stat to convert |
out | [IN] output string |
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.
pentry | [INOUT] entry to be cleaned. |
addparam | [IN] additional parameter used for cleaning. |
Definition at line 295 of file nfs_dupreq.c.
int CleanUpExportContext | ( | fsal_export_context_t * | p_export_context | ) |
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.
buff1 | [IN] first key |
buff2 | [IN] second key |
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.
buff1 | [IN] first key |
buff2 | [IN] second key |
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.
ptr | void pointer to the structure to be managed |
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.
ptr | void pointer to the structure to be managed |
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
buff1 | [IN] buffer to display |
buff2 | [OUT] output string |
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
buff1 | [IN] buffer to display |
buff2 | [OUT] output string |
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.
buff1 | [IN] buffer to display |
buff2 | [OUT] output string |
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.
buff1 | [IN] buffer to display |
buff2 | [OUT] output string |
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 | ||
) |
int export_client_matchv6 | ( | struct in6_addr * | paddrv6, |
exportlist_client_t * | clients, | ||
exportlist_client_entry_t * | pclient_found, | ||
unsigned int | export_option | ||
) |
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 | ) |
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.
ht | [INOUT] the hash table to be used |
key | [IN] the ip address requested |
val | [OUT] the value |
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.
ht | [INOUT] the hash table to be used |
key | [IN] the ip address requested |
hostname | [OUT] the hostname |
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.
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. |
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.
param | [IN] parameter used to init the gid map cache |
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
ht | [INOUT] the hash table to be used |
key | [IN] the key uncached. |
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.
param | [IN] parameter used to init the uid map cache |
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.
hparam | [IN] hash table parameter. |
buffcleff[in] | pointer to the hash key buffer |
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
hparam | [IN] hash table parameter. |
buffcleff[in] | pointer to the hash key buffer |
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 | ||
) |
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 | ) |
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
param | [IN] parameter used to init the duplicate request cache |
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.
void | No parameters |
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
param | [IN] parameter used to init the ip name cache |
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
param | [IN] parameter used to init the duplicate request cache |
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.
attr_thr | pointer 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.
param | A structure of type nfs_worker_parameter_t with all the necessary information related to a worker |
pdata | Pointer to the data to be initialized. |
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
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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.
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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.
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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.
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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.
in_config | [IN] configuration file handle |
pparam | [OUT] read parameters |
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 | ||
) |
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.
data | [IN] data stored in a LRU entry to be printed. |
str | [OUT] string used to store the result. |
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
pparam | Pointer to the nfs parameter |
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
pparam | Pointer to the nfs worker parameter |
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.
data | [IN] data stored in a LRU entry to be printed. |
str | [OUT] string used to store the result. |
Definition at line 1146 of file nfs_rpc_dispatcher_thread.c.
process_status_t process_rpc_request | ( | SVCXPRT * | xprt | ) |
void* reaper_thread | ( | void * | UnusedArg | ) |
Definition at line 126 of file nfs_reaper_thread.c.
exportlist_t* RemoveExportEntry | ( | exportlist_t * | exportEntry | ) |
void* rpc_dispatcher_thread | ( | void * | arg | ) |
rpc_dispatcher_thread
Thread used to service an (epoll, etc) event channel.
arg,points | to the id of the associated event channel |
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
(unused) |
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 | ) |
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.
IndexArg | the index for the worker thread, in fact an integer cast as a void * |
Definition at line 1966 of file nfs_worker_thread.c.
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[] |
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.
time_t ServerBootTime |
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.