int main(int argc, char **argv) { int ret = -1; /* all parameters read in from fs.conf */ struct server_configuration_s server_config; PINT_llist_p fs_configs; char *server_alias; /* make sure that the buffers we intend to use for reading keys and * values is at least large enough to hold the maximum size of xattr keys * and values */ if(DEF_KEY_SIZE < PVFS_REQ_LIMIT_KEY_LEN) { DEF_KEY_SIZE = PVFS_REQ_LIMIT_KEY_LEN; } if(DEF_DATA_SIZE < PVFS_REQ_LIMIT_VAL_LEN) { DEF_DATA_SIZE = PVFS_REQ_LIMIT_VAL_LEN; } if (parse_args(argc, argv, &opts)) { fprintf(stderr,"%s: error: argument parsing failed.\n", argv[0]); return -1; } if(opts.alias_set) { server_alias = opts.alias; } else { server_alias = PINT_util_guess_alias(); } ret = PINT_parse_config(&server_config, opts.fs_conf, server_alias); if(ret < 0) { gossip_err("Error: Please check your config files.\n"); if(!opts.alias_set) { free(server_alias); } return -1; } if(!opts.alias_set) { free(server_alias); } if(opts.all_set) { /* get all the collection ids from the fs config */ fs_configs = PINT_config_get_filesystems(&server_config); } else { /* get the collection id from the specified fs name */ PVFS_fs_id fs_id = PINT_config_get_fs_id_by_fs_name( &server_config, opts.fs); fs_configs = PINT_llist_new(); PINT_llist_add_to_head( fs_configs, (void *)PINT_config_find_fs_id(&server_config, fs_id)); } ret = PINT_llist_doall_arg(fs_configs, migrate_collection, &server_config); if(ret < 0) { PINT_config_release(&server_config); if(!opts.all_set) { PINT_llist_free(fs_configs, fs_config_dummy_free); } return(-1); } return 0; }
int main(int argc, char **argv) { PINT_llist *cur = NULL; struct server_configuration_s serverconfig; struct host_alias_s *cur_alias; struct filesystem_configuration_s *cur_fs = NULL; int alias_count = 1; if (argc != 3) { printf("Usage: %s <fs.conf> <server-alias>\n",argv[0]); return 1; } gossip_enable_stderr(); memset(&serverconfig,0,sizeof(serverconfig)); if (PINT_parse_config(&serverconfig, argv[1], argv[2], 1)) { printf("Failed to parse config files\n"); return 1; } /* dump all gathered config values */ fprintf(stderr,"--- Printing filesystem configuration\n\n"); fprintf(stderr,"Server ID : %s\n", serverconfig.host_id); fprintf(stderr,"Data Storage Space : %s\n", serverconfig.data_path); fprintf(stderr,"Meta Storage Space : %s\n", serverconfig.meta_path); fprintf(stderr,"FS Config File Name : %s (%d bytes)\n", serverconfig.fs_config_filename, (int)serverconfig.fs_config_buflen); fprintf(stderr,"Initial Unexp Requests : %d\n", serverconfig.initial_unexpected_requests); fprintf(stderr,"Configured Log File : %s\n", serverconfig.logfile); fprintf(stderr,"Configured FlowModules : %s\n", serverconfig.flow_modules); fprintf(stderr,"Configured BMIModules : %s\n", serverconfig.bmi_modules); fprintf(stderr,"Event Logging Mask String: %s\n", serverconfig.event_logging); fprintf(stderr,"\n--- Host Aliases (alias => address):\n"); cur = serverconfig.host_aliases; while(cur) { cur_alias = PINT_llist_head(cur); if (!cur_alias) { break; } fprintf(stderr,"%.2d) %s => %s\n", alias_count++, cur_alias->host_alias, cur_alias->bmi_address); cur = PINT_llist_next(cur); } fprintf(stderr,"\n"); cur = serverconfig.file_systems; while(cur) { cur_fs = PINT_llist_head(cur); if (!cur_fs) { break; } print_filesystem_configuration(cur_fs); cur = PINT_llist_next(cur); } fprintf(stderr,"\n--- Analyzing filesystem configuration\n\n"); if (PINT_config_is_valid_configuration(&serverconfig)) { fprintf(stderr,"\nOK: Configuration file is VALID\n"); } else { fprintf(stderr,"\nERROR: Configuration file is INVALID\n"); } PINT_config_release(&serverconfig); gossip_disable(); return 0; }