nfs-ganesha 1.4
|
This file contains functions used in layout management. More...
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#include <time.h>
#include <pthread.h>
#include <string.h>
#include "LRU_List.h"
#include "log.h"
#include "HashData.h"
#include "HashTable.h"
#include "fsal.h"
#include "sal_functions.h"
#include "nfs_core.h"
Go to the source code of this file.
Functions | |
state_status_t | state_add_segment (state_t *state, struct pnfs_segment *segment, void *fsal_data, bool_t return_on_close) |
Add a segment to an existing layout state. | |
state_status_t | state_delete_segment (state_layout_segment_t *segment) |
state_status_t | state_lookup_layout_state (cache_entry_t *pentry, state_owner_t *powner, layouttype4 type, state_t **pstate) |
Find pre-existing layouts. |
This file contains functions used in layout management.
state_layout.c : This file contains functions used in lock management.
Definition in file state_layout.c.
state_status_t state_add_segment | ( | state_t * | state, |
struct pnfs_segment * | segment, | ||
void * | fsal_data, | ||
bool_t | return_on_close | ||
) |
Add a segment to an existing layout state.
This function is intended to be used in nfs41_op_layoutget to add each segment returned by FSAL_layoutget to an existing state of type STATE_TYPE_LAYOUT.
state | [IN] Pointer to the layout state. |
segment | [IN] The layout segment itself (as a layout4, specified by RFC5661) granted by the FSAL. |
fsal_data | [IN] Pointer to FSAL-specific data for this segment. |
segid | [IN] The FSAL-specific, opaque segment ID provided by the FSAL. |
Definition at line 76 of file state_layout.c.
state_status_t state_delete_segment | ( | state_layout_segment_t * | segment | ) |
Definition at line 119 of file state_layout.c.
state_status_t state_lookup_layout_state | ( | cache_entry_t * | pentry, |
state_owner_t * | powner, | ||
layouttype4 | type, | ||
state_t ** | pstate | ||
) |
Find pre-existing layouts.
This function finds a state corresponding to a given file, clientid, and layout type if one exists.
entry | [IN] Cache_inode entry for the file. |
owner | [IN] Pointer to the state owner. This must be a clientid owner. |
type | [IN] The layout type specified by the client. |
state | [OUT] The found state, NULL if not found. |
Definition at line 144 of file state_layout.c.