* [PATCH] lib: add size unit t/p/e to memparse
@ 2014-03-31 10:03 Gui Hecheng
2014-03-31 11:17 ` Brendan Hide
0 siblings, 1 reply; 3+ messages in thread
From: Gui Hecheng @ 2014-03-31 10:03 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-btrfs, Gui Hecheng
For modern filesystems such as btrfs, t/p/e size level operations
are common.
add size unit t/p/e parsing to memparse
Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
---
lib/cmdline.c | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/lib/cmdline.c b/lib/cmdline.c
index eb67911..20a55b0 100644
--- a/lib/cmdline.c
+++ b/lib/cmdline.c
@@ -119,11 +119,17 @@ char *get_options(const char *str, int nints, int *ints)
* @retptr: (output) Optional pointer to next char after parse completes
*
* Parses a string into a number. The number stored at @ptr is
- * potentially suffixed with %K (for kilobytes, or 1024 bytes),
- * %M (for megabytes, or 1048576 bytes), or %G (for gigabytes, or
- * 1073741824). If the number is suffixed with K, M, or G, then
+ * potentially suffixed with
+ * %K (for kilobytes, or 1024 bytes),
+ * %M (for megabytes, or 1048576 bytes),
+ * %G (for gigabytes, or 1073741824),
+ * %T (for terabytes, or 1099511627776),
+ * %P (for petabytes, or 1125899906842624 bytes),
+ * %E (for exabytes, or 1152921504606846976 bytes).
+ * If the number is suffixed with K, M, G, T, P, E, then
* the return value is the number multiplied by one kilobyte, one
- * megabyte, or one gigabyte, respectively.
+ * megabyte, one gigabyte, one terabyte, one petabyte, one exabyte,
+ * respectively.
*/
unsigned long long memparse(const char *ptr, char **retptr)
@@ -133,6 +139,15 @@ unsigned long long memparse(const char *ptr, char **retptr)
unsigned long long ret = simple_strtoull(ptr, &endptr, 0);
switch (*endptr) {
+ case 'E':
+ case 'e':
+ ret <<= 10;
+ case 'P':
+ case 'p':
+ ret <<= 10;
+ case 'T':
+ case 't':
+ ret <<= 10;
case 'G':
case 'g':
ret <<= 10;
--
1.8.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] lib: add size unit t/p/e to memparse
2014-03-31 10:03 [PATCH] lib: add size unit t/p/e to memparse Gui Hecheng
@ 2014-03-31 11:17 ` Brendan Hide
2014-04-01 1:13 ` Gui Hecheng
0 siblings, 1 reply; 3+ messages in thread
From: Brendan Hide @ 2014-03-31 11:17 UTC (permalink / raw)
To: Gui Hecheng, linux-kernel; +Cc: linux-btrfs
On 31/03/14 12:03, Gui Hecheng wrote:
> - * potentially suffixed with %K (for kilobytes, or 1024 bytes),
> - * %M (for megabytes, or 1048576 bytes), or %G (for gigabytes, or
> - * 1073741824). If the number is suffixed with K, M, or G, then
> + * potentially suffixed with
> + * %K (for kilobytes, or 1024 bytes),
> + * %M (for megabytes, or 1048576 bytes),
> + * %G (for gigabytes, or 1073741824),
> + * %T (for terabytes, or 1099511627776),
> + * %P (for petabytes, or 1125899906842624 bytes),
> + * %E (for exabytes, or 1152921504606846976 bytes).
My apologies, I should have noticed this in your earlier mail. This
could be updated to specifically refer to the "bi"nary prefixes rather
than the old SI-conflicting names:
kibibyte, mebibyte, gibibyte, tebibyte, pebibyte, and exbibyte
--
__________
Brendan Hide
http://swiftspirit.co.za/
http://www.webafrica.co.za/?AFF1E97
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] lib: add size unit t/p/e to memparse
2014-03-31 11:17 ` Brendan Hide
@ 2014-04-01 1:13 ` Gui Hecheng
0 siblings, 0 replies; 3+ messages in thread
From: Gui Hecheng @ 2014-04-01 1:13 UTC (permalink / raw)
To: Brendan Hide; +Cc: linux-kernel, linux-btrfs
On Mon, 2014-03-31 at 13:17 +0200, Brendan Hide wrote:
> On 31/03/14 12:03, Gui Hecheng wrote:
> > - * potentially suffixed with %K (for kilobytes, or 1024 bytes),
> > - * %M (for megabytes, or 1048576 bytes), or %G (for gigabytes, or
> > - * 1073741824). If the number is suffixed with K, M, or G, then
> > + * potentially suffixed with
> > + * %K (for kilobytes, or 1024 bytes),
> > + * %M (for megabytes, or 1048576 bytes),
> > + * %G (for gigabytes, or 1073741824),
> > + * %T (for terabytes, or 1099511627776),
> > + * %P (for petabytes, or 1125899906842624 bytes),
> > + * %E (for exabytes, or 1152921504606846976 bytes).
>
> My apologies, I should have noticed this in your earlier mail. This
> could be updated to specifically refer to the "bi"nary prefixes rather
> than the old SI-conflicting names:
> kibibyte, mebibyte, gibibyte, tebibyte, pebibyte, and exbibyte
Yes, indeed, I will send a V2.
Thanks!
-Gui
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-04-01 1:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-31 10:03 [PATCH] lib: add size unit t/p/e to memparse Gui Hecheng
2014-03-31 11:17 ` Brendan Hide
2014-04-01 1:13 ` Gui Hecheng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox