nfs-ganesha 1.4
Defines | Functions | Variables

fsal_internal.c File Reference

#include "fsal.h"
#include "fsal_internal.h"
#include "SemN.h"
#include <pthread.h>
#include "abstract_mem.h"

Go to the source code of this file.

Defines

#define FSAL_INTERNAL_C
#define SET_INTEGER_PARAM(cfg, p_init_info, _field)
#define SET_BITMAP_PARAM(cfg, p_init_info, _field)
#define SET_BOOLEAN_PARAM(cfg, p_init_info, _field)

Functions

void fsal_increment_nbcall (int function_index, fsal_status_t status)
void fsal_internal_getstats (fsal_statistics_t *output_stats)
void fsal_internal_SetCredentialLifetime (fsal_uint_t lifetime_in)
void fsal_internal_SetReturnInconsistentDirent (fsal_uint_t bool_in)
void TakeTokenFSCall ()
void ReleaseTokenFSCall ()
fsal_status_t fsal_internal_init_global (fsal_init_info_t *fsal_info, fs_common_initinfo_t *fs_common_info)
fsal_boolean_t fsal_do_log (fsal_status_t status)

Variables

fsal_uint_t CredentialLifetime = 3600
fsal_uint_t ReturnInconsistentDirent = FALSE
fsal_staticfsinfo_t global_fs_info
semaphore_t sem_fs_calls

Define Documentation

#define FSAL_INTERNAL_C

Definition at line 15 of file FSAL_HPSS/fsal_internal.c.

#define SET_BITMAP_PARAM (   cfg,
  p_init_info,
  _field 
)
Value:
switch( (p_init_info)->behaviors._field ){                    \
    case FSAL_INIT_FORCE_VALUE :                                  \
        /* force the value in any case */                         \
        cfg._field = (p_init_info)->values._field;                \
        break;                                                    \
    case FSAL_INIT_MAX_LIMIT :                                    \
      /* proceed a bit AND */                                     \
      cfg._field &= (p_init_info)->values._field ;                \
      break;                                                      \
    case FSAL_INIT_MIN_LIMIT :                                    \
      /* proceed a bit OR */                                      \
      cfg._field |= (p_init_info)->values._field ;                \
      break;                                                      \
    /* In the other cases, we keep the default value. */          \
    }

Definition at line 298 of file FSAL_HPSS/fsal_internal.c.

#define SET_BOOLEAN_PARAM (   cfg,
  p_init_info,
  _field 
)
Value:
switch( (p_init_info)->behaviors._field ){                    \
    case FSAL_INIT_FORCE_VALUE :                                  \
        /* force the value in any case */                         \
        cfg._field = (p_init_info)->values._field;                \
        break;                                                    \
    case FSAL_INIT_MAX_LIMIT :                                    \
      /* proceed a boolean AND */                                 \
      cfg._field = cfg._field && (p_init_info)->values._field ;   \
      break;                                                      \
    case FSAL_INIT_MIN_LIMIT :                                    \
      /* proceed a boolean OR */                                  \
      cfg._field = cfg._field && (p_init_info)->values._field ;   \
      break;                                                      \
    /* In the other cases, we keep the default value. */          \
    }

Definition at line 315 of file FSAL_HPSS/fsal_internal.c.

#define SET_INTEGER_PARAM (   cfg,
  p_init_info,
  _field 
)
Value:
switch( (p_init_info)->behaviors._field ){                    \
    case FSAL_INIT_FORCE_VALUE :                                  \
      /* force the value in any case */                           \
      cfg._field = (p_init_info)->values._field;                  \
      break;                                                      \
    case FSAL_INIT_MAX_LIMIT :                                    \
      /* check the higher limit */                                \
      if ( cfg._field > (p_init_info)->values._field )            \
        cfg._field = (p_init_info)->values._field ;               \
      break;                                                      \
    case FSAL_INIT_MIN_LIMIT :                                    \
      /* check the lower limit */                                 \
      if ( cfg._field < (p_init_info)->values._field )            \
        cfg._field = (p_init_info)->values._field ;               \
      break;                                                      \
    /* In the other cases, we keep the default value. */          \
    }

Definition at line 279 of file FSAL_HPSS/fsal_internal.c.


Function Documentation

fsal_boolean_t fsal_do_log ( fsal_status_t  status)

fsal_do_log: Indicates if an FSAL error has to be traced into its log file in the NIV_EVENT level. (in the other cases, return codes are only logged in the NIV_FULL_DEBUG logging lovel).

Parameters:
status(input),:The fsal status that is to be tested.
Returns:
- TRUE if the error is to be traced.
  • FALSE if the error must not be traced except in NIV_FULL_DEBUG level.

Definition at line 470 of file FSAL_HPSS/fsal_internal.c.

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 103 of file FSAL_HPSS/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 180 of file FSAL_HPSS/fsal_internal.c.

fsal_status_t fsal_internal_init_global ( fsal_init_info_t fsal_info,
fs_common_initinfo_t fs_common_info 
)

This function initializes shared variables of the FSAL.

Definition at line 335 of file FSAL_HPSS/fsal_internal.c.

void fsal_internal_SetCredentialLifetime ( fsal_uint_t  lifetime_in)

Set credential lifetime. (For internal use in the FSAL). Set the period for thread's credential renewal.

Parameters:
lifetime_in(input): The period for thread's credential renewal.
Returns:
Nothing.

Definition at line 235 of file FSAL_HPSS/fsal_internal.c.

void fsal_internal_SetReturnInconsistentDirent ( fsal_uint_t  bool_in)

Set behavior when detecting a MD inconsistency in readdir. (For internal use in the FSAL).

Parameters:
lifetime_in(input): The period for thread's credential renewal.
Returns:
Nothing.

Definition at line 249 of file FSAL_HPSS/fsal_internal.c.

void ReleaseTokenFSCall ( )

Definition at line 268 of file FSAL_HPSS/fsal_internal.c.

void TakeTokenFSCall ( )

Used to limit the number of simultaneous calls to Filesystem.

Definition at line 257 of file FSAL_HPSS/fsal_internal.c.


Variable Documentation

Definition at line 28 of file FSAL_HPSS/fsal_internal.c.

Definition at line 37 of file FSAL_HPSS/fsal_internal.c.

Definition at line 31 of file FSAL_HPSS/fsal_internal.c.

Definition at line 77 of file FSAL_HPSS/fsal_internal.c.