2012-10-27 16:06:19

by Sergey Senozhatsky

[permalink] [raw]
Subject: [PATCH 2/2] zram: handle mem suffixes in disk size zram_sysfs parameter

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 <[email protected]>

---

drivers/staging/zram/zram_sysfs.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/zram/zram_sysfs.c b/drivers/staging/zram/zram_sysfs.c
index edb0ed4..6be318e 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 < 1)
+ return -EINVAL;

down_write(&zram->init_lock);
if (zram->init_done) {


2012-10-29 17:21:39

by Nitin Gupta

[permalink] [raw]
Subject: Re: [PATCH 2/2] zram: handle mem suffixes in disk size zram_sysfs parameter

On 10/27/2012 09:03 AM, Sergey Senozhatsky wrote:
> 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 <[email protected]>
>
> ---
>
> drivers/staging/zram/zram_sysfs.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/zram/zram_sysfs.c b/drivers/staging/zram/zram_sysfs.c
> index edb0ed4..6be318e 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 < 1)
> + return -EINVAL;
>

or, just: if (!disksize) ...

Thanks,
Nitin

2012-10-29 17:32:59

by Sergey Senozhatsky

[permalink] [raw]
Subject: Re: [PATCH 2/2] zram: handle mem suffixes in disk size zram_sysfs parameter

On (10/29/12 10:21), Nitin Gupta wrote:
> >+#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 < 1)
> >+ return -EINVAL;
> >
>
> or, just: if (!disksize) ...
>

will resend shortly.

-ss

2012-10-29 17:43:29

by Sergey Senozhatsky

[permalink] [raw]
Subject: [PATCH 2/2] zram: handle mem suffixes in disk size zram_sysfs parameter (v2)

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 <[email protected]>

---

drivers/staging/zram/zram_sysfs.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/zram/zram_sysfs.c b/drivers/staging/zram/zram_sysfs.c
index edb0ed4..de1eacf 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) {

2012-10-29 18:33:17

by Nitin Gupta

[permalink] [raw]
Subject: Re: [PATCH 2/2] zram: handle mem suffixes in disk size zram_sysfs parameter (v2)

On Mon, Oct 29, 2012 at 10:41 AM, Sergey Senozhatsky
<[email protected]> wrote:
> 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 <[email protected]>
>

FWIW,

Reviewed-by: Nitin Gupta <[email protected]>

Thanks,
Nitin