svn commit: samba r20301 - in
branches/SAMBA_4_0/source/torture/nbench: .
tridge at samba.org
tridge at samba.org
Thu Dec 21 05:34:26 GMT 2006
Author: tridge
Date: 2006-12-21 05:34:26 +0000 (Thu, 21 Dec 2006)
New Revision: 20301
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20301
Log:
add an option torture:readonly which allows the NBENCH test to be run
read only. This is only any use with customer loadfiles, and
pre-created data. I'm using this to test performance as a video
server, with pre-created video files.
Modified:
branches/SAMBA_4_0/source/torture/nbench/nbench.c
Changeset:
Modified: branches/SAMBA_4_0/source/torture/nbench/nbench.c
===================================================================
--- branches/SAMBA_4_0/source/torture/nbench/nbench.c 2006-12-21 03:39:33 UTC (rev 20300)
+++ branches/SAMBA_4_0/source/torture/nbench/nbench.c 2006-12-21 05:34:26 UTC (rev 20301)
@@ -32,6 +32,7 @@
static int timelimit = 600;
static int warmup;
static const char *loadfile;
+static int read_only;
#define ival(s) strtol(s, NULL, 0)
@@ -47,7 +48,7 @@
BOOL correct = True;
if (torture_nprocs == 1) {
- if (!torture_setup_dir(cli, "\\clients")) {
+ if (!read_only && !torture_setup_dir(cli, "\\clients")) {
return False;
}
}
@@ -98,15 +99,15 @@
ival(params[4]), status);
} else if (!strcmp(params[0],"Close")) {
nb_close(ival(params[1]), status);
- } else if (!strcmp(params[0],"Rename")) {
+ } else if (!read_only && !strcmp(params[0],"Rename")) {
nb_rename(params[1], params[2], status);
- } else if (!strcmp(params[0],"Unlink")) {
+ } else if (!read_only && !strcmp(params[0],"Unlink")) {
nb_unlink(params[1], ival(params[2]), status);
- } else if (!strcmp(params[0],"Deltree")) {
+ } else if (!read_only && !strcmp(params[0],"Deltree")) {
nb_deltree(params[1]);
- } else if (!strcmp(params[0],"Rmdir")) {
+ } else if (!read_only && !strcmp(params[0],"Rmdir")) {
nb_rmdir(params[1], status);
- } else if (!strcmp(params[0],"Mkdir")) {
+ } else if (!read_only && !strcmp(params[0],"Mkdir")) {
nb_mkdir(params[1], status);
} else if (!strcmp(params[0],"QUERY_PATH_INFORMATION")) {
nb_qpathinfo(params[1], ival(params[2]), status);
@@ -114,16 +115,16 @@
nb_qfileinfo(ival(params[1]), ival(params[2]), status);
} else if (!strcmp(params[0],"QUERY_FS_INFORMATION")) {
nb_qfsinfo(ival(params[1]), status);
- } else if (!strcmp(params[0],"SET_FILE_INFORMATION")) {
+ } else if (!read_only && !strcmp(params[0],"SET_FILE_INFORMATION")) {
nb_sfileinfo(ival(params[1]), ival(params[2]), status);
} else if (!strcmp(params[0],"FIND_FIRST")) {
nb_findfirst(params[1], ival(params[2]),
ival(params[3]), ival(params[4]), status);
- } else if (!strcmp(params[0],"WriteX")) {
+ } else if (!read_only && !strcmp(params[0],"WriteX")) {
nb_writex(ival(params[1]),
ival(params[2]), ival(params[3]), ival(params[4]),
status);
- } else if (!strcmp(params[0],"Write")) {
+ } else if (!read_only && !strcmp(params[0],"Write")) {
nb_write(ival(params[1]),
ival(params[2]), ival(params[3]), ival(params[4]),
status);
@@ -156,7 +157,7 @@
done:
fclose(f);
- if (torture_nprocs == 1) {
+ if (!read_only && torture_nprocs == 1) {
smbcli_deltree(cli->tree, "\\clients");
}
if (!torture_close_connection(cli)) {
@@ -175,6 +176,8 @@
struct smbcli_state *cli;
const char *p;
+ read_only = lp_parm_bool(-1, "torture", "readonly", False);
+
p = torture_setting_string(torture, "timelimit", NULL);
if (p && *p) {
timelimit = atoi(p);
@@ -192,7 +195,7 @@
return False;
}
- if (!torture_setup_dir(cli, "\\clients")) {
+ if (!read_only && !torture_setup_dir(cli, "\\clients")) {
return False;
}
}
@@ -215,7 +218,7 @@
torture_create_procs(torture, run_netbench, &correct);
alarm(0);
- if (torture_nprocs > 1) {
+ if (!read_only && torture_nprocs > 1) {
smbcli_deltree(cli->tree, "\\clients");
}
More information about the samba-cvs
mailing list