nfs-ganesha 1.4
|
Management of the state abstraction layer. More...
Go to the source code of this file.
Management of the state abstraction layer.
Management of the state abstraction layer
Definition in file sal_functions.h.
#define OPEN4_SHARE_ACCESS_NONE 0 |
Definition at line 615 of file sal_functions.h.
#define STATEID_NO_SPECIAL 0 |
Definition at line 301 of file sal_functions.h.
#define STATEID_SPECIAL_ALL_0 2 |
Definition at line 302 of file sal_functions.h.
#define STATEID_SPECIAL_ALL_1 4 |
Definition at line 303 of file sal_functions.h.
#define STATEID_SPECIAL_ANY 0xFF |
Definition at line 305 of file sal_functions.h.
#define STATEID_SPECIAL_CURRENT 8 |
Definition at line 304 of file sal_functions.h.
#define STATEID_SPECIAL_FOR_LOCK (STATEID_SPECIAL_CURRENT) |
Definition at line 306 of file sal_functions.h.
state_status_t cache_inode_status_to_state_status | ( | cache_inode_status_t | status | ) |
Definition at line 118 of file state_misc.c.
bool_t Check_nfs4_seqid | ( | state_owner_t * | powner, |
seqid4 | seqid, | ||
nfs_argop4 * | args, | ||
compound_data_t * | data, | ||
nfs_resop4 * | resp, | ||
const char * | tag | ||
) |
Check_nfs4_seqid: Check NFS4 request for valid seqid for replay, next request, or BAD_SEQID.
Returns TRUE if the request is the next seqid. If the request is a replay, copies the saved response and returns FALSE. Otherwise, sets status to NFS4ERR_BAD_SEQID and returns FALSE.
In either case, on a FALSE return, the caller should send the resulting response back to the client.
Definition at line 714 of file nfs4_owner.c.
uint64_t client_id_rbt_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
client_id_rbt_hash_func: computes the rbt value for the entry in Client Id cache.
Computes the rbt value for the entry in Client Id cache. In fact, it just use the address value itself (which is an unsigned integer) as the rbt value. 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 238 of file nfs4_clientid.c.
uint32_t client_id_value_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
client_id_value_hash_func: computes the hash value for the entry in Client Id cache.
Computes the hash value for the entry in Client Id cache. 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 212 of file nfs4_clientid.c.
uint64_t client_record_rbt_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
client_record_rbt_hash_func: computes the rbt value for the entry in Client Id cache.
Computes the rbt value for the entry in Client Record cache. 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 1129 of file nfs4_clientid.c.
uint32_t client_record_value_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
client_record_rbt_hash_func: computes the hash value for the entry in Client Record cache.
Computes the hash value for the entry in Client Record cache 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 1099 of file nfs4_clientid.c.
int compare_client_id | ( | hash_buffer_t * | buff1, |
hash_buffer_t * | buff2 | ||
) |
compare_client_id: compares the ip address stored in the key buffers.
compare the ip address stored in the key buffers. This function is to be used as 'compare_key' field in the hashtable storing the client ids.
buff1 | [IN] first key |
buff2 | [IN] second key |
Definition at line 261 of file nfs4_clientid.c.
int compare_client_record | ( | hash_buffer_t * | buff1, |
hash_buffer_t * | buff2 | ||
) |
compare_client_record: compares the cr_client_val the key buffers.
compare the cr_client_val stored in the key buffers. This function is to be used as 'compare_key' field in the hashtable storing the client records.
buff1 | [IN] first key |
buff2 | [IN] second key |
Definition at line 1156 of file nfs4_clientid.c.
int compare_lock_cookie_key | ( | hash_buffer_t * | buff1, |
hash_buffer_t * | buff2 | ||
) |
int compare_nfs4_owner | ( | state_owner_t * | powner1, |
state_owner_t * | powner2 | ||
) |
Definition at line 112 of file nfs4_owner.c.
int compare_nfs4_owner_key | ( | hash_buffer_t * | buff1, |
hash_buffer_t * | buff2 | ||
) |
Definition at line 158 of file nfs4_owner.c.
void convert_nfs4_lock_owner | ( | lock_owner4 * | pnfsowoner, |
state_nfs4_owner_name_t * | pname_owner, | ||
clientid4 | clientid | ||
) |
Definition at line 462 of file nfs4_owner.c.
void convert_nfs4_open_owner | ( | open_owner4 * | pnfsowner, |
state_nfs4_owner_name_t * | pname_owner, | ||
clientid4 | clientid | ||
) |
Definition at line 441 of file nfs4_owner.c.
void Copy_nfs4_denied | ( | LOCK4denied * | denied_dst, |
LOCK4denied * | denied_src | ||
) |
Definition at line 637 of file nfs4_owner.c.
void Copy_nfs4_state_req | ( | state_owner_t * | powner, |
seqid4 | seqid, | ||
nfs_argop4 * | args, | ||
compound_data_t * | data, | ||
nfs_resop4 * | resp, | ||
const char * | tag | ||
) |
Definition at line 658 of file nfs4_owner.c.
nfs_client_id_t* create_client_id | ( | clientid4 | clientid, |
nfs_client_record_t * | pclient_record, | ||
sockaddr_t * | pclient_addr, | ||
nfs_client_cred_t * | pcredential | ||
) |
Definition at line 295 of file nfs4_clientid.c.
state_owner_t* create_nfs4_owner | ( | state_nfs4_owner_name_t * | pname, |
nfs_client_id_t * | pclientid, | ||
state_owner_type_t | type, | ||
state_owner_t * | related_owner, | ||
unsigned int | init_seqid | ||
) |
Definition at line 483 of file nfs4_owner.c.
void dec_client_id_ref | ( | nfs_client_id_t * | pclientid | ) |
Definition at line 155 of file nfs4_clientid.c.
void dec_client_record_ref | ( | nfs_client_record_t * | precord | ) |
Definition at line 986 of file nfs4_clientid.c.
void dec_state_owner_ref | ( | state_owner_t * | powner | ) |
Definition at line 927 of file state_misc.c.
void dec_state_owner_ref_locked | ( | state_owner_t * | powner | ) |
Definition at line 873 of file state_misc.c.
int different_owners | ( | state_owner_t * | powner1, |
state_owner_t * | powner2 | ||
) |
Definition at line 735 of file state_misc.c.
int display_client_id_key | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
display_client_id_key: displays the client_id stored in the buffer.
displays the client_id stored in the buffer. This function is to be used as 'key_to_str' field in the hashtable storing the client ids.
buff1 | [IN] buffer to display |
buff2 | [OUT] output string |
Definition at line 281 of file nfs4_clientid.c.
int display_client_id_rec | ( | nfs_client_id_t * | pclientid, |
char * | str | ||
) |
Definition at line 77 of file nfs4_clientid.c.
int display_client_id_val | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
Definition at line 290 of file nfs4_clientid.c.
int display_client_record | ( | nfs_client_record_t * | precord, |
char * | str | ||
) |
Definition at line 945 of file nfs4_clientid.c.
int display_client_record_key | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
display_client_record: displays the client_record stored in the buffer.
displays the client_record stored in the buffer. This function is to be used as 'key_to_str' field in the hashtable storing the client ids.
buff1 | [IN] buffer to display |
buff2 | [OUT] output string |
Definition at line 1182 of file nfs4_clientid.c.
int display_client_record_val | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
Definition at line 1187 of file nfs4_clientid.c.
int display_clientid_name | ( | nfs_client_id_t * | pclientid, |
char * | str | ||
) |
Definition at line 108 of file nfs4_clientid.c.
int display_lock_cookie_key | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
int display_lock_cookie_val | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
int display_nfs4_owner | ( | state_owner_t * | powner, |
char * | str | ||
) |
Definition at line 76 of file nfs4_owner.c.
int display_nfs4_owner_key | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
Definition at line 54 of file nfs4_owner.c.
int display_nfs4_owner_val | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
Definition at line 107 of file nfs4_owner.c.
int display_state_id_key | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
Definition at line 86 of file nfs4_state_id.c.
int display_state_id_val | ( | hash_buffer_t * | pbuff, |
char * | str | ||
) |
Definition at line 91 of file nfs4_state_id.c.
int DisplayOpaqueValue | ( | char * | value, |
int | len, | ||
char * | str | ||
) |
Definition at line 964 of file state_misc.c.
int DisplayOwner | ( | state_owner_t * | powner, |
char * | buf | ||
) |
Definition at line 775 of file state_misc.c.
void dump_all_locks | ( | const char * | label | ) |
Definition at line 397 of file state_lock.c.
void free_client_id | ( | nfs_client_id_t * | pclientid | ) |
Definition at line 140 of file nfs4_clientid.c.
nfs_client_record_t* get_client_record | ( | char * | value, |
int | len | ||
) |
Definition at line 1192 of file nfs4_clientid.c.
state_status_t get_clientid_owner | ( | clientid4 | clientid, |
state_owner_t ** | clientid_owner | ||
) |
Definition at line 792 of file nfs4_owner.c.
int Hash_dec_state_owner_ref | ( | hash_buffer_t * | buffval | ) |
Definition at line 803 of file state_misc.c.
void Hash_inc_state_owner_ref | ( | hash_buffer_t * | buffval | ) |
Definition at line 829 of file state_misc.c.
void inc_client_id_ref | ( | nfs_client_id_t * | pclientid | ) |
Definition at line 125 of file nfs4_clientid.c.
void inc_client_record_ref | ( | nfs_client_record_t * | precord | ) |
Definition at line 961 of file nfs4_clientid.c.
void inc_state_owner_ref | ( | state_owner_t * | powner | ) |
Definition at line 866 of file state_misc.c.
void inc_state_owner_ref_locked | ( | state_owner_t * | powner | ) |
Definition at line 849 of file state_misc.c.
int Init_nfs4_owner | ( | nfs4_owner_parameter_t | param | ) |
nfs4_Init_nfs4_owner: Init the hashtable for NFS Open Owner cache.
Perform all the required initialization for hashtable State Id cache
param | [IN] parameter used to init the duplicate request cache |
Definition at line 316 of file nfs4_owner.c.
uint64_t lock_cookie_rbt_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
uint32_t lock_cookie_value_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
void LogLock | ( | log_components_t | component, |
log_levels_t | debug, | ||
const char * | reason, | ||
cache_entry_t * | pentry, | ||
fsal_op_context_t * | pcontext, | ||
state_owner_t * | powner, | ||
fsal_lock_param_t * | plock | ||
) |
Definition at line 353 of file state_lock.c.
clientid4 new_clientid | ( | void | ) |
new_clientid: Builds a new clientid4 value using counter and ServerEpoch.
Builds a new clientid4 value using counter and ServerEpoch.
Definition at line 906 of file nfs4_clientid.c.
void new_clientifd_verifier | ( | char * | pverf | ) |
new_clientifd_verifier: Builds a new verifier4 value.
Builds a new verifier4 value.
Definition at line 927 of file nfs4_clientid.c.
nfsstat2 nfs2_Errno_state | ( | state_status_t | error | ) |
nfs2_Errno_state: Converts a state status to a nfsv2 status.
error | [IN] Input state error. |
Definition at line 596 of file state_misc.c.
nfsstat3 nfs3_Errno_state | ( | state_status_t | error | ) |
nfs3_Errno_state: Converts a state status to a nfsv3 status.
error | [IN] Input state error. |
Definition at line 449 of file state_misc.c.
void nfs4_add_clid | ( | nfs_client_id_t * | ) |
Definition at line 166 of file nfs4_recovery.c.
void nfs4_BuildStateId_Other | ( | char * | other | ) |
nfs4_BuildStateId_Other
This routine builds the 12 byte "other" portion of a stateid from the ServerEpoch and a 64 bit global counter.
other | [OUT] the stateid.other object (a char[OTHERSIZE] string) |
Definition at line 184 of file nfs4_state_id.c.
int nfs4_check_special_stateid | ( | cache_entry_t * | pentry, |
const char * | tag, | ||
int | access | ||
) |
nfs4_check_special_stateid
Special stateid, no open state, check to see if any share conflicts The stateid is all-0 or all-1
Definition at line 559 of file nfs4_state_id.c.
int nfs4_Check_Stateid | ( | stateid4 * | pstate, |
cache_entry_t * | pentry, | ||
state_t ** | ppstate, | ||
compound_data_t * | data, | ||
char | flags, | ||
const char * | tag | ||
) |
nfs4_Check_Stateid
This routine checks the availability of the stateid and returns a pointer to it
pstate | [IN] pointer to the stateid to be checked. |
Definition at line 317 of file nfs4_state_id.c.
void nfs4_chk_clid | ( | nfs_client_id_t * | ) |
Definition at line 218 of file nfs4_recovery.c.
void nfs4_clean_old_recov_dir | ( | ) |
Definition at line 417 of file nfs4_recovery.c.
void nfs4_create_clid_name | ( | nfs_client_record_t * | , |
nfs_client_id_t * | , | ||
struct svc_req * | |||
) |
Definition at line 133 of file nfs4_recovery.c.
void nfs4_create_recov_dir | ( | ) |
Definition at line 455 of file nfs4_recovery.c.
nfsstat4 nfs4_Errno_state | ( | state_status_t | error | ) |
nfs4_Errno: Converts a state status to a nfsv4 status.
error | [IN] Input state error. |
Definition at line 292 of file state_misc.c.
void nfs4_init_grace | ( | ) |
Definition at line 73 of file nfs4_recovery.c.
int nfs4_Init_state_id | ( | nfs_state_id_parameter_t | param | ) |
nfs4_Init_state_id: Init the hashtable for Client Id cache.
Perform all the required initialization for hashtable State Id cache
param | [IN] parameter used to init the duplicate request cache |
Definition at line 160 of file nfs4_state_id.c.
void nfs4_load_recov_clids | ( | ushort | nodeid | ) |
Definition at line 407 of file nfs4_recovery.c.
int nfs4_owner_Get_Pointer | ( | state_nfs4_owner_name_t * | pname, |
state_owner_t ** | powner | ||
) |
nfs4_owner_Get_Pointer
This routine gets a pointer to an open owner from the open owners's hashtable.
pstate | [IN] pointer to the stateid to be checked. |
ppstate_data | [OUT] pointer's state found |
Definition at line 390 of file nfs4_owner.c.
void nfs4_owner_PrintAll | ( | void | ) |
nfs4_owner_PrintAll
This routine displays the content of the hashtable used to store the open owners.
Definition at line 436 of file nfs4_owner.c.
uint64_t nfs4_owner_rbt_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
Definition at line 217 of file nfs4_owner.c.
uint32_t nfs4_owner_value_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
Definition at line 190 of file nfs4_owner.c.
void nfs4_rm_clid | ( | char * | ) |
Definition at line 195 of file nfs4_recovery.c.
void nfs4_start_grace | ( | nfs_grace_start_t * | gsp | ) |
Definition at line 86 of file nfs4_recovery.c.
int nfs4_State_Del | ( | char | other[OTHERSIZE] | ) |
nfs4_State_Del
This routine removes a state from the states's hashtable.
other | [IN] stateid'other field, used as a hash key |
Definition at line 284 of file nfs4_state_id.c.
int nfs4_State_Get_Pointer | ( | char | other[OTHERSIZE], |
state_t ** | pstate_data | ||
) |
nfs4_State_Get_Pointer
This routine gets a pointer to a state from the states's hashtable.
pstate | [IN] pointer to the stateid to be checked. |
ppstate_data | [OUT] pointer's state found |
Definition at line 251 of file nfs4_state_id.c.
int nfs4_State_Set | ( | char | other[OTHERSIZE], |
state_t * | pstate_data | ||
) |
nfs4_State_Set
This routine sets a state into the states's hashtable.
pstate | [IN] pointer to the stateid to be checked. |
Definition at line 207 of file nfs4_state_id.c.
int nfs_client_id_confirm | ( | nfs_client_id_t * | pclientid, |
log_components_t | component | ||
) |
nfs_client_id_confirm: Confirms a client id record.
Confirms a client id record.
pclientid | [IN] the client id record |
Definition at line 496 of file nfs4_clientid.c.
int nfs_client_id_expire | ( | nfs_client_id_t * | pclientid | ) |
nfs_client_id_expire: client expires, need to take care of owners
assumes caller holds precord->cr_mutex and holds a reference to precord also.
pclientid | [IN] the client id used to expire |
Definition at line 575 of file nfs4_clientid.c.
int nfs_client_id_get_confirmed | ( | clientid4 | clientid, |
nfs_client_id_t ** | p_pclientid | ||
) |
nfs_client_id_get_confirmed: Tries to get a pointer to an confirmed entry for client_id cache.
Tries to get a pointer to an confirmed entry for client_id cache.
clientid | [IN] the client id |
p_pclientid | [OUT] the found client id |
Definition at line 833 of file nfs4_clientid.c.
int nfs_client_id_get_unconfirmed | ( | clientid4 | clientid, |
nfs_client_id_t ** | p_pclientid | ||
) |
nfs_client_id_get_unconfirmed: Tries to get a pointer to an unconfirmed entry for client_id cache.
Tries to get a pointer to an unconfirmed entry for client_id cache.
clientid | [IN] the client id |
p_pclientid | [OUT] the found client id |
Definition at line 815 of file nfs4_clientid.c.
int nfs_client_id_insert | ( | nfs_client_id_t * | pclientid | ) |
nfs_client_id_insert: Inserts an entry describing a clientid4 into the cache.
Inserts an entry describing a clientid4 into the cache.
pclientid | [IN] the client id record |
Definition at line 389 of file nfs4_clientid.c.
int nfs_in_grace | ( | ) |
Definition at line 112 of file nfs4_recovery.c.
int nfs_Init_client_id | ( | nfs_client_id_parameter_t * | param | ) |
nfs_Init_client_id: Init the hashtable for Client Id cache.
Perform all the required initialization for hashtable Client Id cache
param | [IN] parameter used to init the duplicate request cache |
Definition at line 850 of file nfs4_clientid.c.
void nfs_State_PrintAll | ( | void | ) |
nfs4_State_PrintAll
This routine displays the content of the hashtable used to store the states.
Definition at line 513 of file nfs4_state_id.c.
void Process_nfs4_conflict | ( | LOCK4denied * | denied, |
state_owner_t * | holder, | ||
fsal_lock_param_t * | conflict | ||
) |
Definition at line 584 of file nfs4_owner.c.
void release_lockstate | ( | state_owner_t * | plock_owner | ) |
release_lockstate: Remove every state belonging to the lock owner.
Remove every state belonging to the lock owner.
plock_owner | [IN] lock owner to release state for. |
Definition at line 402 of file nfs4_state.c.
void Release_nfs4_denied | ( | LOCK4denied * | denied | ) |
Definition at line 630 of file nfs4_owner.c.
void release_openstate | ( | state_owner_t * | popen_owner | ) |
release_openstate: Remove every state belonging to the open owner.
Remove every state belonging to the open owner.
popen_owner | [IN] open owner to release state for. |
Definition at line 444 of file nfs4_state.c.
void remove_nfs4_owner | ( | state_owner_t * | powner, |
const char * | str | ||
) |
Definition at line 242 of file nfs4_owner.c.
int remove_unconfirmed_client_id | ( | nfs_client_id_t * | pclientid | ) |
remove_unconfirmed_client_id: Removes an unconfirmed client id record.
Removes an unconfirmed client id record.
pclientid | [IN] the client id record |
Definition at line 447 of file nfs4_clientid.c.
int reserve_lease | ( | nfs_client_id_t * | pclientid | ) |
reserve_lease_lock: Check if lease is valid and reserve it and retain cid_mutex.
Check if lease is valid and reserve it and retain cid_mutex.
Lease reservation prevents any other thread from expiring the lease. Caller must call update lease to release the reservation.
pclientid | [IN] clientid record to check lease for. |
Definition at line 115 of file nfs4_lease.c.
state_status_t state_add | ( | cache_entry_t * | pentry, |
state_type_t | state_type, | ||
state_data_t * | pstate_data, | ||
state_owner_t * | powner_input, | ||
fsal_op_context_t * | pcontext, | ||
state_t ** | ppstate, | ||
state_status_t * | pstatus | ||
) |
state_add: adds a new state to a file pentry
Adds a new state to a file pentry
pentry | [INOUT] cache entry to operate on |
state_type | [IN] state to be defined |
pstate_data | [IN] data related to this state |
powner_input | [IN] related open_owner |
pcontext | [IN] FSAL credentials |
ppstate | [OUT] pointer to a pointer to the new state |
pstatus | [OUT] returned status |
Definition at line 270 of file nfs4_state.c.
state_status_t state_add_impl | ( | cache_entry_t * | pentry, |
state_type_t | state_type, | ||
state_data_t * | pstate_data, | ||
state_owner_t * | powner_input, | ||
fsal_op_context_t * | pcontext, | ||
state_t ** | ppstate, | ||
state_status_t * | pstatus | ||
) |
state_add_impl: adds a new state to a file pentry
Adds a new state to a file pentry. This version of the function does not take the state lock on the entry. It exists to allow callers to integrate state into a larger operation.
pentry | [INOUT] cache entry to operate on |
state_type | [IN] state to be defined |
pstate_data | [IN] data related to this state |
powner_input | [IN] related open_owner |
pcontext | [IN] FSAL credentials |
ppstate | [OUT] pointer to a pointer to the new state |
pstatus | [OUT] returned status |
Definition at line 126 of file nfs4_state.c.
int state_conflict | ( | state_t * | pstate, |
state_type_t | state_type, | ||
state_data_t * | pstate_data | ||
) |
state_conflict : checks for a conflict between an existing state and a candidate state.
Checks for a conflict between an existing state and a candidate state.
pstate | [IN] existing state |
state_type | [IN] type of candidate state |
pstate_data | [IN] data for the candidate state |
layout conflict is managed by the FSAL
Definition at line 72 of file nfs4_state.c.
state_status_t state_del | ( | state_t * | pstate, |
state_status_t * | pstatus | ||
) |
state_del: deletes a state from the hash's state
Deletes a state from the hash's state
pstate | [OUT] pointer to the new state |
pstatus | [OUT] returned status |
Definition at line 363 of file nfs4_state.c.
state_status_t state_del_locked | ( | state_t * | pstate, |
cache_entry_t * | pentry | ||
) |
Definition at line 300 of file nfs4_state.c.
const char* state_err_str | ( | state_status_t | err | ) |
Definition at line 63 of file state_misc.c.
state_status_t state_error_convert | ( | fsal_status_t | fsal_status | ) |
state_error_convert: converts an FSAL error to the corresponding state error.
Converts an FSAL error to the corresponding state error.
fsal_status | [IN] fsal error to be converted. |
Definition at line 178 of file state_misc.c.
uint64_t state_id_rbt_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
Definition at line 138 of file nfs4_state_id.c.
uint32_t state_id_value_hash_func | ( | hash_parameter_t * | p_hparam, |
hash_buffer_t * | buffclef | ||
) |
Definition at line 126 of file nfs4_state_id.c.
state_status_t state_lock | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
exportlist_t * | pexport, | ||
state_owner_t * | powner, | ||
state_t * | pstate, | ||
state_blocking_t | blocking, | ||
state_block_data_t * | block_data, | ||
fsal_lock_param_t * | plock, | ||
state_owner_t ** | holder, | ||
fsal_lock_param_t * | conflict, | ||
state_status_t * | pstatus | ||
) |
state_lock: Attempt to acquire a lock
This function acquires the state lock on a file.
Definition at line 2061 of file state_lock.c.
state_status_t state_lock_init | ( | state_status_t * | pstatus | ) |
Definition at line 109 of file state_lock.c.
void state_lock_wipe | ( | cache_entry_t * | pentry | ) |
Definition at line 3094 of file state_lock.c.
void state_nfs4_state_wipe | ( | cache_entry_t * | pentry | ) |
Definition at line 377 of file nfs4_state.c.
state_status_t state_nlm_share | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
exportlist_t * | pexport, | ||
int | share_access, | ||
int | share_deny, | ||
state_owner_t * | powner, | ||
state_status_t * | pstatus | ||
) |
state_status_t state_nlm_unshare | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
int | share_access, | ||
int | share_deny, | ||
state_owner_t * | powner, | ||
state_status_t * | pstatus | ||
) |
const char* state_owner_type_to_str | ( | state_owner_type_t | type | ) |
Definition at line 717 of file state_misc.c.
state_status_t state_owner_unlock_all | ( | fsal_op_context_t * | pcontext, |
state_owner_t * | powner, | ||
state_t * | pstate, | ||
state_status_t * | pstatus | ||
) |
state_owner_unlock_all: Release all locks held by a lock owner
Definition at line 2915 of file state_lock.c.
state_status_t state_set | ( | state_t * | pstate, |
state_status_t * | pstatus | ||
) |
state_status_t state_share_add | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
state_owner_t * | powner, | ||
state_t * | pstate, | ||
state_status_t * | pstatus | ||
) |
Definition at line 109 of file state_share.c.
void state_share_anonymous_io_done | ( | cache_entry_t * | pentry, |
int | share_access | ||
) |
Definition at line 619 of file state_share.c.
state_status_t state_share_anonymous_io_start | ( | cache_entry_t * | pentry, |
int | share_access, | ||
state_status_t * | pstatus | ||
) |
Definition at line 592 of file state_share.c.
state_status_t state_share_check_conflict | ( | cache_entry_t * | pentry, |
int | share_acccess, | ||
int | share_deny, | ||
state_status_t * | pstatus | ||
) |
Definition at line 480 of file state_share.c.
state_status_t state_share_check_prev | ( | state_t * | pstate, |
state_data_t * | pstate_data | ||
) |
Definition at line 462 of file state_share.c.
state_status_t state_share_downgrade | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
state_data_t * | pstate_data, | ||
state_owner_t * | powner, | ||
state_t * | pstate, | ||
state_status_t * | pstatus | ||
) |
Definition at line 362 of file state_share.c.
state_status_t state_share_remove | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
state_owner_t * | powner, | ||
state_t * | pstate, | ||
state_status_t * | pstatus | ||
) |
Definition at line 194 of file state_share.c.
state_status_t state_share_set_prev | ( | state_t * | pstate, |
state_data_t * | pstate_data | ||
) |
Definition at line 445 of file state_share.c.
state_status_t state_share_upgrade | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
state_data_t * | pstate_data, | ||
state_owner_t * | powner, | ||
state_t * | pstate, | ||
state_status_t * | pstatus | ||
) |
Definition at line 266 of file state_share.c.
state_status_t state_test | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
exportlist_t * | pexport, | ||
state_owner_t * | powner, | ||
fsal_lock_param_t * | plock, | ||
state_owner_t ** | holder, | ||
fsal_lock_param_t * | conflict, | ||
state_status_t * | pstatus | ||
) |
state_test: Test for lock availability
This function acquires the state lock on an entry and thus is only suitable for operations like lockt. If one wishes to use it as part of a larger lock or state operation one would need to split it out.
Definition at line 1967 of file state_lock.c.
state_status_t state_unlock | ( | cache_entry_t * | pentry, |
fsal_op_context_t * | pcontext, | ||
exportlist_t * | pexport, | ||
state_owner_t * | powner, | ||
state_t * | pstate, | ||
fsal_lock_param_t * | plock, | ||
state_status_t * | pstatus | ||
) |
state_unlock: Release a lock
Definition at line 2457 of file state_lock.c.
void state_wipe_file | ( | cache_entry_t * | pentry | ) |
Definition at line 934 of file state_misc.c.
void update_lease | ( | nfs_client_id_t * | pclientid | ) |
update_lease: Release a lease reservation, and update lease.
Release a lease reservation, and update lease. Caller must hold cid_mutex.
Lease reservation prevents any other thread from expiring the lease. This function releases the lease reservation. Before releasing the last reservation, cid_last_renew will be updated.
pclientid | [IN] clientid record to check lease for. |
Definition at line 152 of file nfs4_lease.c.
void update_stateid | ( | state_t * | pstate, |
stateid4 * | presp, | ||
compound_data_t * | data, | ||
const char * | tag | ||
) |
Definition at line 519 of file nfs4_state_id.c.
int valid_lease | ( | nfs_client_id_t * | pclientid | ) |
valid_lease: Check if lease is valid, caller holds cid_mutex.
Check if lease is valid, caller holds cid_mutex.
pclientid | [IN] clientid record to check lease for. |
Definition at line 82 of file nfs4_lease.c.
The management of the session id cache.
Definition at line 39 of file nfs41_session_id.c.