summaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2010-10-26 21:23:55 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2010-10-26 21:23:55 +0000
commit5ccd716871ce901535f709ea3fa544f4c219afee (patch)
tree6e13797938e2d2d96d4e7715895fae913c963d5f /sbin
parent74ecd8cfa11f9e460b1dc3eaa3120fc054b520a9 (diff)
Notes
Diffstat (limited to 'sbin')
-rw-r--r--sbin/geom/class/cache/geom_cache.c18
-rw-r--r--sbin/geom/class/eli/geom_eli.c58
-rw-r--r--sbin/geom/class/journal/geom_journal.c4
-rw-r--r--sbin/geom/class/mirror/geom_mirror.c18
-rw-r--r--sbin/geom/class/nop/geom_nop.c25
-rw-r--r--sbin/geom/class/sched/geom_sched.c10
-rw-r--r--sbin/geom/class/stripe/geom_stripe.c6
-rw-r--r--sbin/geom/class/virstor/geom_virstor.c9
-rw-r--r--sbin/geom/core/geom.c8
9 files changed, 66 insertions, 90 deletions
diff --git a/sbin/geom/class/cache/geom_cache.c b/sbin/geom/class/cache/geom_cache.c
index 636c54119ce15..dd11e9c4bc579 100644
--- a/sbin/geom/class/cache/geom_cache.c
+++ b/sbin/geom/class/cache/geom_cache.c
@@ -42,10 +42,8 @@ __FBSDID("$FreeBSD$");
uint32_t lib_version = G_LIB_VERSION;
uint32_t version = G_CACHE_VERSION;
-static intmax_t blocksize_label = 65536;
-static intmax_t size_label = 100;
-static intmax_t blocksize_configure = 0;
-static intmax_t size_configure = 0;
+#define GCACHE_BLOCKSIZE "65536"
+#define GCACHE_SIZE "100"
static void cache_main(struct gctl_req *req, unsigned flags);
static void cache_clear(struct gctl_req *req);
@@ -58,16 +56,16 @@ struct g_command class_commands[] = {
},
{ "configure", G_FLAG_VERBOSE, NULL,
{
- { 'b', "blocksize", &blocksize_configure, G_TYPE_NUMBER },
- { 's', "size", &size_configure, G_TYPE_NUMBER },
+ { 'b', "blocksize", "0", G_TYPE_NUMBER },
+ { 's', "size", "0", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-v] [-b blocksize] [-s size] name"
},
{ "create", G_FLAG_VERBOSE | G_FLAG_LOADKLD, NULL,
{
- { 'b', "blocksize", &blocksize_label, G_TYPE_NUMBER },
- { 's', "size", &size_label, G_TYPE_NUMBER },
+ { 'b', "blocksize", GCACHE_BLOCKSIZE, G_TYPE_NUMBER },
+ { 's', "size", GCACHE_SIZE, G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-v] [-b blocksize] [-s size] name prov"
@@ -84,8 +82,8 @@ struct g_command class_commands[] = {
},
{ "label", G_FLAG_VERBOSE | G_FLAG_LOADKLD, cache_main,
{
- { 'b', "blocksize", &blocksize_label, G_TYPE_NUMBER },
- { 's', "size", &size_label, G_TYPE_NUMBER },
+ { 'b', "blocksize", GCACHE_BLOCKSIZE, G_TYPE_NUMBER },
+ { 's', "size", GCACHE_SIZE, G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-v] [-b blocksize] [-s size] name prov"
diff --git a/sbin/geom/class/eli/geom_eli.c b/sbin/geom/class/eli/geom_eli.c
index d772a9a11e679..3b5ecd87d881e 100644
--- a/sbin/geom/class/eli/geom_eli.c
+++ b/sbin/geom/class/eli/geom_eli.c
@@ -55,15 +55,7 @@ uint32_t lib_version = G_LIB_VERSION;
uint32_t version = G_ELI_VERSION;
#define GELI_BACKUP_DIR "/var/backups/"
-
-static char aalgo[] = "none";
-static char ealgo[] = "aes";
-static intmax_t keylen = 0;
-static intmax_t keyno = -1;
-static intmax_t iterations = -1;
-static intmax_t sectorsize = 0;
-static char keyfile[] = "", newkeyfile[] = "";
-static char backupfile[] = "";
+#define GELI_ENC_ALGO "aes"
static void eli_main(struct gctl_req *req, unsigned flags);
static void eli_init(struct gctl_req *req);
@@ -101,30 +93,30 @@ static int eli_backup_create(struct gctl_req *req, const char *prov,
struct g_command class_commands[] = {
{ "init", G_FLAG_VERBOSE, eli_main,
{
- { 'a', "aalgo", aalgo, G_TYPE_STRING },
+ { 'a', "aalgo", "none", G_TYPE_STRING },
{ 'b', "boot", NULL, G_TYPE_BOOL },
- { 'B', "backupfile", backupfile, G_TYPE_STRING },
- { 'e', "ealgo", ealgo, G_TYPE_STRING },
- { 'i', "iterations", &iterations, G_TYPE_NUMBER },
- { 'K', "newkeyfile", newkeyfile, G_TYPE_STRING },
- { 'l', "keylen", &keylen, G_TYPE_NUMBER },
+ { 'B', "backupfile", "", G_TYPE_STRING },
+ { 'e', "ealgo", GELI_ENC_ALGO, G_TYPE_STRING },
+ { 'i', "iterations", "-1", G_TYPE_NUMBER },
+ { 'K', "newkeyfile", "", G_TYPE_STRING },
+ { 'l', "keylen", "0", G_TYPE_NUMBER },
{ 'P', "nonewpassphrase", NULL, G_TYPE_BOOL },
- { 's', "sectorsize", &sectorsize, G_TYPE_NUMBER },
+ { 's', "sectorsize", "0", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-bPv] [-a aalgo] [-B backupfile] [-e ealgo] [-i iterations] [-l keylen] [-K newkeyfile] [-s sectorsize] prov"
},
{ "label", G_FLAG_VERBOSE, eli_main,
{
- { 'a', "aalgo", aalgo, G_TYPE_STRING },
+ { 'a', "aalgo", "none", G_TYPE_STRING },
{ 'b', "boot", NULL, G_TYPE_BOOL },
- { 'B', "backupfile", backupfile, G_TYPE_STRING },
- { 'e', "ealgo", ealgo, G_TYPE_STRING },
- { 'i', "iterations", &iterations, G_TYPE_NUMBER },
- { 'K', "newkeyfile", newkeyfile, G_TYPE_STRING },
- { 'l', "keylen", &keylen, G_TYPE_NUMBER },
+ { 'B', "backupfile", "", G_TYPE_STRING },
+ { 'e', "ealgo", GELI_ENC_ALGO, G_TYPE_STRING },
+ { 'i', "iterations", "-1", G_TYPE_NUMBER },
+ { 'K', "newkeyfile", "", G_TYPE_STRING },
+ { 'l', "keylen", "0", G_TYPE_NUMBER },
{ 'P', "nonewpassphrase", NULL, G_TYPE_BOOL },
- { 's', "sectorsize", &sectorsize, G_TYPE_NUMBER },
+ { 's', "sectorsize", "0", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "- an alias for 'init'"
@@ -132,7 +124,7 @@ struct g_command class_commands[] = {
{ "attach", G_FLAG_VERBOSE | G_FLAG_LOADKLD, eli_main,
{
{ 'd', "detach", NULL, G_TYPE_BOOL },
- { 'k', "keyfile", keyfile, G_TYPE_STRING },
+ { 'k', "keyfile", "", G_TYPE_STRING },
{ 'p', "nopassphrase", NULL, G_TYPE_BOOL },
{ 'r', "readonly", NULL, G_TYPE_BOOL },
G_OPT_SENTINEL
@@ -157,11 +149,11 @@ struct g_command class_commands[] = {
},
{ "onetime", G_FLAG_VERBOSE | G_FLAG_LOADKLD, NULL,
{
- { 'a', "aalgo", aalgo, G_TYPE_STRING },
+ { 'a', "aalgo", "none", G_TYPE_STRING },
{ 'd', "detach", NULL, G_TYPE_BOOL },
- { 'e', "ealgo", ealgo, G_TYPE_STRING },
- { 'l', "keylen", &keylen, G_TYPE_NUMBER },
- { 's', "sectorsize", &sectorsize, G_TYPE_NUMBER },
+ { 'e', "ealgo", GELI_ENC_ALGO, G_TYPE_STRING },
+ { 'l', "keylen", "0", G_TYPE_NUMBER },
+ { 's', "sectorsize", "0", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-d] [-a aalgo] [-e ealgo] [-l keylen] [-s sectorsize] prov"
@@ -176,10 +168,10 @@ struct g_command class_commands[] = {
},
{ "setkey", G_FLAG_VERBOSE, eli_main,
{
- { 'i', "iterations", &iterations, G_TYPE_NUMBER },
- { 'k', "keyfile", keyfile, G_TYPE_STRING },
- { 'K', "newkeyfile", newkeyfile, G_TYPE_STRING },
- { 'n', "keyno", &keyno, G_TYPE_NUMBER },
+ { 'i', "iterations", "-1", G_TYPE_NUMBER },
+ { 'k', "keyfile", "", G_TYPE_STRING },
+ { 'K', "newkeyfile", "", G_TYPE_STRING },
+ { 'n', "keyno", "-1", G_TYPE_NUMBER },
{ 'p', "nopassphrase", NULL, G_TYPE_BOOL },
{ 'P', "nonewpassphrase", NULL, G_TYPE_BOOL },
G_OPT_SENTINEL
@@ -190,7 +182,7 @@ struct g_command class_commands[] = {
{
{ 'a', "all", NULL, G_TYPE_BOOL },
{ 'f', "force", NULL, G_TYPE_BOOL },
- { 'n', "keyno", &keyno, G_TYPE_NUMBER },
+ { 'n', "keyno", "-1", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-afv] [-n keyno] prov"
diff --git a/sbin/geom/class/journal/geom_journal.c b/sbin/geom/class/journal/geom_journal.c
index 37169990ac4e2..28786d45a7529 100644
--- a/sbin/geom/class/journal/geom_journal.c
+++ b/sbin/geom/class/journal/geom_journal.c
@@ -47,8 +47,6 @@ __FBSDID("$FreeBSD$");
uint32_t lib_version = G_LIB_VERSION;
uint32_t version = G_JOURNAL_VERSION;
-static intmax_t default_jsize = -1;
-
static void journal_main(struct gctl_req *req, unsigned flags);
static void journal_clear(struct gctl_req *req);
static void journal_dump(struct gctl_req *req);
@@ -66,7 +64,7 @@ struct g_command class_commands[] = {
{ 'c', "checksum", NULL, G_TYPE_BOOL },
{ 'f', "force", NULL, G_TYPE_BOOL },
{ 'h', "hardcode", NULL, G_TYPE_BOOL },
- { 's', "jsize", &default_jsize, G_TYPE_NUMBER },
+ { 's', "jsize", "-1", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-cfhv] [-s jsize] dataprov [jprov]"
diff --git a/sbin/geom/class/mirror/geom_mirror.c b/sbin/geom/class/mirror/geom_mirror.c
index cf15c60af9d37..d7ea80ebf1c4e 100644
--- a/sbin/geom/class/mirror/geom_mirror.c
+++ b/sbin/geom/class/mirror/geom_mirror.c
@@ -44,9 +44,9 @@ __FBSDID("$FreeBSD$");
uint32_t lib_version = G_LIB_VERSION;
uint32_t version = G_MIRROR_VERSION;
-static char label_balance[] = "load", configure_balance[] = "none";
-static intmax_t label_slice = 4096, configure_slice = -1;
-static intmax_t insert_priority = 0, configure_priority = -1;
+#define GMIRROR_BALANCE "load"
+#define GMIRROR_SLICE "4096"
+#define GMIRROR_PRIORITY "0"
static void mirror_main(struct gctl_req *req, unsigned flags);
static void mirror_activate(struct gctl_req *req);
@@ -64,14 +64,14 @@ struct g_command class_commands[] = {
{ "configure", G_FLAG_VERBOSE, NULL,
{
{ 'a', "autosync", NULL, G_TYPE_BOOL },
- { 'b', "balance", configure_balance, G_TYPE_STRING },
+ { 'b', "balance", "none", G_TYPE_STRING },
{ 'd', "dynamic", NULL, G_TYPE_BOOL },
{ 'f', "failsync", NULL, G_TYPE_BOOL },
{ 'F', "nofailsync", NULL, G_TYPE_BOOL },
{ 'h', "hardcode", NULL, G_TYPE_BOOL },
{ 'n', "noautosync", NULL, G_TYPE_BOOL },
- { 'p', "priority", &configure_priority, G_TYPE_NUMBER },
- { 's', "slice", &configure_slice, G_TYPE_NUMBER },
+ { 'p', "priority", "-1", G_TYPE_NUMBER },
+ { 's', "slice", "-1", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-adfFhnv] [-b balance] [-s slice] name\n"
@@ -88,11 +88,11 @@ struct g_command class_commands[] = {
},
{ "label", G_FLAG_VERBOSE, mirror_main,
{
- { 'b', "balance", label_balance, G_TYPE_STRING },
+ { 'b', "balance", GMIRROR_BALANCE, G_TYPE_STRING },
{ 'F', "nofailsync", NULL, G_TYPE_BOOL },
{ 'h', "hardcode", NULL, G_TYPE_BOOL },
{ 'n', "noautosync", NULL, G_TYPE_BOOL },
- { 's', "slice", &label_slice, G_TYPE_NUMBER },
+ { 's', "slice", GMIRROR_SLICE, G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-Fhnv] [-b balance] [-s slice] name prov ..."
@@ -101,7 +101,7 @@ struct g_command class_commands[] = {
{
{ 'h', "hardcode", NULL, G_TYPE_BOOL },
{ 'i', "inactive", NULL, G_TYPE_BOOL },
- { 'p', "priority", &insert_priority, G_TYPE_NUMBER },
+ { 'p', "priority", GMIRROR_PRIORITY, G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-hiv] [-p priority] name prov ..."
diff --git a/sbin/geom/class/nop/geom_nop.c b/sbin/geom/class/nop/geom_nop.c
index 7306add3674ba..dd6fb6e385733 100644
--- a/sbin/geom/class/nop/geom_nop.c
+++ b/sbin/geom/class/nop/geom_nop.c
@@ -38,22 +38,15 @@ __FBSDID("$FreeBSD$");
uint32_t lib_version = G_LIB_VERSION;
uint32_t version = G_NOP_VERSION;
-static intmax_t error = -1;
-static intmax_t rfailprob = -1;
-static intmax_t wfailprob = -1;
-static intmax_t offset = 0;
-static intmax_t secsize = 0;
-static intmax_t size = 0;
-
struct g_command class_commands[] = {
{ "create", G_FLAG_VERBOSE | G_FLAG_LOADKLD, NULL,
{
- { 'e', "error", &error, G_TYPE_NUMBER },
- { 'o', "offset", &offset, G_TYPE_NUMBER },
- { 'r', "rfailprob", &rfailprob, G_TYPE_NUMBER },
- { 's', "size", &size, G_TYPE_NUMBER },
- { 'S', "secsize", &secsize, G_TYPE_NUMBER },
- { 'w', "wfailprob", &wfailprob, G_TYPE_NUMBER },
+ { 'e', "error", "-1", G_TYPE_NUMBER },
+ { 'o', "offset", "0", G_TYPE_NUMBER },
+ { 'r', "rfailprob", "-1", G_TYPE_NUMBER },
+ { 's', "size", "0", G_TYPE_NUMBER },
+ { 'S', "secsize", "0", G_TYPE_NUMBER },
+ { 'w', "wfailprob", "-1", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-v] [-e error] [-o offset] [-r rfailprob] [-s size] "
@@ -61,9 +54,9 @@ struct g_command class_commands[] = {
},
{ "configure", G_FLAG_VERBOSE, NULL,
{
- { 'e', "error", &error, G_TYPE_NUMBER },
- { 'r', "rfailprob", &rfailprob, G_TYPE_NUMBER },
- { 'w', "wfailprob", &wfailprob, G_TYPE_NUMBER },
+ { 'e', "error", "-1", G_TYPE_NUMBER },
+ { 'r', "rfailprob", "-1", G_TYPE_NUMBER },
+ { 'w', "wfailprob", "-1", G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-v] [-e error] [-r rfailprob] [-w wfailprob] prov ..."
diff --git a/sbin/geom/class/sched/geom_sched.c b/sbin/geom/class/sched/geom_sched.c
index ca05350805b8d..eba8e49e78e2b 100644
--- a/sbin/geom/class/sched/geom_sched.c
+++ b/sbin/geom/class/sched/geom_sched.c
@@ -54,7 +54,7 @@ uint32_t version = G_SCHED_VERSION;
* storage for parameters used by this geom class.
* Right now only the scheduler name is used.
*/
-static char algo[] = "rr"; /* default scheduler */
+#define GSCHED_ALGO "rr" /* default scheduler */
/*
* Adapt to differences in geom library.
@@ -76,7 +76,7 @@ gcmd_createinsert(struct gctl_req *req, unsigned flags __unused)
if (gctl_has_param(req, "algo"))
reqalgo = gctl_get_ascii(req, "algo");
else
- reqalgo = algo;
+ reqalgo = GSCHED_ALGO;
snprintf(name, sizeof(name), "gsched_%s", reqalgo);
/*
@@ -91,21 +91,21 @@ gcmd_createinsert(struct gctl_req *req, unsigned flags __unused)
struct g_command class_commands[] = {
{ "create", G_FLAG_VERBOSE | G_FLAG_LOADKLD, gcmd_createinsert,
{
- { 'a', "algo", algo, G_TYPE_STRING },
+ { 'a', "algo", GSCHED_ALGO, G_TYPE_STRING },
G_OPT_SENTINEL
},
G_ARGNAME "[-v] [-a algorithm_name] dev ..."
},
{ "insert", G_FLAG_VERBOSE | G_FLAG_LOADKLD, gcmd_createinsert,
{
- { 'a', "algo", algo, G_TYPE_STRING },
+ { 'a', "algo", GSCHED_ALGO, G_TYPE_STRING },
G_OPT_SENTINEL
},
G_ARGNAME "[-v] [-a algorithm_name] dev ..."
},
{ "configure", G_FLAG_VERBOSE, NULL,
{
- { 'a', "algo", algo, G_TYPE_STRING },
+ { 'a', "algo", GSCHED_ALGO, G_TYPE_STRING },
G_OPT_SENTINEL
},
G_ARGNAME "[-v] [-a algorithm_name] prov ..."
diff --git a/sbin/geom/class/stripe/geom_stripe.c b/sbin/geom/class/stripe/geom_stripe.c
index 16808cc7afdd8..149134be4c192 100644
--- a/sbin/geom/class/stripe/geom_stripe.c
+++ b/sbin/geom/class/stripe/geom_stripe.c
@@ -46,7 +46,7 @@ __FBSDID("$FreeBSD$");
uint32_t lib_version = G_LIB_VERSION;
uint32_t version = G_STRIPE_VERSION;
-static intmax_t default_stripesize = 65536;
+#define GSTRIPE_STRIPESIZE "65536"
static void stripe_main(struct gctl_req *req, unsigned flags);
static void stripe_clear(struct gctl_req *req);
@@ -59,7 +59,7 @@ struct g_command class_commands[] = {
},
{ "create", G_FLAG_VERBOSE | G_FLAG_LOADKLD, NULL,
{
- { 's', "stripesize", &default_stripesize, G_TYPE_NUMBER },
+ { 's', "stripesize", GSTRIPE_STRIPESIZE, G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-hv] [-s stripesize] name prov prov ..."
@@ -77,7 +77,7 @@ struct g_command class_commands[] = {
{ "label", G_FLAG_VERBOSE | G_FLAG_LOADKLD, stripe_main,
{
{ 'h', "hardcode", NULL, G_TYPE_BOOL },
- { 's', "stripesize", &default_stripesize, G_TYPE_NUMBER },
+ { 's', "stripesize", GSTRIPE_STRIPESIZE, G_TYPE_NUMBER },
G_OPT_SENTINEL
},
NULL, "[-hv] [-s stripesize] name prov prov ..."
diff --git a/sbin/geom/class/virstor/geom_virstor.c b/sbin/geom/class/virstor/geom_virstor.c
index b651555859e46..bb086f72b4761 100644
--- a/sbin/geom/class/virstor/geom_virstor.c
+++ b/sbin/geom/class/virstor/geom_virstor.c
@@ -48,8 +48,9 @@ __FBSDID("$FreeBSD$");
uint32_t lib_version = G_LIB_VERSION;
uint32_t version = G_VIRSTOR_VERSION;
-static intmax_t chunk_size = 4 * 1024 * 1024; /* in kB (default: 4 MB) */
-static intmax_t vir_size = 2ULL << 40; /* in MB (default: 2 TB) */
+
+#define GVIRSTOR_CHUNK_SIZE "4M"
+#define GVIRSTOR_VIR_SIZE "2T"
#if G_LIB_VERSION == 1
/* Support RELENG_6 */
@@ -71,8 +72,8 @@ struct g_command class_commands[] = {
{"label", G_FLAG_VERBOSE | G_FLAG_LOADKLD, virstor_main,
{
{'h', "hardcode", NULL, G_TYPE_BOOL},
- {'m', "chunk_size", &chunk_size, G_TYPE_NUMBER},
- {'s', "vir_size", &vir_size, G_TYPE_NUMBER},
+ {'m', "chunk_size", GVIRSTOR_CHUNK_SIZE, G_TYPE_NUMBER},
+ {'s', "vir_size", GVIRSTOR_VIR_SIZE, G_TYPE_NUMBER},
G_OPT_SENTINEL
},
NULL, "[-h] [-v] [-m chunk_size] [-s vir_size] name provider0 [provider1 ...]"
diff --git a/sbin/geom/core/geom.c b/sbin/geom/core/geom.c
index 682a0486d9612..304014ec3eee1 100644
--- a/sbin/geom/core/geom.c
+++ b/sbin/geom/core/geom.c
@@ -374,14 +374,8 @@ parse_arguments(struct g_command *cmd, struct gctl_req *req, int *argc,
usage();
} else if (opt->go_val == G_VAL_OPTIONAL) {
/* add nothing. */
- } else if (G_OPT_TYPE(opt) == G_TYPE_STRING) {
+ } else {
set_option(cmd, req, opt, opt->go_val);
- } else if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) {
- char val[64];
-
- snprintf(val, sizeof(val), "%jd",
- *(const intmax_t *)opt->go_val);
- set_option(cmd, req, opt, val);
}
}
}