nfs-ganesha 1.4
Functions

state_layout.c File Reference

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.

Detailed Description

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.


Function Documentation

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.

Parameters:
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.
Returns:
STATE_SUCCESS on completion, other values of state_status_t on failure.

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.

Parameters:
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.
Returns:
STATE_SUCCESS if the layout is found, STATE_NOT_FOUND if it isn't, and an appropriate code if other bad things happen.

Definition at line 144 of file state_layout.c.