Index: class/journal/Makefile =================================================================== RCS file: /alt/ncvs/src/sbin/geom/class/journal/Makefile,v retrieving revision 1.2 diff -u -r1.2 Makefile --- class/journal/Makefile 10 Feb 2007 17:59:46 -0000 1.2 +++ class/journal/Makefile 3 Apr 2007 12:41:17 -0000 @@ -6,7 +6,7 @@ SRCS+= geom_journal_ufs.c DPADD= ${LIBMD} ${LIBUFS} -LDADD= -lmd -lufs +LDADD= -lmd -lufs -lutil CFLAGS+=-I${.CURDIR}/../../../../sys Index: class/journal/geom_journal.c =================================================================== RCS file: /alt/ncvs/src/sbin/geom/class/journal/geom_journal.c,v retrieving revision 1.2 diff -u -r1.2 geom_journal.c --- class/journal/geom_journal.c 1 Nov 2006 09:22:33 -0000 1.2 +++ class/journal/geom_journal.c 3 Apr 2007 04:49:28 -0000 @@ -66,7 +66,7 @@ { '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", &default_jsize, G_TYPE_STRING }, G_OPT_SENTINEL }, "[-cfhv] [-s jsize] dataprov [jprov]" @@ -174,7 +174,7 @@ } data = gctl_get_ascii(req, "arg0"); - jsize = gctl_get_intmax(req, "jsize"); + jsize = gctl_get_numexpr(req, "jsize"); journal = NULL; switch (nargs) { case 1: Index: misc/subr.c =================================================================== RCS file: /alt/ncvs/src/sbin/geom/misc/subr.c,v retrieving revision 1.7 diff -u -r1.7 subr.c --- misc/subr.c 25 Jan 2007 11:35:27 -0000 1.7 +++ misc/subr.c 3 Apr 2007 13:10:41 -0000 @@ -42,6 +42,7 @@ #include #include #include +#include #include "misc/subr.h" @@ -377,6 +378,21 @@ return (*p); } +intmax_t +gctl_get_numexpr(struct gctl_req *req, const char *pfmt, ...) +{ + char *val; + int64_t num; + va_list ap; + + va_start(ap, pfmt); + val = gctl_get_param(req, 0, pfmt, ap); + + num = unhumanize_number((char *)val); +printf("was: %s now: %jd\n", val, num); + return (num); +} + const char * gctl_get_ascii(struct gctl_req *req, const char *pfmt, ...) { Index: misc/subr.h =================================================================== RCS file: /alt/ncvs/src/sbin/geom/misc/subr.h,v retrieving revision 1.8 diff -u -r1.8 subr.h --- misc/subr.h 25 Jan 2007 11:35:27 -0000 1.8 +++ misc/subr.h 3 Apr 2007 04:21:36 -0000 @@ -44,6 +44,7 @@ void gctl_error(struct gctl_req *req, const char *error, ...) __printflike(2, 3); int gctl_get_int(struct gctl_req *req, const char *pfmt, ...) __printflike(2, 3); intmax_t gctl_get_intmax(struct gctl_req *req, const char *pfmt, ...) __printflike(2, 3); +intmax_t gctl_get_numexpr(struct gctl_req *req, const char *pfmt, ...) __printflike(2, 3); const char *gctl_get_ascii(struct gctl_req *req, const char *pfmt, ...) __printflike(2, 3); int gctl_change_param(struct gctl_req *req, const char *name, int len, const void *value);