[Pvfs2-cvs] commit by kunkel in pvfs2/src/apps/admin:
pvfs2-migrate.c
CVS commit program
cvs at parl.clemson.edu
Mon Aug 28 15:51:10 EDT 2006
Update of /projects/cvsroot/pvfs2/src/apps/admin
In directory parlweb1:/tmp/cvs-serv28054/src/apps/admin
Modified Files:
Tag: kunkel-branch
pvfs2-migrate.c
Log Message:
Added override flag which does yet only allow to migrate from the same source
to the same destination.
Index: pvfs2-migrate.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/apps/admin/Attic/pvfs2-migrate.c,v
diff -p -u -r1.1.2.3 -r1.1.2.4
--- pvfs2-migrate.c 26 Aug 2006 18:00:28 -0000 1.1.2.3
+++ pvfs2-migrate.c 28 Aug 2006 19:51:10 -0000 1.1.2.4
@@ -31,7 +31,7 @@ struct options
char *old_dataserver;
char *new_dataserver;
PVFS_handle old_dataserver_handle_number;
-
+ int override_restrictions;
int verbose;
};
@@ -135,7 +135,10 @@ int main(
PVFS_BMI_addr_t bmi_newdatataserver;
PVFS_hint * hints = NULL;
-
+
+ PVFS_add_hint(& hints, REQUEST_ID, "pvfs2-migrate");
+ PINT_hint_add_environment_hints(& hints);
+
PVFS_sysresp_getattr resp_getattr;
user_opts = parse_args(argc, argv);
@@ -214,9 +217,17 @@ int main(
*/
if( strcmp(user_opts->old_dataserver, user_opts->new_dataserver) == 0 )
{
- fprintf(stderr, "Error, source and target dataserver are %s, nothing to be done\n",
- user_opts->old_dataserver);
- return (-1);
+ if( user_opts->override_restrictions )
+ {
+ fprintf(stderr, "Warning, source and target dataserver are %s, override active\n",
+ user_opts->old_dataserver);
+ }
+ else
+ {
+ fprintf(stderr, "Error, source and target dataserver are %s, nothing to be done\n",
+ user_opts->old_dataserver);
+ return (-1);
+ }
}
ret = PINT_cached_config_get_server_name(metadataserver, 256,
@@ -262,8 +273,6 @@ int main(
lld(user_opts->old_dataserver_handle_number));
}
-
- PVFS_add_hint(& hints, REQUEST_ID, "pvfs2-migrate");
ret = PVFS_mgmt_migrate(metafile_ref.fs_id, & credentials, bmi_metadataserver
, metafile_ref.handle,
user_opts->old_dataserver_handle_number,
@@ -275,7 +284,11 @@ int main(
PVFS_perror("Error file could not be migrated", ret);
return -1;
}
-
+ if( user_opts->verbose )
+ {
+ printf("Migration done\n");
+ }
+
PVFS_sys_finalize();
free(user_opts);
return (ret);
@@ -304,7 +317,7 @@ static struct options *parse_args(
memset(tmp_opts, 0, sizeof(struct options));
/* look at command line arguments */
- while ((one_opt = getopt(argc, argv, "s:d:vV")) != EOF)
+ while ((one_opt = getopt(argc, argv, "s:d:voV")) != EOF)
{
switch (one_opt)
{
@@ -317,6 +330,9 @@ static struct options *parse_args(
case ('v'):
tmp_opts->verbose = 1;
break;
+ case ('o'):
+ tmp_opts->override_restrictions = 1;
+ break;
case ('V'):
printf("%s\n", PVFS2_VERSION);
exit(0);
@@ -354,6 +370,7 @@ static void usage(
"\n-s handle_number \t migrate datafile with handle number to new_dataserver"
"\nWhere ARGS is one or more of"
"\n-v\t\t\t verbose output\n"
+ "\n-o\t\t\t override restrictions\n"
"\n-V\t\t\t print version number and exit\n");
return;
}
More information about the Pvfs2-cvs
mailing list