nfs-ganesha 1.4
Defines | Functions

fsal_convert.c File Reference

#include "fsal_convert.h"
#include "fsal_internal.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>

Go to the source code of this file.

Defines

#define MAX_2(x, y)   ( (x) > (y) ? (x) : (y) )
#define MAX_3(x, y, z)   ( (x) > (y) ? MAX_2((x),(z)) : MAX_2((y),(z)) )

Functions

int posix2fsal_error (int posix_errorcode)
int fsal2posix_openflags (fsal_openflags_t fsal_flags, int *posix_flags)
fsal_status_t posix2fsal_attributes (struct stat *st, fsal_attrib_list_t *attrs)
int stat2fsal_fh (struct ceph_mount_info *cmount, struct stat *st, cephfsal_handle_t *handle)

Define Documentation

#define MAX_2 (   x,
 
)    ( (x) > (y) ? (x) : (y) )

Definition at line 26 of file FSAL_CEPH/fsal_convert.c.

#define MAX_3 (   x,
  y,
 
)    ( (x) > (y) ? MAX_2((x),(z)) : MAX_2((y),(z)) )

Definition at line 27 of file FSAL_CEPH/fsal_convert.c.


Function Documentation

int fsal2posix_openflags ( fsal_openflags_t  fsal_flags,
int *  posix_flags 
)

fsal2posix_openflags: Convert FSAL open flags to Posix open flags.

Parameters:
fsal_flags(input): The FSAL open flags to be translated.
posix_flags(output): Pointer to the POSIX open flags.
Returns:
- ERR_FSAL_NO_ERROR (no error).
  • ERR_FSAL_FAULT (posix_flags is a NULL pointer).
  • ERR_FSAL_INVAL (invalid or incompatible input flags).

Definition at line 175 of file FSAL_CEPH/fsal_convert.c.

fsal_status_t posix2fsal_attributes ( struct stat *  p_buffstat,
fsal_attrib_list_t p_fsalattr_out 
)

Converts POSIX attributes (struct stat) to FSAL attributes (fsal_attrib_list_t)

Definition at line 229 of file FSAL_CEPH/fsal_convert.c.

int posix2fsal_error ( int  posix_errorcode)

posix2fsal_error : Convert POSIX error codes to FSAL error codes.

Parameters:
posix_errorcode(input): The error code returned from POSIX.
Returns:
The FSAL error code associated to posix_errorcode.

Todo:
: The EBADF error also happens when file is opened for reading, and we try writting in it. In this case, we return ERR_FSAL_NOT_OPENED, but it doesn't seems to be a correct error translation.
Warning:
AIX returns EEXIST where BSD uses ENOTEMPTY; We want ENOTEMPTY to be interpreted anyway on AIX plateforms. Thus, we explicitely write its value (87).

Definition at line 40 of file FSAL_CEPH/fsal_convert.c.

int stat2fsal_fh ( struct ceph_mount_info *  cmount,
struct stat *  st,
cephfsal_handle_t handle 
)

Definition at line 330 of file FSAL_CEPH/fsal_convert.c.