nfs-ganesha 1.4
Defines | Functions | Variables

fsal_proxy_internal.c File Reference

#include <rpc/rpc.h>
#include <rpc/clnt.h>
#include <rpc/xdr.h>
#include <rpc/auth.h>
#include <arpa/inet.h>
#include "nfs4.h"
#include "nfs_proto_functions.h"
#include "fsal_nfsv4_macros.h"
#include "fsal_internal.h"
#include "fsal_convert.h"
#include "fsal_common.h"
#include "SemN.h"
#include <pthread.h>
#include <string.h>
#include "abstract_mem.h"

Go to the source code of this file.

Defines

#define FSAL_INTERNAL_C
#define FSAL_PROXY_OPEN_CONFIRM_NB_OP_ALLOC   2
#define FSAL_PROXY_OPEN_CONFIRM_IDX_OP_PUTFH   0
#define FSAL_PROXY_OPEN_CONFIRM_IDX_OP_OPEN_CONFIRM   1

Functions

void fsal_interval_proxy_fsalattr2bitmap4 (fsal_attrib_list_t *pfsalattr, bitmap4 *pbitmap)
void fsal_internal_proxy_create_fattr_bitmap (bitmap4 *pbitmap)
void fsal_internal_proxy_create_fattr_readdir_bitmap (bitmap4 *pbitmap)
void fsal_internal_proxy_create_fattr_fsinfo_bitmap (bitmap4 *pbitmap)
void fsal_internal_proxy_setup_readdir_fattr (fsal_proxy_internal_fattr_readdir_t *pfattr)
void fsal_internal_proxy_setup_fattr (fsal_proxy_internal_fattr_t *pfattr)
fsal_status_t fsal_internal_proxy_error_convert (nfsstat4 nfsstatus, int indexfunc)
int fsal_internal_proxy_create_fh (nfs_fh4 *pnfs4_handle, fsal_nodetype_t type, fsal_u64_t fileid, fsal_handle_t *fsal_handle)
int fsal_internal_proxy_extract_fh (nfs_fh4 *pnfs4_handle, fsal_handle_t *fsal_handle)
int fsal_internal_proxy_fsal_name_2_utf8 (fsal_name_t *pname, utf8string *utf8str)
int fsal_internal_proxy_fsal_path_2_utf8 (fsal_path_t *ppath, utf8string *utf8str)
int fsal_internal_proxy_fsal_utf8_2_path (fsal_path_t *ppath, utf8string *utf8str)
int fsal_internal_proxy_fsal_utf8_2_name (fsal_name_t *pname, utf8string *utf8str)
int proxy_Fattr_To_FSAL_dynamic_fsinfo (fsal_dynamicfsinfo_t *pdynamicinfo, fattr4 *Fattr)
int proxy_Fattr_To_FSAL_attr (fsal_attrib_list_t *pFSAL_attr, proxyfsal_handle_t *phandle, fattr4 *Fattr)
fsal_status_t fsal_internal_set_auth_gss (proxyfsal_op_context_t *p_thr_context)
fsal_status_t fsal_proxy_create_rpc_clnt (proxyfsal_op_context_t *ctx)
int fsal_internal_ClientReconnect (proxyfsal_op_context_t *p_thr_context)
fsal_status_t FSAL_proxy_open_confirm (proxyfsal_file_t *pfd)
void * FSAL_proxy_change_user (proxyfsal_op_context_t *p_thr_context)

Variables

time_t ServerBootTime
fsal_staticfsinfo_t global_fs_info
proxyfs_specific_initinfo_t global_fsal_proxy_specific_info

Define Documentation

#define FSAL_INTERNAL_C

Definition at line 17 of file fsal_proxy_internal.c.

#define FSAL_PROXY_OPEN_CONFIRM_IDX_OP_OPEN_CONFIRM   1
#define FSAL_PROXY_OPEN_CONFIRM_IDX_OP_PUTFH   0
#define FSAL_PROXY_OPEN_CONFIRM_NB_OP_ALLOC   2

Function Documentation

int fsal_internal_ClientReconnect ( proxyfsal_op_context_t p_thr_context)

fsal_internal_ClientReconnect: Redo a previously lost connection to the server.

Redo a previously lost connection to the server.

Parameters:
p_thr_context[INOUT] pointer to the FSAL thread context.
Returns:
0 if successful, -1 if failed

Definition at line 922 of file fsal_proxy_internal.c.

void fsal_internal_proxy_create_fattr_bitmap ( bitmap4 pbitmap)

fsal_internal_proxy_create_fattr_bitmap : Create the fattr4 bitmap related to the attributes managed by this implementation of the proxy

Parameters:
none
Returns:
the desired bitmap

Definition at line 87 of file fsal_proxy_internal.c.

void fsal_internal_proxy_create_fattr_fsinfo_bitmap ( bitmap4 pbitmap)

Definition at line 147 of file fsal_proxy_internal.c.

void fsal_internal_proxy_create_fattr_readdir_bitmap ( bitmap4 pbitmap)

Definition at line 117 of file fsal_proxy_internal.c.

int fsal_internal_proxy_create_fh ( nfs_fh4 pnfs4_handle,
fsal_nodetype_t  type,
fsal_u64_t  fileid,
fsal_handle_t fsal_handle 
)

fsal_internal_proxy_create_fh :

Parameters:
pnfs4_handle[IN] the NFSv4 Handle
type[IN] the type of object for this entry
fileid[IN] the file id for this entry
pfsal_handle[OUT] the resulting FSAL Handle
Returns:
TRUE if OK, FALSE otherwise

Definition at line 389 of file fsal_proxy_internal.c.

fsal_status_t fsal_internal_proxy_error_convert ( nfsstat4  nfsstatus,
int  indexfunc 
)

fsal_internal_proxy_error_convert : Build a fsal_status in a correct way based on a NFS status

Parameters:
nfsstatus[IN] the nfs status to be converted
indexfunc[IN] the index of the FSAL function was does the call
Returns:
the converted value

Definition at line 194 of file fsal_proxy_internal.c.

int fsal_internal_proxy_extract_fh ( nfs_fh4 pnfs4_handle,
fsal_handle_t fsal_handle 
)

fsal_internal_proxy_extract_fh : Do the FSAL -> NFSv4 FH conversion

Parameters:
pnfs4_handle[OUT] the NFSv4 Handle
pfsal_handle[IN] the resulting FSAL Handle
Returns:
TRUE if OK, FALSE otherwise

Definition at line 449 of file fsal_proxy_internal.c.

int fsal_internal_proxy_fsal_name_2_utf8 ( fsal_name_t pname,
utf8string utf8str 
)

fsal_internal_proxy_fsal_name_2_utf8 : Do the FSAL -> NFSv4 UTF8 str conversion

Parameters:
pname[IN] the fsal name
utf8str[OUT] the resulting UTF8 str
Returns:
TRUE if OK, FALSE otherwise

Definition at line 482 of file fsal_proxy_internal.c.

int fsal_internal_proxy_fsal_path_2_utf8 ( fsal_path_t ppath,
utf8string utf8str 
)

fsal_internal_proxy_fsal_path_2_utf8 : Do the FSAL -> NFSv4 UTF8 str conversion

Parameters:
ppath[IN] the fsal path
utf8str[OUT] the resulting UTF8 str
Returns:
TRUE if OK, FALSE otherwise

Definition at line 519 of file fsal_proxy_internal.c.

int fsal_internal_proxy_fsal_utf8_2_name ( fsal_name_t pname,
utf8string utf8str 
)

fsal_internal_proxy_fsal_utf8_2_name : Do the NFSv4 UTF8 -> FSAL str conversion

Parameters:
pname[IN] the fsal name
utf8str[OUT] the resulting UTF8 str
Returns:
TRUE if OK, FALSE otherwise

Definition at line 587 of file fsal_proxy_internal.c.

int fsal_internal_proxy_fsal_utf8_2_path ( fsal_path_t ppath,
utf8string utf8str 
)

fsal_internal_proxy_fsal_utf8_2_path : Do the NFSv4 UTF8 -> FSAL str conversion

Parameters:
ppath[IN] the fsal path
utf8str[OUT] the resulting UTF8 str
Returns:
TRUE if OK, FALSE otherwise

Definition at line 557 of file fsal_proxy_internal.c.

void fsal_internal_proxy_setup_fattr ( fsal_proxy_internal_fattr_t pfattr)

Definition at line 176 of file fsal_proxy_internal.c.

void fsal_internal_proxy_setup_readdir_fattr ( fsal_proxy_internal_fattr_readdir_t pfattr)

Definition at line 168 of file fsal_proxy_internal.c.

fsal_status_t fsal_internal_set_auth_gss ( proxyfsal_op_context_t p_thr_context)

Definition at line 758 of file fsal_proxy_internal.c.

void fsal_interval_proxy_fsalattr2bitmap4 ( fsal_attrib_list_t pfsalattr,
bitmap4 pbitmap 
)

Definition at line 53 of file fsal_proxy_internal.c.

void* FSAL_proxy_change_user ( proxyfsal_op_context_t p_thr_context)

Todo:
: Nothing done now. Once RPCSEC_GSS will have explicit management, return an error as defaut behavior: non supported auth flavor

Definition at line 1065 of file fsal_proxy_internal.c.

fsal_status_t fsal_proxy_create_rpc_clnt ( proxyfsal_op_context_t ctx)

Definition at line 794 of file fsal_proxy_internal.c.

fsal_status_t FSAL_proxy_open_confirm ( proxyfsal_file_t pfd)

FSAL_proxy_open_confirm: Confirms a previously made OP_OPEN if this is required by the server

Parameters:
pfd[INOUT] : Open file descriptor for the file whose open is to be confirmed
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR (no error) ERR_FSAL_IO, ...

Definition at line 966 of file fsal_proxy_internal.c.

int proxy_Fattr_To_FSAL_attr ( fsal_attrib_list_t pFSAL_attr,
proxyfsal_handle_t phandle,
fattr4 Fattr 
)

proxy_Fattr_To_FSAL_attr: Converts NFSv4 attributes buffer to a FSAL attributes structure.

Converts NFSv4 attributes buffer to a FSAL attributes structure.

Parameters:
pFSAL_attr[OUT] pointer to FSAL attributes.
Fattr[IN] pointer to NFSv4 attributes.
Returns:
1 if successful, 0 if not supported, -1 if argument is badly formed

Definition at line 746 of file fsal_proxy_internal.c.

int proxy_Fattr_To_FSAL_dynamic_fsinfo ( fsal_dynamicfsinfo_t pdynamicinfo,
fattr4 Fattr 
)

proxy_Fattr_To_FSAL_dynamic_fsinfo: Converts NFSv4 attributes buffer to a FSAL dynamic fsinfo structure.

Converts NFSv4 attributes buffer to a FSAL dynamic fsinfo structure.

Parameters:
pdynamicinfo[OUT] pointer to FSAL attributes.
Fattr[IN] pointer to NFSv4 attributes.
Returns:
1 if successful, 0 if not supported, -1 if argument is badly formed

Definition at line 617 of file fsal_proxy_internal.c.


Variable Documentation

Definition at line 52 of file FSAL_CEPH/fsal_internal.c.

Definition at line 44 of file FSAL_PROXY/fsal_init.c.

Definition at line 53 of file Convert_FSAL_Handle.c.