diff options
author | Sergey Senozhatsky <sergey.senozhatsky@gmail.com> | 2012-10-30 22:42:31 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-10-31 14:49:09 -0700 |
commit | 26907840e63b3187266db1865e76ea9e98b01b19 (patch) | |
tree | 434099979468212dba48e2f209f75c6369611eef /drivers/staging/zram | |
parent | 37b51fdddf64e7ba0971d070428655f8d6f36578 (diff) |
staging: zram: handle mem suffixes in disk size zram_sysfs parameter
Use memparse() to allow mem suffixes in disksize sysfs number.
Examples:
echo 256K > /sys/block/zram0/disksize
echo 512M > /sys/block/zram0/disksize
echo 1G > /sys/block/zram0/disksize
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Reviewed-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/zram')
-rw-r--r-- | drivers/staging/zram/zram_sysfs.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/zram/zram_sysfs.c b/drivers/staging/zram/zram_sysfs.c index edb0ed4125d5..de1eacf65dbd 100644 --- a/drivers/staging/zram/zram_sysfs.c +++ b/drivers/staging/zram/zram_sysfs.c @@ -15,6 +15,7 @@ #include <linux/device.h> #include <linux/genhd.h> #include <linux/mm.h> +#include <linux/kernel.h> #include "zram_drv.h" @@ -54,13 +55,12 @@ static ssize_t disksize_show(struct device *dev, static ssize_t disksize_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t len) { - int ret; u64 disksize; struct zram *zram = dev_to_zram(dev); - ret = kstrtoull(buf, 10, &disksize); - if (ret) - return ret; + disksize = memparse(buf, NULL); + if (!disksize) + return -EINVAL; down_write(&zram->init_lock); if (zram->init_done) { |