[Pvfs2-cvs] commit by kunkel in pvfs2/src/apps/kernel/linux:
pvfs2-client.c module.mk.in pvfs2-client-core.c
CVS commit program
cvs at parl.clemson.edu
Sat Dec 2 06:22:22 EST 2006
Update of /projects/cvsroot/pvfs2/src/apps/kernel/linux
In directory parlweb1:/tmp/cvs-serv18519/src/apps/kernel/linux
Modified Files:
Tag: kunkel-hint-branch
pvfs2-client.c module.mk.in pvfs2-client-core.c
Log Message:
Upgrade to current CVS version
Index: pvfs2-client.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/apps/kernel/linux/pvfs2-client.c,v
diff -p -u -r1.19.2.1 -r1.19.2.2
--- pvfs2-client.c 8 Sep 2006 10:00:42 -0000 1.19.2.1
+++ pvfs2-client.c 2 Dec 2006 11:22:21 -0000 1.19.2.2
@@ -54,6 +54,7 @@ typedef struct
char *logfile;
char *logstamp;
int create_request_id;
+ int threaded;
} options_t;
static void client_sig_handler(int signum);
@@ -269,7 +270,15 @@ static int monitor_pvfs2_client(options_
printf("About to exec %s\n",opts->path);
}
- arg_list[0] = PVFS2_CLIENT_CORE_NAME;
+ if(opts->threaded)
+ {
+ arg_list[0] = PVFS2_CLIENT_CORE_NAME "-threaded";
+ }
+ else
+ {
+ arg_list[0] = PVFS2_CLIENT_CORE_NAME;
+ }
+
arg_list[1] = "-a";
arg_list[2] = opts->acache_timeout;
arg_list[3] = "-n";
@@ -381,6 +390,8 @@ static void print_help(char *progname)
printf("--create-request-id create a id which is transfered to the server\n");
printf("-p PATH, --path PATH execute pvfs2-client at "
"PATH\n");
+ printf("--logstamp=none|usec|datetime override default log message time stamp format\n");
+ printf("--threaded use threaded client\n");
}
static void parse_args(int argc, char **argv, options_t *opts)
@@ -409,6 +420,7 @@ static void parse_args(int argc, char **
{"path",1,0,0},
{"logstamp",1,0,0},
{"create-request-id",0,0,0},
+ {"threaded",0,0,0},
{0,0,0,0}
};
@@ -508,6 +520,11 @@ static void parse_args(int argc, char **
opts->create_request_id = 1;
break;
}
+ else if (strcmp("threaded", cur_option) == 0)
+ {
+ opts->threaded = 1;
+ break;
+ }
break;
case 'h':
do_help:
@@ -575,7 +592,14 @@ static void parse_args(int argc, char **
since they didn't specify a specific path, we're going to
let execlp() sort things out later
*/
- opts->path = PVFS2_CLIENT_CORE_NAME;
+ if(opts->threaded)
+ {
+ opts->path = PVFS2_CLIENT_CORE_NAME "-threaded";
+ }
+ else
+ {
+ opts->path = PVFS2_CLIENT_CORE_NAME;
+ }
}
if (!opts->acache_timeout)
Index: module.mk.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/apps/kernel/linux/module.mk.in,v
diff -p -u -r1.3 -r1.3.26.1
--- module.mk.in 22 Jul 2005 20:20:35 -0000 1.3
+++ module.mk.in 2 Dec 2006 11:22:21 -0000 1.3.26.1
@@ -4,6 +4,9 @@ KERNAPPSRC += \
$(DIR)/pvfs2-client-core.c \
$(DIR)/pvfs2-client.c
+KERNAPPSTHRSRC += \
+ $(DIR)/pvfs2-client-core.c
+
ifneq (,$(LINUX24_KERNEL_SRC))
KERNAPPSRC += $(DIR)/mount.pvfs2.c
endif
Index: pvfs2-client-core.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/apps/kernel/linux/pvfs2-client-core.c,v
diff -p -u -r1.73.2.2 -r1.73.2.3
--- pvfs2-client-core.c 25 Sep 2006 12:40:25 -0000 1.73.2.2
+++ pvfs2-client-core.c 2 Dec 2006 11:22:21 -0000 1.73.2.3
@@ -63,14 +63,6 @@
#define PVFS2_CLIENT_DEFAULT_TEST_TIMEOUT_MS 10
/*
- uncomment if you want to run this application stand-alone
- (i.e. without the pvfs2-client wrapper). this is only useful as a
- developer and allows clean shutdown for valgrind debugging or
- getting core dumps. this is NOT a supported run mode
-*/
-/* #define STANDALONE_RUN_MODE */
-
-/*
uncomment for timing of individual operation information to be
emitted to the pvfs2-client logging output
*/
@@ -107,6 +99,7 @@ typedef struct
int logstamp_type;
int logstamp_type_set;
int create_request_id;
+ int standalone;
} options_t;
/*
@@ -265,12 +258,10 @@ static void client_segfault_handler(int
abort();
}
-#ifdef STANDALONE_RUN_MODE
static void client_core_sig_handler(int signum)
{
s_client_is_processing = 0;
}
-#endif
static int hash_key(void *key, int table_size)
{
@@ -3146,20 +3137,6 @@ int main(int argc, char **argv)
PINT_client_sm *acache_timer_sm_p = NULL;
PINT_client_sm *ncache_timer_sm_p = NULL;
-#ifndef STANDALONE_RUN_MODE
- struct rlimit lim = {0,0};
- /* set rlimit to prevent core files */
- ret = setrlimit(RLIMIT_CORE, &lim);
- if (ret < 0)
- {
- fprintf(stderr, "setrlimit system call failed (%d); "
- "continuing", ret);
- }
-#else
- signal(SIGINT, client_core_sig_handler);
-#endif
-
-
/* if pvfs2-client-core segfaults, at least log the occurence so
* pvfs2-client won't repeatedly respawn pvfs2-client-core */
signal(SIGSEGV, client_segfault_handler);
@@ -3177,6 +3154,24 @@ int main(int argc, char **argv)
}
}
+ if(!s_opts.standalone)
+ {
+ struct rlimit lim = {0,0};
+
+ /* set rlimit to prevent core files */
+ ret = setrlimit(RLIMIT_CORE, &lim);
+ if (ret < 0)
+ {
+ fprintf(stderr, "setrlimit system call failed (%d); "
+ "continuing", ret);
+ }
+ }
+ else
+ {
+ signal(SIGINT, client_core_sig_handler);
+ signal(SIGHUP, client_core_sig_handler);
+ signal(SIGQUIT, client_core_sig_handler);
+ }
/* convert gossip mask if provided on command line */
if (s_opts.gossip_mask)
@@ -3253,14 +3248,14 @@ int main(int argc, char **argv)
acache_pc = PINT_perf_initialize(acache_keys);
if(!acache_pc)
{
- fprintf(stderr, "Error: PINT_perf_initialize failure.\n");
+ gossip_err("Error: PINT_perf_initialize failure.\n");
return(-PVFS_ENOMEM);
}
ret = PINT_perf_set_info(acache_pc, PINT_PERF_HISTORY_SIZE,
s_opts.perf_history_size);
if(ret < 0)
{
- fprintf(stderr, "Error: PINT_perf_set_info (history_size).\n");
+ gossip_err("Error: PINT_perf_set_info (history_size).\n");
return(ret);
}
PINT_acache_enable_perf_counter(acache_pc);
@@ -3269,19 +3264,18 @@ int main(int argc, char **argv)
ncache_pc = PINT_perf_initialize(ncache_keys);
if(!ncache_pc)
{
- fprintf(stderr, "Error: PINT_perf_initialize failure.\n");
+ gossip_err("Error: PINT_perf_initialize failure.\n");
return(-PVFS_ENOMEM);
}
ret = PINT_perf_set_info(ncache_pc, PINT_PERF_HISTORY_SIZE,
s_opts.perf_history_size);
if(ret < 0)
{
- fprintf(stderr, "Error: PINT_perf_set_info (history_size).\n");
+ gossip_err("Error: PINT_perf_set_info (history_size).\n");
return(ret);
}
PINT_ncache_enable_perf_counter(ncache_pc);
- /* start a timer to roll over performance counters (acache) */
acache_timer_sm_p = (PINT_client_sm *)malloc(sizeof(PINT_client_sm));
if(!acache_timer_sm_p)
{
@@ -3449,6 +3443,7 @@ static void parse_args(int argc, char **
{"logfile",1,0,0},
{"logstamp",1,0,0},
{"create-request-id",0,0,0},
+ {"standalone",0,0,0},
{0,0,0,0}
};
@@ -3496,7 +3491,9 @@ static void parse_args(int argc, char **
}
else
{
- fprintf(stderr, "Error: invalid logstamp value. See usage below\n\n");
+ gossip_err(
+ "Error: invalid logstamp value. "
+ "See usage below\n\n");
print_help(argv[0]);
exit(EXIT_FAILURE);
}
@@ -3507,7 +3504,8 @@ static void parse_args(int argc, char **
ret = sscanf(optarg, "%u", &opts->acache_hard_limit);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid acache-hard-limit value.\n");
+ gossip_err(
+ "Error: invalid acache-hard-limit value.\n");
exit(EXIT_FAILURE);
}
opts->acache_hard_limit_set = 1;
@@ -3517,7 +3515,8 @@ static void parse_args(int argc, char **
ret = sscanf(optarg, "%u", &opts->acache_soft_limit);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid acache-soft-limit value.\n");
+ gossip_err(
+ "Error: invalid acache-soft-limit value.\n");
exit(EXIT_FAILURE);
}
opts->acache_soft_limit_set = 1;
@@ -3527,7 +3526,9 @@ static void parse_args(int argc, char **
ret = sscanf(optarg, "%u", &opts->acache_reclaim_percentage);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid acache-reclaim-percentage value.\n");
+ gossip_err(
+ "Error: invalid "
+ "acache-reclaim-percentage value.\n");
exit(EXIT_FAILURE);
}
opts->acache_reclaim_percentage_set = 1;
@@ -3537,7 +3538,8 @@ static void parse_args(int argc, char **
ret = sscanf(optarg, "%u", &opts->ncache_hard_limit);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid ncache-hard-limit value.\n");
+ gossip_err(
+ "Error: invalid ncache-hard-limit value.\n");
exit(EXIT_FAILURE);
}
opts->ncache_hard_limit_set = 1;
@@ -3547,7 +3549,8 @@ static void parse_args(int argc, char **
ret = sscanf(optarg, "%u", &opts->ncache_soft_limit);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid ncache-soft-limit value.\n");
+ gossip_err(
+ "Error: invalid ncache-soft-limit value.\n");
exit(EXIT_FAILURE);
}
opts->ncache_soft_limit_set = 1;
@@ -3557,7 +3560,8 @@ static void parse_args(int argc, char **
ret = sscanf(optarg, "%u", &opts->ncache_reclaim_percentage);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid ncache-reclaim-percentage value.\n");
+ gossip_err(
+ "Error: invalid ncache-reclaim-percentage value.\n");
exit(EXIT_FAILURE);
}
opts->ncache_reclaim_percentage_set = 1;
@@ -3568,7 +3572,8 @@ static void parse_args(int argc, char **
&opts->perf_time_interval_secs);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid perf-time-interval-secs value.\n");
+ gossip_err(
+ "Error: invalid perf-time-interval-secs value.\n");
exit(EXIT_FAILURE);
}
}
@@ -3578,7 +3583,8 @@ static void parse_args(int argc, char **
&opts->perf_history_size);
if(ret != 1)
{
- fprintf(stderr, "Error: invalid perf-history-size value.\n");
+ gossip_err(
+ "Error: invalid perf-history-size value.\n");
exit(EXIT_FAILURE);
}
}
@@ -3590,6 +3596,10 @@ static void parse_args(int argc, char **
{
opts->create_request_id = 1;
}
+ else if (strcmp("standalone", cur_option) == 0)
+ {
+ opts->standalone = 1;
+ }
break;
case 'h':
do_help:
@@ -3604,7 +3614,7 @@ static void parse_args(int argc, char **
opts->acache_timeout = atoi(optarg);
if (opts->acache_timeout < 0)
{
- fprintf(stderr, "Invalid acache timeout value of %d ms,"
+ gossip_err("Invalid acache timeout value of %d ms,"
"disabling the acache.\n",
opts->acache_timeout);
opts->acache_timeout = 0;
@@ -3615,14 +3625,14 @@ static void parse_args(int argc, char **
opts->ncache_timeout = atoi(optarg);
if (opts->ncache_timeout < 0)
{
- fprintf(stderr, "Invalid ncache timeout value of %d ms,"
+ gossip_err("Invalid ncache timeout value of %d ms,"
"disabling the ncache.\n",
opts->ncache_timeout);
opts->ncache_timeout = 0;
}
break;
default:
- fprintf(stderr, "Unrecognized option. "
+ gossip_err("Unrecognized option. "
"Try --help for information.\n");
exit(1);
}
More information about the Pvfs2-cvs
mailing list