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 
00021 #ifdef _USE_MYSQL
00022 my_bool my_init(void);
00023 #endif                          /* _USE_MYSQL */
00024 
00046 fsal_status_t POSIXFSAL_Init(fsal_parameter_t * init_info       /* IN */
00047     )
00048 {
00049 #if defined(_USE_PGSQL)
00050   posixfs_specific_initinfo_t * posix_init
00051     = (posixfs_specific_initinfo_t *)&init_info->fs_specific_info;
00052   int rc = 0 ;
00053 #endif
00054   fsal_status_t status;
00055 
00056   /* sanity check.  */
00057   if(!init_info)
00058     Return(ERR_FSAL_FAULT, 0, INDEX_FSAL_Init);
00059 
00060   /* proceeds FSAL internal initialization */
00061 
00062   status = fsal_internal_init_global(&(init_info->fsal_info),
00063                                      &(init_info->fs_common_info),
00064                                      &(init_info->fs_specific_info));
00065 
00066   if(FSAL_IS_ERROR(status))
00067     Return(status.major, status.minor, INDEX_FSAL_Init);
00068 
00069   /* FS Specific initialization. */
00070 
00071   /* Define the password file path used by PostgreSQL */
00072 #if defined(_USE_PGSQL)
00073   if(!posix_init->dbparams.passwdfile[0] == '\0')
00074     {
00075       rc = setenv("PGPASSFILE", posix_init->dbparams.passwdfile, 1);
00076       if(rc != 0)
00077         LogMajor(COMPONENT_FSAL, "FSAL INIT: *** WARNING: Could not set POSTGRESQL keytab path.");
00078     }
00079 #elif defined (_USE_MYSQL)
00080   my_init();
00081 #endif
00082 
00083   Return(ERR_FSAL_NO_ERROR, 0, INDEX_FSAL_Init);
00084 
00085 }