Support IEC base-2 prefixes

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
Richard Laager 2011-04-10 18:08:53 -05:00 committed by Brian Behlendorf
parent 4da4a9e1a7
commit 826ab7ad19

View File

@ -1186,11 +1186,14 @@ str2shift(libzfs_handle_t *hdl, const char *buf)
} }
/* /*
* We want to allow trailing 'b' characters for 'GB' or 'Mb'. But don't * Allow 'G' = 'GB' = 'GiB', case-insensitively.
* allow 'BB' - that's just weird. * However, 'BB' and 'BiB' are disallowed.
*/ */
if (buf[1] == '\0' || (toupper(buf[1]) == 'B' && buf[2] == '\0' && if (buf[1] == '\0' ||
toupper(buf[0]) != 'B')) (toupper(buf[0]) != 'B' &&
((toupper(buf[1]) == 'B' && buf[2] == '\0') ||
(toupper(buf[1]) == 'I' && toupper(buf[2]) == 'B' &&
buf[3] == '\0'))))
return (10*i); return (10*i);
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,