nfs-ganesha 1.4
Defines | Functions | Variables

fsal_internal.h File Reference

#include "fsal.h"
#include <sys/stat.h>
#include "FSAL/common_functions.h"

Go to the source code of this file.

Defines

#define POSIX_SUPPORTED_ATTRIBUTES

Functions

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)
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_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 *phandle)
fsal_status_t fsal_internal_Handle2FidPath (xfsfsal_op_context_t *p_context, xfsfsal_handle_t *p_handle, fsal_path_t *p_fsalpath)
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_inum2handle (fsal_op_context_t *p_context, ino_t inum, fsal_handle_t *phandle)
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_path2fsname (char *rpath, char *fs_spec)
int fsal_internal_get_bulkstat_by_inode (int fd, xfs_ino_t *p_ino, xfs_bstat_t *pxfs_bstat)
fsal_status_t XFSFSAL_access (fsal_handle_t *p_object_handle, fsal_op_context_t *p_context, fsal_accessflags_t access_type, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_getattrs (fsal_handle_t *p_filehandle, fsal_op_context_t *p_context, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_setattrs (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)
fsal_status_t XFSFSAL_BuildExportContext (fsal_export_context_t *p_export_context, fsal_path_t *p_export_path, char *fs_specific_options)
fsal_status_t XFSFSAL_create (fsal_handle_t *p_parent_directory_handle, fsal_name_t *p_filename, fsal_op_context_t *p_context, fsal_accessmode_t accessmode, fsal_handle_t *p_object_handle, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_mkdir (fsal_handle_t *p_parent_directory_handle, fsal_name_t *p_dirname, fsal_op_context_t *p_context, fsal_accessmode_t accessmode, fsal_handle_t *p_object_handle, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_link (fsal_handle_t *p_target_handle, fsal_handle_t *p_dir_handle, fsal_name_t *p_link_name, fsal_op_context_t *p_context, fsal_attrib_list_t *p_attributes)
fsal_status_t XFSFSAL_mknode (fsal_handle_t *parentdir_handle, fsal_name_t *p_node_name, fsal_op_context_t *p_context, fsal_accessmode_t accessmode, fsal_nodetype_t nodetype, fsal_dev_t *dev, fsal_handle_t *p_object_handle, fsal_attrib_list_t *node_attributes)
fsal_status_t XFSFSAL_opendir (fsal_handle_t *p_dir_handle, fsal_op_context_t *p_context, fsal_dir_t *p_dir_descriptor, fsal_attrib_list_t *p_dir_attributes)
fsal_status_t XFSFSAL_readdir (fsal_dir_t *p_dir_descriptor, fsal_cookie_t start_position, fsal_attrib_mask_t get_attr_mask, fsal_mdsize_t buffersize, fsal_dirent_t *p_pdirent, fsal_cookie_t *p_end_position, fsal_count_t *p_nb_entries, fsal_boolean_t *p_end_of_dir)
fsal_status_t XFSFSAL_closedir (fsal_dir_t *p_dir_descriptor)
fsal_status_t XFSFSAL_open_by_name (fsal_handle_t *dirhandle, fsal_name_t *filename, fsal_op_context_t *p_context, fsal_openflags_t openflags, fsal_file_t *file_descriptor, fsal_attrib_list_t *file_attributes)
fsal_status_t XFSFSAL_open (fsal_handle_t *p_filehandle, fsal_op_context_t *p_context, fsal_openflags_t openflags, fsal_file_t *p_file_descriptor, fsal_attrib_list_t *p_file_attributes)
fsal_status_t XFSFSAL_read (fsal_file_t *p_file_descriptor, fsal_seek_t *p_seek_descriptor, fsal_size_t buffer_size, caddr_t buffer, fsal_size_t *p_read_amount, fsal_boolean_t *p_end_of_file)
fsal_status_t XFSFSAL_write (fsal_file_t *p_file_descriptor, fsal_op_context_t *p_context, fsal_seek_t *p_seek_descriptor, fsal_size_t buffer_size, caddr_t buffer, fsal_size_t *p_write_amount)
fsal_status_t XFSFSAL_close (fsal_file_t *p_file_descriptor)
fsal_status_t XFSFSAL_dynamic_fsinfo (fsal_handle_t *p_filehandle, fsal_op_context_t *p_context, fsal_dynamicfsinfo_t *p_dynamicinfo)
fsal_status_t XFSFSAL_Init (fsal_parameter_t *init_info)
fsal_status_t XFSFSAL_test_access (fsal_op_context_t *p_context, fsal_accessflags_t access_type, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_setattr_access (fsal_op_context_t *p_context, fsal_attrib_list_t *candidate_attributes, fsal_attrib_list_t *object_attributes)
fsal_status_t XFSFSAL_rename_access (fsal_op_context_t *pcontext, fsal_attrib_list_t *pattrsrc, fsal_attrib_list_t *pattrdest)
fsal_status_t XFSFSAL_create_access (fsal_op_context_t *pcontext, fsal_attrib_list_t *pattr)
fsal_status_t XFSFSAL_unlink_access (fsal_op_context_t *pcontext, fsal_attrib_list_t *pattr)
fsal_status_t XFSFSAL_link_access (fsal_op_context_t *pcontext, fsal_attrib_list_t *pattr)
fsal_status_t XFSFSAL_merge_attrs (fsal_attrib_list_t *pinit_attr, fsal_attrib_list_t *pnew_attr, fsal_attrib_list_t *presult_attr)
fsal_status_t XFSFSAL_lookup (fsal_handle_t *p_parent_directory_handle, fsal_name_t *p_filename, fsal_op_context_t *p_context, fsal_handle_t *p_object_handle, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_lookupPath (fsal_path_t *p_path, fsal_op_context_t *p_context, fsal_handle_t *object_handle, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_lookupJunction (fsal_handle_t *p_junction_handle, fsal_op_context_t *p_context, fsal_handle_t *p_fsoot_handle, fsal_attrib_list_t *p_fsroot_attributes)
fsal_status_t XFSFSAL_set_quota (fsal_path_t *pfsal_path, int quota_type, fsal_uid_t fsal_uid, fsal_quota_t *pquota, fsal_quota_t *presquota)
fsal_status_t XFSFSAL_get_quota (fsal_path_t *pfsal_path, int quota_type, fsal_uid_t fsal_uid, fsal_quota_t *pquota)
fsal_status_t XFSFSAL_check_quota (char *path, fsal_quota_type_t quota_type, fsal_uid_t fsal_uid)
fsal_status_t XFSFSAL_rcp (fsal_handle_t *filehandle, fsal_op_context_t *p_context, fsal_path_t *p_local_path, fsal_rcpflag_t transfer_opt)
fsal_status_t XFSFSAL_rename (fsal_handle_t *p_old_parentdir_handle, fsal_name_t *p_old_name, fsal_handle_t *p_new_parentdir_handle, fsal_name_t *p_new_name, fsal_op_context_t *p_context, fsal_attrib_list_t *p_src_dir_attributes, fsal_attrib_list_t *p_tgt_dir_attributes)
void XFSFSAL_get_stats (fsal_statistics_t *stats, fsal_boolean_t reset)
fsal_status_t XFSFSAL_readlink (fsal_handle_t *p_linkhandle, fsal_op_context_t *p_context, fsal_path_t *p_link_content, fsal_attrib_list_t *p_link_attributes)
fsal_status_t XFSFSAL_symlink (fsal_handle_t *p_parent_directory_handle, fsal_name_t *p_linkname, fsal_path_t *p_linkcontent, fsal_op_context_t *p_context, fsal_accessmode_t accessmode, fsal_handle_t *p_link_handle, fsal_attrib_list_t *p_link_attributes)
int XFSFSAL_handlecmp (fsal_handle_t *handle1, fsal_handle_t *handle2, fsal_status_t *status)
unsigned int XFSFSAL_Handle_to_HashIndex (fsal_handle_t *p_handle, unsigned int cookie, unsigned int alphabet_len, unsigned int index_size)
unsigned int XFSFSAL_Handle_to_RBTIndex (fsal_handle_t *p_handle, unsigned int cookie)
fsal_status_t XFSFSAL_DigestHandle (fsal_export_context_t *p_expcontext, fsal_digesttype_t output_type, fsal_handle_t *p_in_fsal_handle, struct fsal_handle_desc *fh_desc)
fsal_status_t XFSFSAL_ExpandHandle (fsal_export_context_t *p_expcontext, fsal_digesttype_t in_type, struct fsal_handle_desc *fh_desc)
fsal_status_t XFSFSAL_SetDefault_FS_specific_parameter (fsal_parameter_t *out_parameter)
fsal_status_t XFSFSAL_load_FS_specific_parameter_from_conf (config_file_t in_config, fsal_parameter_t *out_parameter)
fsal_status_t XFSFSAL_truncate (fsal_handle_t *p_filehandle, fsal_op_context_t *p_context, fsal_size_t length, fsal_file_t *file_descriptor, fsal_attrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_unlink (fsal_handle_t *p_parent_directory_handle, fsal_name_t *p_object_name, fsal_op_context_t *p_context, fsal_attrib_list_t *p_parent_directory_attributes)
char * XFSFSAL_GetFSName ()
fsal_status_t XFSFSAL_GetXAttrAttrs (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, unsigned int xattr_id, fsal_attrib_list_t *p_attrs)
fsal_status_t XFSFSAL_ListXAttrs (fsal_handle_t *p_objecthandle, unsigned int cookie, fsal_op_context_t *p_context, fsal_xattrent_t *xattrs_tab, unsigned int xattrs_tabsize, unsigned int *p_nb_returned, int *end_of_list)
fsal_status_t XFSFSAL_GetXAttrValueById (fsal_handle_t *p_objecthandle, unsigned int xattr_id, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size)
fsal_status_t XFSFSAL_GetXAttrIdByName (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, unsigned int *pxattr_id)
fsal_status_t XFSFSAL_GetXAttrValueByName (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size)
fsal_status_t XFSFSAL_SetXAttrValue (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, int create)
fsal_status_t XFSFSAL_SetXAttrValueById (fsal_handle_t *p_objecthandle, unsigned int xattr_id, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size)
fsal_status_t XFSFSAL_RemoveXAttrById (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, unsigned int xattr_id)
fsal_status_t XFSFSAL_RemoveXAttrByName (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, const fsal_name_t *xattr_name)
int XFSFSAL_GetXattrOffsetSetable (void)
unsigned int XFSFSAL_GetFileno (fsal_file_t *pfile)
fsal_status_t XFSFSAL_getextattrs (fsal_handle_t *p_filehandle, fsal_op_context_t *p_context, fsal_extattrib_list_t *p_object_attributes)
fsal_status_t XFSFSAL_commit (fsal_file_t *p_file_descriptor, fsal_off_t offset, fsal_size_t size)
fsal_status_t xfsfsal_stat_by_name (fsal_op_context_t *context, int atfd, const char *name, fsal_handle_t *handle, fsal_attrib_list_t *attributes)

Variables

fsal_staticfsinfo_t global_fs_info

Define Documentation

#define POSIX_SUPPORTED_ATTRIBUTES

Function Documentation

void fsal_increment_nbcall ( int  function_index,
fsal_status_t  status 
)

Increments the number of calls for a function.

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 135 of file FSAL_CEPH/fsal_internal.c.

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

Definition at line 394 of file FSAL_VFS/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)

Retrieves current thread statistics.

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 211 of file FSAL_CEPH/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

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 451 of file FSAL_GPFS/fsal_internal.c.

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

Build .lustre/fid path associated to a handle.

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 p_context,
ino_t  inum,
fsal_handle_t phandle 
)

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

int fsal_internal_path2fsname ( char *  rpath,
char *  fs_spec 
)

Definition at line 902 of file FSAL_POSIX/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 484 of file FSAL_VFS/fsal_internal.c.

void ReleaseTokenFSCall ( )

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

void TakeTokenFSCall ( )

Used to limit the number of simultaneous calls to Filesystem.

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

fsal_status_t XFSFSAL_access ( fsal_handle_t p_object_handle,
fsal_op_context_t p_context,
fsal_accessflags_t  access_type,
fsal_attrib_list_t p_object_attributes 
)

FSAL_access : Tests whether the user or entity identified by its cred can access the object identified by object_handle, as indicated by the access_type parameters.

Parameters:
object_handle(input): The handle of the object to test permissions on.
cred(input): Authentication context for the operation (user,...).
access_type(input): Indicates the permissions to test. This is an inclusive OR of the permissions to be checked for the user identified by cred. Permissions constants are :

  • FSAL_R_OK : test for read permission
  • FSAL_W_OK : test for write permission
  • FSAL_X_OK : test for exec permission
  • FSAL_F_OK : test for file existence
object_attributes(optional input/output): The post operation attributes for the object. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 75 of file FSAL_XFS/fsal_access.c.

fsal_status_t XFSFSAL_check_quota ( char *  fs_spec,
fsal_quota_type_t  quota_type,
fsal_uid_t  fsal_uid 
)

FSAL_check_quota : checks if quotas allow a user to do an operation

Parameters:
fs_specpath to the filesystem whose quota are requested
quota_typetype of quota to be checked (inodes or blocks
fsal_uiduid for the user whose quota are requested
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 194 of file FSAL_XFS/fsal_quota.c.

fsal_status_t XFSFSAL_close ( fsal_file_t p_file_descriptor)

FSAL_close: Free the resources allocated by the FSAL_open call.

Parameters:
file_descriptor(input): The file descriptor returned by FSAL_open.
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR: no error.
  • Another error code if an error occured during this call.

Definition at line 513 of file FSAL_XFS/fsal_fileop.c.

fsal_status_t XFSFSAL_closedir ( fsal_dir_t p_dir_descriptor)

FSAL_closedir : Free the resources allocated for reading directory entries.

Parameters:
dir_descriptor(input): Pointer to a directory descriptor filled by FSAL_opendir.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 347 of file FSAL_XFS/fsal_dirs.c.

fsal_status_t XFSFSAL_commit ( fsal_file_t p_file_descriptor,
fsal_off_t  offset,
fsal_size_t  length 
)

FSAL_commit: This function is used for processing stable writes and COMMIT requests. Calling this function makes sure the changes to a specific file are written to disk rather than kept in memory.

Parameters:
file_descriptor(input): The file descriptor returned by FSAL_open.
offset,:The starting offset for the portion of file to be synced
length,:The length for the portion of file to be synced.
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR: no error.
  • Another error code if an error occured during this call.

Definition at line 566 of file FSAL_XFS/fsal_fileop.c.

fsal_status_t XFSFSAL_create ( fsal_handle_t p_parent_directory_handle,
fsal_name_t p_filename,
fsal_op_context_t p_context,
fsal_accessmode_t  accessmode,
fsal_handle_t p_object_handle,
fsal_attrib_list_t p_object_attributes 
)

FSAL_create: Create a regular file.

Parameters:
parent_directory_handle(input): Handle of the parent directory where the file is to be created.
p_filename(input): Pointer to the name of the file to be created.
cred(input): Authentication context for the operation (user,...).
accessmode(input): Mode for the file to be created. (the umask defined into the FSAL configuration file will be applied on it).
object_handle(output): Pointer to the handle of the created file.
object_attributes(optional input/output): The attributes of the created file. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occurred.

Definition at line 70 of file FSAL_XFS/fsal_create.c.

fsal_status_t XFSFSAL_create_access ( fsal_op_context_t pcontext,
fsal_attrib_list_t pattr 
)
fsal_status_t XFSFSAL_DigestHandle ( fsal_export_context_t p_expcontext,
fsal_digesttype_t  output_type,
fsal_handle_t handle,
struct fsal_handle_desc fh_desc 
)

FSAL_DigestHandle : Convert an xfsfsal_handle_t to a buffer to be included into NFS handles, or another digest.

Parameters:
output_type(input): Indicates the type of digest to do.
in_fsal_handle(input): The handle to be converted to digest.
fh_desc(input/output): The buffer where the digest is to be stored. On input fh_desc->len is set to the size of the buffer, on return fh_desc->len is used to indicate how many bytes have been copied into the buffer at fh_desc->start.
Returns:
The major code is ERR_FSAL_NO_ERROR is no error occured. Else, it is a non null value.

Definition at line 222 of file FSAL_XFS/fsal_tools.c.

fsal_status_t XFSFSAL_dynamic_fsinfo ( fsal_handle_t p_filehandle,
fsal_op_context_t p_context,
fsal_dynamicfsinfo_t p_dynamicinfo 
)

FSAL_dynamic_fsinfo: Return dynamic filesystem info such as used size, free size, number of objects...

Parameters:
filehandle(input): Handle of an object in the filesystem whom info is to be retrieved.
cred(input): Authentication context for the operation (user,...).
dynamicinfo(output): Pointer to the static info of the filesystem.
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR: no error.
  • ERR_FSAL_FAULT: NULL pointer passed as input parameter.
  • ERR_FSAL_SERVERFAULT: Unexpected error.

Definition at line 41 of file FSAL_XFS/fsal_fsinfo.c.

fsal_status_t XFSFSAL_ExpandHandle ( fsal_export_context_t p_expcontext,
fsal_digesttype_t  in_type,
struct fsal_handle_desc fh_desc 
)

FSAL_ExpandHandle : Verify handle - mostly used to check that the size matches.

Parameters:
in_type(input): Indicates the type of digest to be expanded.
fh_desc(input/output): The handle built from digest.
Returns:
The major code is ERR_FSAL_NO_ERROR is no error occured. Else, it is a non null value.

Definition at line 287 of file FSAL_XFS/fsal_tools.c.

fsal_status_t XFSFSAL_get_quota ( fsal_path_t pfsal_path,
int  quota_type,
fsal_uid_t  fsal_uid,
fsal_quota_t pquota 
)

FSAL_get_quota : Gets the quota for a given path.

Parameters:
pfsal_pathpath to the filesystem whose quota are requested
quota_typethe kind of requested quota (user or group)
fsal_uiduid for the user whose quota are requested
pquota(input): Parameter to the structure containing the requested quotas
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 60 of file FSAL_XFS/fsal_quota.c.

void XFSFSAL_get_stats ( fsal_statistics_t stats,
fsal_boolean_t  reset 
)

FSAL_get_stats: Retrieve call statistics for current thread.

Parameters:
stats(output): Pointer to the call statistics structure.
reset(input): Boolean that indicates if the stats must be reset.
Returns:
Nothing.

Definition at line 33 of file FSAL_XFS/fsal_stats.c.

fsal_status_t XFSFSAL_getattrs ( fsal_handle_t p_filehandle,
fsal_op_context_t p_context,
fsal_attrib_list_t p_object_attributes 
)

FSAL_getattrs: Get attributes for the object specified by its filehandle.

Parameters:
filehandle(input): The handle of the object to get parameters.
cred(input): Authentication context for the operation (user,...).
object_attributes(mandatory input/output): The retrieved attributes for the object. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains).
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 106 of file FSAL_XFS/fsal_attrs.c.

fsal_status_t XFSFSAL_getextattrs ( fsal_handle_t p_filehandle,
fsal_op_context_t p_context,
fsal_extattrib_list_t p_object_attributes 
)

FSAL_getetxattrs: Get attributes for the object specified by its filehandle.

Parameters:
filehandle(input): The handle of the object to get parameters.
cred(input): Authentication context for the operation (user,...).
object_attributes(mandatory input/output): The retrieved attributes for the object. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains).
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 494 of file FSAL_XFS/fsal_attrs.c.

unsigned int XFSFSAL_GetFileno ( fsal_file_t pfile)

Definition at line 325 of file FSAL_TEMPLATE/fsal_fileop.c.

char* XFSFSAL_GetFSName ( )

Definition at line 48 of file FSAL_XFS/fsal_tools.c.

fsal_status_t XFSFSAL_GetXAttrAttrs ( fsal_handle_t p_objecthandle,
fsal_op_context_t p_context,
unsigned int  xattr_id,
fsal_attrib_list_t p_attrs 
)

Get the attributes of an extended attribute from its index.

Parameters:
p_objecthandleHandle of the object you want to get attribute for.
p_contextpointer to the current security context.
xattr_cookiexattr's cookie (as returned by listxattrs).
p_attrsxattr's attributes.
Parameters:
p_attrsIN/OUT xattr attributes (if supported)

Definition at line 262 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t XFSFSAL_GetXAttrIdByName ( fsal_handle_t p_objecthandle,
const fsal_name_t xattr_name,
fsal_op_context_t p_context,
unsigned int *  pxattr_id 
)

* Get the index of an xattr based on its name *

Parameters:
p_objecthandleHandle of the object you want to get attribute for.
xattr_namethe name of the attribute to be read.
pxattr_idfound xattr_id
Returns:
ERR_FSAL_NO_ERROR if xattr_name exists, ERR_FSAL_NOENT otherwise

Definition at line 714 of file FSAL_XFS/fsal_xattrs.c.

int XFSFSAL_GetXattrOffsetSetable ( void  )

Definition at line 1010 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t XFSFSAL_GetXAttrValueById ( fsal_handle_t p_objecthandle,
unsigned int  xattr_id,
fsal_op_context_t p_context,
caddr_t  buffer_addr,
size_t  buffer_size,
size_t *  p_output_size 
)

Get the value of an extended attribute from its index.

Parameters:
p_objecthandleHandle of the object you want to get attribute for.
xattr_namethe name of the attribute to be read.
p_contextpointer to the current security context.
buffer_addraddress of the buffer where the xattr value is to be stored.
buffer_sizesize of the buffer where the xattr value is to be stored.
p_output_sizesize of the data actually stored into the buffer.

Definition at line 628 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t XFSFSAL_GetXAttrValueByName ( fsal_handle_t p_objecthandle,
const fsal_name_t xattr_name,
fsal_op_context_t p_context,
caddr_t  buffer_addr,
size_t  buffer_size,
size_t *  p_output_size 
)

Get the value of an extended attribute from its name.

Parameters:
p_objecthandleHandle of the object you want to get attribute for.
xattr_namethe name of the attribute to be read.
p_contextpointer to the current security context.
buffer_addraddress of the buffer where the xattr value is to be stored.
buffer_sizesize of the buffer where the xattr value is to be stored.
p_output_sizesize of the data actually stored into the buffer.

Definition at line 784 of file FSAL_XFS/fsal_xattrs.c.

unsigned int XFSFSAL_Handle_to_HashIndex ( fsal_handle_t handle,
unsigned int  cookie,
unsigned int  alphabet_len,
unsigned int  index_size 
)

FSAL_Handle_to_HashIndex This function is used for hashing a FSAL handle in order to dispatch entries into the hash table array.

Parameters:
p_handleThe handle to be hashed
cookieMakes it possible to have different hash value for the same handle, when cookie changes.
alphabet_lenParameter for polynomial hashing algorithm
index_sizeThe range of hash value will be [0..index_size-1]
Returns:
The hash value

Definition at line 103 of file FSAL_XFS/fsal_tools.c.

unsigned int XFSFSAL_Handle_to_RBTIndex ( fsal_handle_t p_handle,
unsigned int  cookie 
)

Definition at line 154 of file FSAL_XFS/fsal_tools.c.

int XFSFSAL_handlecmp ( fsal_handle_t hdl1,
fsal_handle_t hdl2,
fsal_status_t status 
)

FSAL_handlecmp: Compare 2 handles.

Parameters:
handle1(input): The first handle to be compared.
handle2(input): The second handle to be compared.
status(output): The status of the compare operation.
Returns:
- 0 if handles are the same.
  • A non null value else.
  • Segfault if status is a NULL pointer.

Definition at line 69 of file FSAL_XFS/fsal_tools.c.

fsal_status_t XFSFSAL_Init ( fsal_parameter_t init_info)

FSAL_Init : Initializes the FileSystem Abstraction Layer.

Parameters:
init_info(input, fsal_parameter_t *) : Pointer to a structure that contains all initialization parameters for the FSAL. Specifically, it contains settings about the filesystem on which the FSAL is based, security settings, logging policy and outputs, and other general FSAL options.
Returns:
Major error codes : ERR_FSAL_NO_ERROR (initialisation OK) ERR_FSAL_FAULT (init_info pointer is null) ERR_FSAL_SERVERFAULT (misc FSAL error) ERR_FSAL_ALREADY_INIT (The FS is already initialized) ERR_FSAL_BAD_INIT (FS specific init error, minor error code gives the reason for this error.) ERR_FSAL_SEC_INIT (Security context init error).

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

fsal_status_t XFSFSAL_link ( fsal_handle_t p_target_handle,
fsal_handle_t p_dir_handle,
fsal_name_t p_link_name,
fsal_op_context_t p_context,
fsal_attrib_list_t p_attributes 
)

FSAL_link: Create a hardlink.

Parameters:
target_handle(input): Handle of the target object.
dir_handle(input): Pointer to the directory handle where the hardlink is to be created.
p_link_name(input): Pointer to the name of the hardlink to be created.
cred(input): Authentication context for the operation (user,...).
accessmode(input): Mode for the directory to be created. (the umask defined into the FSAL configuration file will be applied on it).
attributes(optionnal input/output): The post_operation attributes of the linked object. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 393 of file FSAL_XFS/fsal_create.c.

fsal_status_t XFSFSAL_link_access ( fsal_op_context_t pcontext,
fsal_attrib_list_t pattr 
)
fsal_status_t XFSFSAL_ListXAttrs ( fsal_handle_t p_objecthandle,
unsigned int  argcookie,
fsal_op_context_t p_context,
fsal_xattrent_t xattrs_tab,
unsigned int  xattrs_tabsize,
unsigned int *  p_nb_returned,
int *  end_of_list 
)

Retrieves the list of extended attributes for an object in the filesystem.

Parameters:
p_objecthandleHandle of the object we want to get extended attributes.
cookieindex of the next entry to be returned.
p_contextpointer to the current security context.
xattrs_taba table for storing extended attributes list to.
xattrs_tabsizethe maximum number of xattr entries that xattrs_tab can contain.
p_nb_returnedthe number of xattr entries actually stored in xattrs_tab.
end_of_listthis boolean indicates that the end of xattrs list has been reached.

Definition at line 324 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t XFSFSAL_load_FS_specific_parameter_from_conf ( config_file_t  in_config,
fsal_parameter_t out_parameter 
)

FSAL_load_FSAL_parameter_from_conf, FSAL_load_FS_common_parameter_from_conf, FSAL_load_FS_specific_parameter_from_conf:

Those functions initialize the FSAL init parameter structure from a configuration structure.

Parameters:
in_config(input): Structure that represents the parsed configuration file.
out_parameter(ouput) FSAL initialization structure filled according to the configuration file given as parameter.
Returns:
ERR_FSAL_NO_ERROR (no error) , ERR_FSAL_NOENT (missing a mandatory stanza in config file), ERR_FSAL_INVAL (invalid parameter), ERR_FSAL_SERVERFAULT (unexpected error) ERR_FSAL_FAULT (null pointer given as parameter),

Definition at line 412 of file FSAL_XFS/fsal_tools.c.

fsal_status_t XFSFSAL_lookup ( fsal_handle_t parent_handle,
fsal_name_t p_filename,
fsal_op_context_t context,
fsal_handle_t object_handle,
fsal_attrib_list_t p_object_attributes 
)

FSAL_lookup : Looks up for an object into a directory.

Note : if parent handle and filename are NULL, this retrieves root's handle.

Parameters:
parent_directory_handle(input) Handle of the parent directory to search the object in.
filename(input) The name of the object to find.
p_context(input) Authentication context for the operation (user,...).
object_handle(output) The handle of the object corresponding to filename.
object_attributes(optional input/output) Pointer to the attributes of the object we found. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains).
Returns:
- ERR_FSAL_NO_ERROR, if no error.
  • Another error code else.

Definition at line 70 of file FSAL_XFS/fsal_lookup.c.

fsal_status_t XFSFSAL_lookupJunction ( fsal_handle_t p_junction_handle,
fsal_op_context_t p_context,
fsal_handle_t p_fsoot_handle,
fsal_attrib_list_t p_fsroot_attributes 
)

FSAL_lookupJunction : Get the fileset root for a junction.

Parameters:
p_junction_handle(input) Handle of the junction to be looked up.
p_context(input) Authentication context for the operation (user,...).
p_fsroot_handle(output) The handle of root directory of the fileset.
p_fsroot_attributes(optional input/output) Pointer to the attributes of the root directory for the fileset. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). It can be NULL (increases performances).
Returns:
- ERR_FSAL_NO_ERROR, if no error.
  • Another error code else.

Definition at line 269 of file FSAL_XFS/fsal_lookup.c.

fsal_status_t XFSFSAL_lookupPath ( fsal_path_t p_path,
fsal_op_context_t p_context,
fsal_handle_t object_handle,
fsal_attrib_list_t p_object_attributes 
)

FSAL_lookupPath : Looks up for an object into the namespace.

Note : if path equals "/", this retrieves root's handle.

Parameters:
path(input) The path of the object to find.
p_context(input) Authentication context for the operation (user,...).
object_handle(output) The handle of the object corresponding to filename.
object_attributes(optional input/output) Pointer to the attributes of the object we found. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). It can be NULL (increases performances).

Definition at line 205 of file FSAL_XFS/fsal_lookup.c.

fsal_status_t XFSFSAL_merge_attrs ( fsal_attrib_list_t pinit_attr,
fsal_attrib_list_t pnew_attr,
fsal_attrib_list_t presult_attr 
)
fsal_status_t XFSFSAL_mkdir ( fsal_handle_t p_parent_directory_handle,
fsal_name_t p_dirname,
fsal_op_context_t p_context,
fsal_accessmode_t  accessmode,
fsal_handle_t p_object_handle,
fsal_attrib_list_t p_object_attributes 
)

FSAL_mkdir: Create a directory.

Parameters:
parent_directory_handle(input): Handle of the parent directory where the subdirectory is to be created.
p_dirname(input): Pointer to the name of the directory to be created.
cred(input): Authentication context for the operation (user,...).
accessmode(input): Mode for the directory to be created. (the umask defined into the FSAL configuration file will be applied on it).
object_handle(output): Pointer to the handle of the created directory.
object_attributes(optionnal input/output): The attributes of the created directory. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 228 of file FSAL_XFS/fsal_create.c.

fsal_status_t XFSFSAL_mknode ( fsal_handle_t parentdir_handle,
fsal_name_t p_node_name,
fsal_op_context_t p_context,
fsal_accessmode_t  accessmode,
fsal_nodetype_t  nodetype,
fsal_dev_t dev,
fsal_handle_t p_object_handle,
fsal_attrib_list_t node_attributes 
)

FSAL_mknode: Create a special object in the filesystem. Not supported upon HPSS.

Returns:
ERR_FSAL_NOTSUPP.

Definition at line 500 of file FSAL_XFS/fsal_create.c.

fsal_status_t XFSFSAL_open ( fsal_handle_t p_filehandle,
fsal_op_context_t p_context,
fsal_openflags_t  openflags,
fsal_file_t p_file_descriptor,
fsal_attrib_list_t p_file_attributes 
)

FSAL_open: Open a regular file for reading/writing its data content.

Parameters:
filehandle(input): Handle of the file to be read/modified.
cred(input): Authentication context for the operation (user,...).
openflags(input): Flags that indicates behavior for file opening and access. This is an inclusive OR of the following values ( such of them are not compatible) :

  • FSAL_O_RDONLY: opening file for reading only.
  • FSAL_O_RDWR: opening file for reading and writing.
  • FSAL_O_WRONLY: opening file for writting only.
  • FSAL_O_APPEND: always write at the end of the file.
  • FSAL_O_TRUNC: truncate the file to 0 on opening.
file_descriptor(output): The file descriptor to be used for FSAL_read/write operations.
file_attributes(optionnal input/output): Post operation attributes. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains).
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR: no error.
  • Another error code if an error occured during this call.

Definition at line 134 of file FSAL_XFS/fsal_fileop.c.

fsal_status_t XFSFSAL_open_by_name ( fsal_handle_t dirhandle,
fsal_name_t filename,
fsal_op_context_t p_context,
fsal_openflags_t  openflags,
fsal_file_t file_descriptor,
fsal_attrib_list_t file_attributes 
)

FSAL_open_byname: Open a regular file for reading/writing its data content.

Parameters:
dirhandle(input): Handle of the directory that contain the file to be read/modified.
filename(input): Name of the file to be read/modified
cred(input): Authentication context for the operation (user,...).
openflags(input): Flags that indicates behavior for file opening and access. This is an inclusive OR of the following values ( such of them are not compatible) :

  • FSAL_O_RDONLY: opening file for reading only.
  • FSAL_O_RDWR: opening file for reading and writing.
  • FSAL_O_WRONLY: opening file for writting only.
  • FSAL_O_APPEND: always write at the end of the file.
  • FSAL_O_TRUNC: truncate the file to 0 on opening.
file_descriptor(output): The file descriptor to be used for FSAL_read/write operations.
file_attributes(optionnal input/output): Post operation attributes. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains).
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR (no error)
  • ERR_FSAL_ACCESS (user doesn't have the permissions for opening the file)
  • ERR_FSAL_STALE (filehandle does not address an existing object)
  • ERR_FSAL_INVAL (filehandle does not address a regular file, or open flags are conflicting)
  • ERR_FSAL_FAULT (a NULL pointer was passed as mandatory argument)
  • Other error codes can be returned : ERR_FSAL_IO, ...

Definition at line 82 of file FSAL_XFS/fsal_fileop.c.

fsal_status_t XFSFSAL_opendir ( fsal_handle_t p_dir_handle,
fsal_op_context_t p_context,
fsal_dir_t dir_desc,
fsal_attrib_list_t p_dir_attributes 
)

FSAL_opendir : Opens a directory for reading its content.

Parameters:
dir_handle(input) the handle of the directory to be opened.
cred(input) Permission context for the operation (user,...).
dir_descriptor(output) pointer to an allocated structure that will receive directory stream informations, on successfull completion.
dir_attributes(optional output) On successfull completion,the structure pointed by dir_attributes receives the new directory attributes. May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 44 of file FSAL_XFS/fsal_dirs.c.

fsal_status_t XFSFSAL_rcp ( fsal_handle_t filehandle,
fsal_op_context_t p_context,
fsal_path_t p_local_path,
fsal_rcpflag_t  transfer_opt 
)

FSAL_rcp: Copy an HPSS file to/from a local filesystem.

Parameters:
filehandle(input): Handle of the HPSS file to be copied.
cred(input): Authentication context for the operation (user,...).
p_local_path(input): Path of the file in the local filesystem.
transfer_opt(input): Flags that indicate transfer direction and options. This consists of an inclusive OR between the following values :

  • FSAL_RCP_FS_TO_LOCAL: Copy the file from the filesystem to a local path.
  • FSAL_RCP_LOCAL_TO_FS: Copy the file from local path to the filesystem.
  • FSAL_RCP_LOCAL_CREAT: Create the target local file if it doesn't exist.
  • FSAL_RCP_LOCAL_EXCL: Produce an error if the target local file already exists.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 54 of file FSAL_XFS/fsal_rcp.c.

fsal_status_t XFSFSAL_read ( fsal_file_t p_file_descriptor,
fsal_seek_t p_seek_descriptor,
fsal_size_t  buffer_size,
caddr_t  buffer,
fsal_size_t p_read_amount,
fsal_boolean_t p_end_of_file 
)

FSAL_read: Perform a read operation on an opened file.

Parameters:
file_descriptor(input): The file descriptor returned by FSAL_open.
seek_descriptor(optional input): Specifies the position where data is to be read. If not specified, data will be read at the current position.
buffer_size(input): Amount (in bytes) of data to be read.
buffer(output): Address where the read data is to be stored in memory.
read_amount(output): Pointer to the amount of data (in bytes) that have been read during this call.
end_of_file(output): Pointer to a boolean that indicates whether the end of file has been reached during this call.
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR: no error.
  • Another error code if an error occured during this call.

Todo:
: manage fsal_size_t to size_t convertion
Todo:
: manage ssize_t to fsal_size_t convertion

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

fsal_status_t XFSFSAL_readdir ( fsal_dir_t p_dir_descriptor,
fsal_cookie_t  start_position,
fsal_attrib_mask_t  get_attr_mask,
fsal_mdsize_t  buffersize,
fsal_dirent_t p_pdirent,
fsal_cookie_t p_end_position,
fsal_count_t p_nb_entries,
fsal_boolean_t p_end_of_dir 
)

Definition at line 217 of file FSAL_XFS/fsal_dirs.c.

fsal_status_t XFSFSAL_readlink ( fsal_handle_t linkhandle,
fsal_op_context_t p_context,
fsal_path_t p_link_content,
fsal_attrib_list_t p_link_attributes 
)

FSAL_readlink: Read the content of a symbolic link.

Parameters:
linkhandle(input): Handle of the link to be read.
cred(input): Authentication context for the operation (user,...).
p_link_content(output): Pointer to an fsal path structure where the link content is to be stored..
link_attributes(optionnal input/output): The post operation attributes of the symlink link. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 68 of file FSAL_XFS/fsal_symlinks.c.

fsal_status_t XFSFSAL_RemoveXAttrById ( fsal_handle_t p_objecthandle,
fsal_op_context_t p_context,
unsigned int  xattr_id 
)

Removes a xattr by Id

Parameters:
p_objecthandleHandle of the object you want to get attribute for.
p_contextpointer to the current security context.
xattr_idxattr's id

Definition at line 946 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t XFSFSAL_RemoveXAttrByName ( fsal_handle_t p_objecthandle,
fsal_op_context_t p_context,
const fsal_name_t xattr_name 
)

Removes a xattr by Name

Parameters:
p_objecthandleHandle of the object you want to get attribute for.
p_contextpointer to the current security context.
xattr_namexattr's name

Definition at line 984 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t XFSFSAL_rename ( fsal_handle_t p_old_parentdir_handle,
fsal_name_t p_old_name,
fsal_handle_t p_new_parentdir_handle,
fsal_name_t p_new_name,
fsal_op_context_t p_context,
fsal_attrib_list_t p_src_dir_attributes,
fsal_attrib_list_t p_tgt_dir_attributes 
)

FSAL_rename: Change name and/or parent dir of a filesystem object.

Parameters:
old_parentdir_handle(input): Source parent directory of the object is to be moved/renamed.
p_old_name(input): Pointer to the current name of the object to be moved/renamed.
new_parentdir_handle(input): Target parent directory for the object.
p_new_name(input): Pointer to the new name for the object.
cred(input): Authentication context for the operation (user,...).
src_dir_attributes(optionnal input/output): Post operation attributes for the source directory. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
tgt_dir_attributes(optionnal input/output): Post operation attributes for the target directory. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 78 of file FSAL_XFS/fsal_rename.c.

fsal_status_t XFSFSAL_rename_access ( fsal_op_context_t pcontext,
fsal_attrib_list_t pattrsrc,
fsal_attrib_list_t pattrdest 
)
fsal_status_t XFSFSAL_set_quota ( fsal_path_t pfsal_path,
int  quota_type,
fsal_uid_t  fsal_uid,
fsal_quota_t pquota,
fsal_quota_t presquota 
)

FSAL_get_quota : Gets the quota for a given path.

Parameters:
pfsal_pathpath to the filesystem whose quota are requested
quota_typethe kind of requested quota (user or group)
fsal_uiduid for the user whose quota are requested
pquota(input): pointer to the structure containing the wanted quotas
presquot(output) pointer to the structure containing the resulting quotas
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 113 of file FSAL_XFS/fsal_quota.c.

fsal_status_t XFSFSAL_setattr_access ( fsal_op_context_t p_context,
fsal_attrib_list_t candidate_attributes,
fsal_attrib_list_t object_attributes 
)
fsal_status_t XFSFSAL_setattrs ( 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 
)

FSAL_setattrs: Set attributes for the object specified by its filehandle.

Parameters:
filehandle(input): The handle of the object to get parameters.
cred(input): Authentication context for the operation (user,...).
attrib_set(mandatory input): The attributes to be set for the object. It defines the attributes that the caller wants to set and their values.
object_attributes(optionnal input/output): The post operation attributes for the object. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 205 of file FSAL_XFS/fsal_attrs.c.

fsal_status_t XFSFSAL_SetDefault_FS_specific_parameter ( fsal_parameter_t out_parameter)

Those routines set the default parameters for FSAL init structure.

Returns:
ERR_FSAL_NO_ERROR (no error) , ERR_FSAL_FAULT (null pointer given as parameter), ERR_FSAL_SERVERFAULT (unexpected error)

Definition at line 358 of file FSAL_XFS/fsal_tools.c.

fsal_status_t XFSFSAL_SetXAttrValue ( fsal_handle_t p_objecthandle,
const fsal_name_t xattr_name,
fsal_op_context_t p_context,
caddr_t  buffer_addr,
size_t  buffer_size,
int  create 
)

Definition at line 861 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t XFSFSAL_SetXAttrValueById ( fsal_handle_t p_objecthandle,
unsigned int  xattr_id,
fsal_op_context_t p_context,
caddr_t  buffer_addr,
size_t  buffer_size 
)

Definition at line 902 of file FSAL_XFS/fsal_xattrs.c.

fsal_status_t xfsfsal_stat_by_name ( fsal_op_context_t context,
int  atfd,
const char *  name,
fsal_handle_t handle,
fsal_attrib_list_t attributes 
)

Definition at line 120 of file FSAL_XFS/fsal_dirs.c.

fsal_status_t XFSFSAL_symlink ( fsal_handle_t p_parent_directory_handle,
fsal_name_t p_linkname,
fsal_path_t p_linkcontent,
fsal_op_context_t p_context,
fsal_accessmode_t  accessmode,
fsal_handle_t p_link_handle,
fsal_attrib_list_t p_link_attributes 
)

FSAL_symlink: Create a symbolic link.

Parameters:
parent_directory_handle(input): Handle of the parent directory where the link is to be created.
p_linkname(input): Name of the link to be created.
p_linkcontent(input): Content of the link to be created.
cred(input): Authentication context for the operation (user,...).
accessmode(ignored input): Mode of the link to be created. It has no sense in HPSS nor UNIX filesystems.
link_handle(output): Pointer to the handle of the created symlink.
link_attributes(optionnal input/output): Attributes of the newly created symlink. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 155 of file FSAL_XFS/fsal_symlinks.c.

fsal_status_t XFSFSAL_test_access ( fsal_op_context_t p_context,
fsal_accessflags_t  access_type,
fsal_attrib_list_t p_object_attributes 
)

FSAL_test_access : Tests whether the user or entity identified by its cred can access the object as indicated by the access_type parameter. This function tests access rights using cached attributes given as parameter. Thus, it cannot test FSAL_F_OK flag, and asking such a flag will result in a ERR_FSAL_INVAL error.

Parameters:
cred(input): Authentication context for the operation (user,...).
access_type(input): Indicates the permissions to test. This is an inclusive OR of the permissions to be checked for the user identified by cred. Permissions constants are :

  • FSAL_R_OK : test for read permission
  • FSAL_W_OK : test for write permission
  • FSAL_X_OK : test for exec permission
  • FSAL_F_OK : test for file existence
object_attributes(mandatory input): The cached attributes for the object to test rights on. The following attributes MUST be filled : owner, group, mode, ACLs.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 76 of file FSAL_XFS/fsal_local_op.c.

fsal_status_t XFSFSAL_truncate ( fsal_handle_t p_filehandle,
fsal_op_context_t p_context,
fsal_size_t  length,
fsal_file_t file_descriptor,
fsal_attrib_list_t p_object_attributes 
)

FSAL_truncate: Modify the data length of a regular file.

Parameters:
filehandle(input): Handle of the file is to be truncated.
cred(input): Authentication context for the operation (user,...).
length(input): The new data length for the file.
object_attributes(optionnal input/output): The post operation attributes of the file. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occurred.

Definition at line 69 of file FSAL_XFS/fsal_truncate.c.

fsal_status_t XFSFSAL_unlink ( fsal_handle_t p_parent_directory_handle,
fsal_name_t p_object_name,
fsal_op_context_t p_context,
fsal_attrib_list_t p_parent_directory_attributes 
)

FSAL_unlink: Remove a filesystem object .

Parameters:
parentdir_handle(input): Handle of the parent directory of the object to be deleted.
p_object_name(input): Name of the object to be removed.
cred(input): Authentication context for the operation (user,...).
parentdir_attributes(optionnal input/output): Post operation attributes of the parent directory. As input, it defines the attributes that the caller wants to retrieve (by positioning flags into this structure) and the output is built considering this input (it fills the structure according to the flags it contains). May be NULL.
Returns:
Major error codes :
  • ERR_FSAL_NO_ERROR (no error)
  • Another error code if an error occured.

Definition at line 68 of file FSAL_XFS/fsal_unlink.c.

fsal_status_t XFSFSAL_unlink_access ( fsal_op_context_t pcontext,
fsal_attrib_list_t pattr 
)
fsal_status_t XFSFSAL_write ( fsal_file_t p_file_descriptor,
fsal_op_context_t p_context,
fsal_seek_t p_seek_descriptor,
fsal_size_t  buffer_size,
caddr_t  buffer,
fsal_size_t p_write_amount 
)

FSAL_write: Perform a write operation on an opened file.

Parameters:
file_descriptor(input): The file descriptor returned by FSAL_open.
p_context(input): Authentication context for the operation (user,...).
seek_descriptor(optional input): Specifies the position where data is to be written. If not specified, data will be written at the current position.
buffer_size(input): Amount (in bytes) of data to be written.
buffer(input): Address in memory of the data to write to file.
write_amount(output): Pointer to the amount of data (in bytes) that have been written during this call.
Returns:
Major error codes:
  • ERR_FSAL_NO_ERROR: no error.
  • Another error code if an error occured during this call.

Todo:
: manage fsal_size_t to size_t convertion
Todo:
: manage ssize_t to fsal_size_t convertion

Definition at line 378 of file FSAL_XFS/fsal_fileop.c.


Variable Documentation

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