nfs-ganesha 1.4
Defines | Functions | Variables

mfsl_async_synclet.c File Reference

#include "fsal_types.h"
#include "fsal.h"
#include "mfsl_types.h"
#include "mfsl.h"
#include "common_utils.h"
#include "LRU_List.h"

Go to the source code of this file.

Defines

#define _RPCB_PROT_H_RPCGEN
#define NO_VALUE_CHOOSEN   1000000

Functions

fsal_status_t MFSL_async_post (mfsl_async_op_desc_t *popdesc)
fsal_status_t mfsl_async_process_async_op (mfsl_async_op_desc_t *pasyncopdesc)
void * mfsl_async_synclet_refresher_thread (void *Arg)
void * mfsl_async_synclet_thread (void *Arg)
void * mfsl_async_asynchronous_dispatcher_thread (void *Arg)

Variables

pthread_t mfsl_async_atd_thrid
pthread_t * mfsl_async_synclet_thrid
int once = 0
mfsl_synclet_data_tsynclet_data
mfsl_parameter_t mfsl_param
unsigned int end_of_mfsl
LRU_list_tasync_op_lru
pthread_mutex_t mutex_async_list

Detailed Description

Definition in file mfsl_async_synclet.c.


Define Documentation

#define _RPCB_PROT_H_RPCGEN
#define NO_VALUE_CHOOSEN   1000000

Function Documentation

void* mfsl_async_asynchronous_dispatcher_thread ( void *  Arg)

mfsl_async_asynchronous_dispatcher_thread: this thread will assign asynchronous operation to the synclets.

Parameters:
Arg(unused)
Returns:
Pointer to the result (but this function will mostly loop forever).

Definition at line 386 of file mfsl_async_synclet.c.

fsal_status_t MFSL_async_post ( mfsl_async_op_desc_t popdesc)

MFSL_async_post: posts an asynchronous operation to the pending operations list.

Posts an asynchronous operation to the pending operations list.

Parameters:
popdesc[IN] the asynchronous operation descriptor

Definition at line 64 of file mfsl_async_synclet.c.

fsal_status_t mfsl_async_process_async_op ( mfsl_async_op_desc_t pasyncopdesc)

mfsl_async_process_async_op: processes an asynchronous operation.

Processes an asynchronous operation that was taken from a synclet's pending queue

Parameters:
popdesc[IN] the asynchronous operation descriptor
Returns:
the related fsal_status

Definition at line 98 of file mfsl_async_synclet.c.

void* mfsl_async_synclet_refresher_thread ( void *  Arg)

mfsl_async_synclet_refresher_thread: thread used for asynchronous cache inode management.

This thread is used for managing asynchrous inode management

Parameters:
IndexArgthe index for the thread
Returns:
Pointer to the result (but this function will mostly loop forever).

Definition at line 183 of file mfsl_async_synclet.c.

void* mfsl_async_synclet_thread ( void *  Arg)

mfsl_async_synclet_thread: thread used for asynchronous cache inode management.

This thread is used for managing asynchrous inode management

Parameters:
IndexArgthe index for the thread
Returns:
Pointer to the result (but this function will mostly loop forever).

Definition at line 232 of file mfsl_async_synclet.c.


Variable Documentation

Definition at line 52 of file mfsl_async_synclet.c.

unsigned int end_of_mfsl

Definition at line 57 of file mfsl_async.c.

Definition at line 43 of file mfsl_async_synclet.c.

Definition at line 44 of file mfsl_async_synclet.c.

Definition at line 58 of file mfsl_async_init.c.

pthread_mutex_t mutex_async_list

Definition at line 53 of file mfsl_async_synclet.c.

int once = 0

Definition at line 46 of file mfsl_async_synclet.c.

Definition at line 56 of file mfsl_async_init.c.