nfs-ganesha 1.4

fsal_init.c

Go to the documentation of this file.
00001 /*
00002  * vim:expandtab:shiftwidth=8:tabstop=8:
00003  */
00004 
00014 #ifdef HAVE_CONFIG_H
00015 #include "config.h"
00016 #endif
00017 
00018 #include "fsal.h"
00019 #include "fsal_internal.h"
00020 #include "fsal_common.h"
00021 
00023 static int FS_Specific_Init(fs_specific_initinfo_t * fs_init_info)
00024 {
00025 
00026   int rc = 0;
00027 
00028   /* >> you can proceed some specific initialization here << */
00029 
00030   return rc;
00031 
00032 }
00033 
00055 fsal_status_t FSAL_Init(fsal_parameter_t * init_info    /* IN */
00056     )
00057 {
00058 
00059   fsal_status_t status;
00060   int rc;
00061 
00062   /* sanity check.  */
00063 
00064   if(!init_info)
00065     Return(ERR_FSAL_FAULT, 0, INDEX_FSAL_Init);
00066 
00067   /* proceeds FSAL internal status initialization */
00068 
00069   status = fsal_internal_init_global(&(init_info->fsal_info),
00070                                      &(init_info->fs_common_info));
00071 
00072   if(FSAL_IS_ERROR(status))
00073     Return(status.major, status.minor, INDEX_FSAL_Init);
00074 
00075   /* >> You can also initialize some filesystem stuff << */
00076 
00077   if(rc = FS_Specific_Init(&init_info->fs_specific_info))
00078     Return(ERR_FSAL_BAD_INIT, -rc, INDEX_FSAL_Init);
00079 
00080   /* Everything went OK. */
00081 
00082   Return(ERR_FSAL_NO_ERROR, 0, INDEX_FSAL_Init);
00083 
00084 }
00085 
00086 /* To be called before exiting */
00087 fsal_status_t FSAL_terminate()
00088 {
00089   ReturnCode(ERR_FSAL_NO_ERROR, 0);
00090 }