static fsal_status_t zfs_init_config(struct fsal_module *fsal_hdl, config_file_t config_struct, struct config_error_type *err_type) { struct zfs_fsal_module *zfs_me = container_of(fsal_hdl, struct zfs_fsal_module, fsal); zfs_me->fs_info = default_zfs_info; /* copy the consts */ (void) load_config_from_parse(config_struct, &zfs_param, &zfs_me, true, err_type); if (!config_error_is_harmless(err_type)) return fsalstat(ERR_FSAL_INVAL, 0); display_fsinfo(&zfs_me->fs_info); LogFullDebug(COMPONENT_FSAL, "Supported attributes constant = 0x%" PRIx64, ZFS_SUPPORTED_ATTRIBUTES); LogFullDebug(COMPONENT_FSAL, "Supported attributes default = 0x%" PRIx64, default_zfs_info.supported_attrs); LogDebug(COMPONENT_FSAL, "FSAL INIT: Supported attributes mask = 0x%" PRIx64, zfs_me->fs_info.supported_attrs); return fsalstat(ERR_FSAL_NO_ERROR, 0); }
static fsal_status_t init_config(struct fsal_module *fsal_hdl, config_file_t config_struct, struct config_error_type *err_type) { struct glusterfs_fsal_module *glfsal_module = container_of(fsal_hdl, struct glusterfs_fsal_module, fsal); glfsal_module->fs_info = default_gluster_info; (void) load_config_from_parse(config_struct, &glfs_param, &glfsal_module->fs_info, true, err_type); /* * Global block is not mandatory, so evenif * it is not parsed correctly, don't consider * that as an error */ if (!config_error_is_harmless(err_type)) LogDebug(COMPONENT_FSAL, "Parsing Export Block failed"); display_fsinfo(&glfsal_module->fs_info); return fsalstat(ERR_FSAL_NO_ERROR, 0); }
int mdcache_set_param_from_conf(config_file_t parse_tree, struct config_error_type *err_type) { (void) load_config_from_parse(parse_tree, &mdcache_param_blk, NULL, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing MDCACHE specific configuration"); return -1; } /* Compute avl_chunk_split after reading config, make sure it's a * multiple of two. */ mdcache_param.dir.avl_chunk_split = ((mdcache_param.dir.avl_chunk * 3) / 2) & (UINT32_MAX - 1); /* Compute avl_detached_max from avl_chunk and avl_detached_mult */ mdcache_param.dir.avl_detached_max = mdcache_param.dir.avl_chunk * mdcache_param.dir.avl_detached_mult; return 0; }
int mdcache_set_param_from_conf(config_file_t parse_tree, struct config_error_type *err_type) { (void) load_config_from_parse(parse_tree, &mdcache_param_blk, NULL, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing MDCACHE specific configuration"); return -1; } return 0; }
/** * @brief Load parameters from config file * * @param[in] config_struct Parsed config file * @param[out] p_start_info Startup parameters * @param[out] err_type error reporting state * * @return -1 on failure. */ int nfs_set_param_from_conf(config_file_t parse_tree, nfs_start_info_t *p_start_info, struct config_error_type *err_type) { /* * Initialize exports and clients so config parsing can use them * early. */ client_pkginit(); export_pkginit(); server_pkginit(); /* Core parameters */ (void) load_config_from_parse(parse_tree, &nfs_core, &nfs_param.core_param, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing core configuration"); return -1; } /* Worker paramters: ip/name hash table and expiration for each entry */ (void) load_config_from_parse(parse_tree, &nfs_ip_name, NULL, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing IP/name configuration"); return -1; } #ifdef _HAVE_GSSAPI /* NFS kerberos5 configuration */ (void) load_config_from_parse(parse_tree, &krb5_param, &nfs_param.krb5_param, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing NFS/KRB5 configuration for RPCSEC_GSS"); return -1; } #endif /* NFSv4 specific configuration */ (void) load_config_from_parse(parse_tree, &version4_param, &nfs_param.nfsv4_param, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing NFSv4 specific configuration"); return -1; } #ifdef _USE_9P (void) load_config_from_parse(parse_tree, &_9p_param_blk, NULL, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing 9P specific configuration"); return -1; } #endif /* Cache inode client parameters */ (void) load_config_from_parse(parse_tree, &cache_inode_param_blk, NULL, true, err_type); if (!config_error_is_harmless(err_type)) { LogCrit(COMPONENT_INIT, "Error while parsing 9P specific configuration"); return -1; } LogEvent(COMPONENT_INIT, "Configuration file successfully parsed"); return 0; }