nfs-ganesha 1.4
Classes | Defines | Typedefs | Enumerations | Variables

sal_data.h File Reference

Management of the state abstraction layer. More...

#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#include <time.h>
#include <pthread.h>
#include "cache_inode.h"
#include "abstract_mem.h"
#include "RW_Lock.h"
#include "HashData.h"
#include "HashTable.h"
#include "fsal.h"
#include "fsal_types.h"
#include "log.h"
#include "config_parsing.h"
#include "nfs_core.h"
#include "nfs23.h"
#include "nfs4.h"
#include "nfs_proto_functions.h"
#include "nlm_list.h"

Go to the source code of this file.

Classes

struct  nfs41_session_slot__
struct  nfs41_session__
struct  state_share__
struct  state_lock_t
struct  state_deleg__
struct  state_layout__
union  state_data_t
struct  state_t
struct  state_nfs4_owner_name_t
struct  nfs_argop4_state
struct  state_nfs4_owner_t
struct  state_owner_t
struct  nfs_client_id_t
struct  nfs_client_record_t
struct  state_lock_entry_t
struct  nfs_grace_start
struct  state_nlm_share_t

Defines

#define STATE_LOCK_OFFSET_EOF   0xFFFFFFFFFFFFFFFFLL
#define NFS41_SESSION_PER_CLIENT   3
#define NFS41_NB_SLOTS   3
#define NFS41_DRC_SIZE   32768
#define OTHERSIZE   12
#define CLIENT_ID_SUCCESS   0
#define CLIENT_ID_INSERT_MALLOC_ERROR   1
#define CLIENT_ID_NOT_FOUND   2
#define CLIENT_ID_INVALID_ARGUMENT   3
#define CLIENT_ID_STATE_ERROR   4
#define sle_state_locks   sle_locks

Typedefs

typedef struct state_nfs4_owner_t state_nfs4_owner_t
typedef struct state_owner_t state_owner_t
typedef struct state_t state_t
typedef struct nfs_argop4_state nfs_argop4_state
typedef struct state_lock_entry_t state_lock_entry_t
typedef struct state_async_queue_t state_async_queue_t
typedef struct nfs_client_record_t nfs_client_record_t
typedef struct nfs41_session_slot__ nfs41_session_slot_t
typedef enum state_type_t state_type_t
typedef struct state_share__ state_share_t
typedef struct state_lock_t state_lock_t
typedef struct state_deleg__ state_deleg_t
typedef struct state_layout__ state_layout_t
typedef union state_data_t state_data_t
typedef struct
state_nfs4_owner_name_t 
state_nfs4_owner_name_t
typedef enum state_owner_type_t state_owner_type_t
typedef enum
nfs_clientid_confirm_state__ 
nfs_clientid_confirm_state_t
typedef enum state_status_t state_status_t
typedef enum state_blocking_t state_blocking_t
typedef state_status_t(* granted_callback_t )(cache_entry_t *pentry, state_lock_entry_t *lock_entry, state_status_t *pstatus)
typedef void state_block_data_t
typedef struct nfs_grace_start nfs_grace_start_t

Enumerations

enum  state_type_t {
  STATE_TYPE_NONE = 0, STATE_TYPE_SHARE = 1, STATE_TYPE_DELEG = 2, STATE_TYPE_LOCK = 4,
  STATE_TYPE_LAYOUT = 5
}
enum  state_owner_type_t { STATE_LOCK_OWNER_UNKNOWN, STATE_OPEN_OWNER_NFSV4, STATE_LOCK_OWNER_NFSV4, STATE_CLIENTID_OWNER_NFSV4 }
enum  nfs_clientid_confirm_state__ { UNCONFIRMED_CLIENT_ID, CONFIRMED_CLIENT_ID, EXPIRED_CLIENT_ID }
enum  state_status_t {
  STATE_SUCCESS = 0, STATE_MALLOC_ERROR = 1, STATE_POOL_MUTEX_INIT_ERROR = 2, STATE_GET_NEW_LRU_ENTRY = 3,
  STATE_UNAPPROPRIATED_KEY = 4, STATE_INIT_ENTRY_FAILED = 5, STATE_FSAL_ERROR = 6, STATE_LRU_ERROR = 7,
  STATE_HASH_SET_ERROR = 8, STATE_NOT_A_DIRECTORY = 9, STATE_INCONSISTENT_ENTRY = 10, STATE_BAD_TYPE = 11,
  STATE_ENTRY_EXISTS = 12, STATE_DIR_NOT_EMPTY = 13, STATE_NOT_FOUND = 14, STATE_INVALID_ARGUMENT = 15,
  STATE_INSERT_ERROR = 16, STATE_HASH_TABLE_ERROR = 17, STATE_FSAL_EACCESS = 18, STATE_IS_A_DIRECTORY = 19,
  STATE_FSAL_EPERM = 20, STATE_NO_SPACE_LEFT = 21, STATE_CACHE_CONTENT_ERROR = 22, STATE_CACHE_CONTENT_EXISTS = 23,
  STATE_CACHE_CONTENT_EMPTY = 24, STATE_READ_ONLY_FS = 25, STATE_IO_ERROR = 26, STATE_FSAL_ESTALE = 27,
  STATE_FSAL_ERR_SEC = 28, STATE_STATE_CONFLICT = 29, STATE_QUOTA_EXCEEDED = 30, STATE_DEAD_ENTRY = 31,
  STATE_ASYNC_POST_ERROR = 32, STATE_NOT_SUPPORTED = 33, STATE_STATE_ERROR = 34, STATE_FSAL_DELAY = 35,
  STATE_NAME_TOO_LONG = 36, STATE_LOCK_CONFLICT = 37, STATE_LOCK_BLOCKED = 38, STATE_LOCK_DEADLOCK = 39,
  STATE_BAD_COOKIE = 40, STATE_FILE_BIG = 41, STATE_GRACE_PERIOD = 42, STATE_CACHE_INODE_ERR = 43,
  STATE_SIGNAL_ERROR = 44, STATE_KILLED = 45, STATE_FILE_OPEN = 46
}
enum  state_blocking_t {
  STATE_NON_BLOCKING, STATE_NLM_BLOCKING, STATE_NFSV4_BLOCKING, STATE_GRANTING,
  STATE_CANCELED
}

Variables

char all_zero [OTHERSIZE]
char all_one [OTHERSIZE]
state_owner_t unknown_owner
hash_table_tht_confirmed_client_id
hash_table_tht_unconfirmed_client_id
pool_tstate_owner_pool
pool_tstate_nfs4_owner_name_pool
pool_tstate_v4_pool

Detailed Description

Management of the state abstraction layer.

Author:
Author:
deniel
Date:
Date:
2006/01/24 11:43:15
Version:
Revision:
1.95

sal_data.h : Management of the state abstraction layer

Definition in file sal_data.h.


Define Documentation

#define CLIENT_ID_INSERT_MALLOC_ERROR   1

Definition at line 349 of file sal_data.h.

#define CLIENT_ID_INVALID_ARGUMENT   3

Definition at line 351 of file sal_data.h.

#define CLIENT_ID_NOT_FOUND   2

Definition at line 350 of file sal_data.h.

#define CLIENT_ID_STATE_ERROR   4

Definition at line 352 of file sal_data.h.

#define CLIENT_ID_SUCCESS   0

Definition at line 348 of file sal_data.h.

#define NFS41_DRC_SIZE   32768

Definition at line 109 of file sal_data.h.

#define NFS41_NB_SLOTS   3

Definition at line 108 of file sal_data.h.

#define NFS41_SESSION_PER_CLIENT   3

Definition at line 107 of file sal_data.h.

#define OTHERSIZE   12

Definition at line 188 of file sal_data.h.

#define sle_state_locks   sle_locks

Definition at line 572 of file sal_data.h.

#define STATE_LOCK_OFFSET_EOF   0xFFFFFFFFFFFFFFFFLL

Definition at line 79 of file sal_data.h.


Typedef Documentation

Definition at line 484 of file sal_data.h.

Definition at line 85 of file sal_data.h.

Definition at line 88 of file sal_data.h.

Definition at line 87 of file sal_data.h.

typedef void state_block_data_t

Definition at line 535 of file sal_data.h.

typedef union state_data_t state_data_t
typedef struct state_deleg__ state_deleg_t

Definition at line 86 of file sal_data.h.

typedef struct state_lock_t state_lock_t

Definition at line 82 of file sal_data.h.

typedef struct state_owner_t state_owner_t

Definition at line 83 of file sal_data.h.

typedef struct state_share__ state_share_t
typedef struct state_t state_t

Definition at line 84 of file sal_data.h.

typedef enum state_type_t state_type_t

Enumeration Type Documentation

Enumerator:
UNCONFIRMED_CLIENT_ID 
CONFIRMED_CLIENT_ID 
EXPIRED_CLIENT_ID 

Definition at line 340 of file sal_data.h.

Enumerator:
STATE_NON_BLOCKING 
STATE_NLM_BLOCKING 
STATE_NFSV4_BLOCKING 
STATE_GRANTING 
STATE_CANCELED 

Definition at line 470 of file sal_data.h.

Enumerator:
STATE_LOCK_OWNER_UNKNOWN 
STATE_OPEN_OWNER_NFSV4 
STATE_LOCK_OWNER_NFSV4 
STATE_CLIENTID_OWNER_NFSV4 

Definition at line 221 of file sal_data.h.

Enumerator:
STATE_SUCCESS 
STATE_MALLOC_ERROR 
STATE_POOL_MUTEX_INIT_ERROR 
STATE_GET_NEW_LRU_ENTRY 
STATE_UNAPPROPRIATED_KEY 
STATE_INIT_ENTRY_FAILED 
STATE_FSAL_ERROR 
STATE_LRU_ERROR 
STATE_HASH_SET_ERROR 
STATE_NOT_A_DIRECTORY 
STATE_INCONSISTENT_ENTRY 
STATE_BAD_TYPE 
STATE_ENTRY_EXISTS 
STATE_DIR_NOT_EMPTY 
STATE_NOT_FOUND 
STATE_INVALID_ARGUMENT 
STATE_INSERT_ERROR 
STATE_HASH_TABLE_ERROR 
STATE_FSAL_EACCESS 
STATE_IS_A_DIRECTORY 
STATE_FSAL_EPERM 
STATE_NO_SPACE_LEFT 
STATE_CACHE_CONTENT_ERROR 
STATE_CACHE_CONTENT_EXISTS 
STATE_CACHE_CONTENT_EMPTY 
STATE_READ_ONLY_FS 
STATE_IO_ERROR 
STATE_FSAL_ESTALE 
STATE_FSAL_ERR_SEC 
STATE_STATE_CONFLICT 
STATE_QUOTA_EXCEEDED 
STATE_DEAD_ENTRY 
STATE_ASYNC_POST_ERROR 
STATE_NOT_SUPPORTED 
STATE_STATE_ERROR 
STATE_FSAL_DELAY 
STATE_NAME_TOO_LONG 
STATE_LOCK_CONFLICT 
STATE_LOCK_BLOCKED 
STATE_LOCK_DEADLOCK 
STATE_BAD_COOKIE 
STATE_FILE_BIG 
STATE_GRACE_PERIOD 
STATE_CACHE_INODE_ERR 
STATE_SIGNAL_ERROR 
STATE_KILLED 
STATE_FILE_OPEN 

Definition at line 413 of file sal_data.h.

Enumerator:
STATE_TYPE_NONE 
STATE_TYPE_SHARE 
STATE_TYPE_DELEG 
STATE_TYPE_LOCK 
STATE_TYPE_LAYOUT 

Definition at line 137 of file sal_data.h.


Variable Documentation

char all_one[OTHERSIZE]

Definition at line 72 of file nfs4_state_id.c.

char all_zero[OTHERSIZE]

Definition at line 71 of file nfs4_state_id.c.

Definition at line 58 of file nfs4_clientid.c.

Definition at line 59 of file nfs4_clientid.c.

Definition at line 60 of file state_misc.c.

Definition at line 59 of file state_misc.c.

Definition at line 61 of file state_misc.c.

Definition at line 101 of file state_lock.c.