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

fsal_internal.c File Reference

#include "fsal.h"
#include "fsal_internal.h"
#include "abstract_mem.h"
#include "SemN.h"
#include "fsal_convert.h"
#include <libgen.h>
#include <pthread.h>
#include <string.h>
#include <sys/types.h>
#include <xfs/xfs.h>
#include <xfs/handle.h>
#include <mntent.h>

Go to the source code of this file.

Classes

struct  xfs_fshandle
struct  xfs_filehandle

Defines

#define FSAL_INTERNAL_C
#define XFS_FSHANDLE_SZ   8
#define XFS_FILEHANDLE_SZ   24
#define XFS_FILEHANDLE_SZ_FOLLOWING   14
#define XFS_FILEHANDLE_SZ_PAD   2

Typedefs

typedef struct xfs_fshandle xfs_fshandle_t
typedef struct xfs_filehandle xfs_filehandle_t

Functions

int fd_to_handle (int fd, void **hanp, size_t *hlen)
void fsal_increment_nbcall (int function_index, fsal_status_t status)
void fsal_internal_getstats (fsal_statistics_t *output_stats)
void TakeTokenFSCall ()
void ReleaseTokenFSCall ()
fsal_status_t fsal_internal_init_global (fsal_init_info_t *fsal_info, fs_common_initinfo_t *fs_common_info, xfsfs_specific_initinfo_t *fs_specific_info)
fsal_status_t fsal_internal_handle2fd (fsal_op_context_t *p_context, fsal_handle_t *phandle, int *pfd, int oflags)
fsal_status_t fsal_internal_fd2handle (fsal_op_context_t *p_context, int fd, fsal_handle_t *handle)
fsal_status_t fsal_internal_Path2Handle (xfsfsal_op_context_t *p_context, fsal_path_t *p_fsalpath, xfsfsal_handle_t *p_handle)
fsal_status_t fsal_internal_setattrs_symlink (fsal_handle_t *p_filehandle, fsal_op_context_t *p_context, fsal_attrib_list_t *p_attrib_set, fsal_attrib_list_t *p_object_attributes)
int fsal_internal_get_bulkstat_by_inode (int fd, xfs_ino_t *p_ino, xfs_bstat_t *pxfs_bstat)
fsal_status_t fsal_internal_inum2handle (fsal_op_context_t *context, ino_t inum, fsal_handle_t *handle)
int fsal_internal_path2fsname (char *rpath, char *fs_spec)

Variables

fsal_uint_t CredentialLifetime = 3600
fsal_staticfsinfo_t global_fs_info
semaphore_t sem_fs_calls

Define Documentation

#define FSAL_INTERNAL_C

Definition at line 36 of file FSAL_XFS/fsal_internal.c.

#define XFS_FILEHANDLE_SZ   24

Definition at line 488 of file FSAL_XFS/fsal_internal.c.

#define XFS_FILEHANDLE_SZ_FOLLOWING   14

Definition at line 489 of file FSAL_XFS/fsal_internal.c.

#define XFS_FILEHANDLE_SZ_PAD   2

Definition at line 490 of file FSAL_XFS/fsal_internal.c.

#define XFS_FSHANDLE_SZ   8

Definition at line 481 of file FSAL_XFS/fsal_internal.c.


Typedef Documentation

typedef struct xfs_fshandle xfs_fshandle_t

Function Documentation

int fd_to_handle ( int  fd,
void **  hanp,
size_t *  hlen 
)
void fsal_increment_nbcall ( int  function_index,
fsal_status_t  status 
)

fsal_increment_nbcall: Updates fonction call statistics.

Parameters:
function_index(input): Index of the function whom number of call is to be incremented.
status(input): Status the function returned.
Returns:
Nothing.

Definition at line 127 of file FSAL_XFS/fsal_internal.c.

fsal_status_t fsal_internal_fd2handle ( fsal_op_context_t p_context,
int  fd,
fsal_handle_t handle 
)

Definition at line 390 of file FSAL_XFS/fsal_internal.c.

int fsal_internal_get_bulkstat_by_inode ( int  fd,
xfs_ino_t *  p_ino,
xfs_bstat_t *  pxfs_bstat 
)

Definition at line 515 of file FSAL_XFS/fsal_internal.c.

void fsal_internal_getstats ( fsal_statistics_t output_stats)

fsal_internal_getstats: (For internal use in the FSAL). Retrieve call statistics for current thread.

Parameters:
output_stats(output): Pointer to the call statistics structure.
Returns:
Nothing.

Definition at line 204 of file FSAL_XFS/fsal_internal.c.

fsal_status_t fsal_internal_handle2fd ( fsal_op_context_t p_context,
fsal_handle_t phandle,
int *  pfd,
int  oflags 
)

Gets a fd from a handle

fsal_internal_handle2fd: Open a file by handle within an export.

Parameters:
p_context(input): Pointer to current context. Used to get export root fd.
phandle(input): Opaque filehandle
pfd(output): File descriptor openned by the function
oflags(input): Flags to open the file with
Returns:
status of operation

Definition at line 360 of file FSAL_XFS/fsal_internal.c.

fsal_status_t fsal_internal_init_global ( fsal_init_info_t fsal_info,
fs_common_initinfo_t fs_common_info,
xfsfs_specific_initinfo_t fs_specific_info 
)

This function initializes shared variables of the FSAL.

Definition at line 277 of file FSAL_XFS/fsal_internal.c.

fsal_status_t fsal_internal_inum2handle ( fsal_op_context_t context,
ino_t  inum,
fsal_handle_t handle 
)

Definition at line 526 of file FSAL_XFS/fsal_internal.c.

int fsal_internal_path2fsname ( char *  rpath,
char *  fs_spec 
)

Definition at line 589 of file FSAL_XFS/fsal_internal.c.

fsal_status_t fsal_internal_Path2Handle ( xfsfsal_op_context_t p_context,
fsal_path_t p_fsalpath,
xfsfsal_handle_t p_handle 
)

Get the handle for a path (posix or fid path)

Definition at line 442 of file FSAL_XFS/fsal_internal.c.

fsal_status_t fsal_internal_setattrs_symlink ( fsal_handle_t p_filehandle,
fsal_op_context_t p_context,
fsal_attrib_list_t p_attrib_set,
fsal_attrib_list_t p_object_attributes 
)

Definition at line 464 of file FSAL_XFS/fsal_internal.c.

void ReleaseTokenFSCall ( )

Definition at line 263 of file FSAL_XFS/fsal_internal.c.

void TakeTokenFSCall ( )

Used to limit the number of simultaneous calls to Filesystem.

Definition at line 252 of file FSAL_XFS/fsal_internal.c.


Variable Documentation

Definition at line 58 of file FSAL_XFS/fsal_internal.c.

Definition at line 64 of file FSAL_XFS/fsal_internal.c.

Definition at line 101 of file FSAL_XFS/fsal_internal.c.