Skip to contentSkip to conversation

Btrfs: replace simple_strtoull() with kstrtoull() in btrfs_ioctl_resize()

PATCH In review Jeff Liu 2 participants 3 messages Jan 6, 2013 – Jan 8, 2013 Btrfs file system

lore
Share & tools
lore

Jeff Liu

author
#0 lore raw

PATCH 1/1 Btrfs: replace simple_strtoull() with kstrtoull() in btrfs_ioctl_resize()

simple_strtoull() is obsolete, use kstrtoull() instead.

---
 fs/btrfs/ioctl.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
fs/btrfs/ioctl.c +7 -2
index 8fcf9a5..b147424 100644
@@ -1331,11 +1331,16 @@ static noinline int btrfs_ioctl_resize(struct btrfs_root *root,
 	sizestr = vol_args->name;
 	devstr = strchr(sizestr, ':');
 	if (devstr) {
-		char *end;
 		sizestr = devstr + 1;
 		*devstr = '\0';
 		devstr = vol_args->name;
-		devid = simple_strtoull(devstr, &end, 10);
+		ret = kstrtoull(devstr, 10, &devid);
+		if (ret) {
+			pr_err("btrfs: resizer unable to parse device %s\n",
+				devstr);
+			ret = -EINVAL;
+			goto out_free;
+		}
 		printk(KERN_INFO "btrfs: resizing devid %llu\n",
 		       (unsigned long long)devid);
 	}
Signature · 1 line
1.7.9.5
#1 lore raw

fs/btrfs/ioctl.c static noinline int btrfs_ioctl_resize(struct btrfs_root *root, · line 1340

Quoted 5 lines · Jeff Liu
fs/btrfs/ioctl.c +4 -1
-		devid = simple_strtoull(devstr, &end, 10);
+		ret = kstrtoull(devstr, 10, &devid);
+		if (ret) {
+			pr_err("btrfs: resizer unable to parse device %s\n",
+				devstr);

Code looks ok, I would prefer the message error text to say:

			pr_err("btrfs: resize unable to parse device id %s\n",
				devstr);

but that's maybe just me :)
david

author
#2 lore raw
Quoted 9 lines · David Sterba

Review

Quoted 5 lines · Jeff Liu
(quoted diff) +4 -1
-		devid = simple_strtoull(devstr, &end, 10);
+		ret = kstrtoull(devstr, 10, &devid);
+		if (ret) {
+			pr_err("btrfs: resizer unable to parse device %s\n",
+				devstr);

Code looks ok, I would prefer the message error text to say:

Quoted 4 lines
			pr_err("btrfs: resize unable to parse device id %s\n",
				devstr);

but that's maybe just me :)

Thanks for the review, yours is better :)
The revised patch was shown as following:

simple_strtoull() is obsolete, use kstrtoull() instead.

Cc David Sterba <[email protected]>
---
 fs/btrfs/ioctl.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
fs/btrfs/ioctl.c +7 -2
index 8fcf9a5..d9045eb 100644
@@ -1331,11 +1331,16 @@ static noinline int btrfs_ioctl_resize(struct btrfs_root *root,
 	sizestr = vol_args->name;
 	devstr = strchr(sizestr, ':');
 	if (devstr) {
-		char *end;
 		sizestr = devstr + 1;
 		*devstr = '\0';
 		devstr = vol_args->name;
-		devid = simple_strtoull(devstr, &end, 10);
+		ret = kstrtoull(devstr, 10, &devid);
+		if (ret) {
+			pr_err("btrfs: resizer unable to parse device id %s\n",
+				devstr);
+			ret = -EINVAL;
+			goto out_free;
+		}
 		printk(KERN_INFO "btrfs: resizing devid %llu\n",
 		       (unsigned long long)devid);
 	}
Signature · 1 line
1.7.9.5