Américo Wang
2009-Jan-19 12:57 UTC
[Patch] Btrfs: use BTRFS_VOL_NAME_MAX for struct btrfs_ioctl_vol_args
I found userspace tool, btrfsctl, uses BTRFS_VOL_NAME_MAX, and
it also looks that this one is more proper.
Kill BTRFS_PATH_NAME_MAX since no one will use it.
Signed-off-by: WANG Cong <wangcong@zeuux.org>
Cc: Chris Mason <chris.mason@oracle.com>
---
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index c2aa33e..f229950 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -472,7 +472,7 @@ static int btrfs_ioctl_resize(struct btrfs_root *root, void
__user *arg)
goto out;
}
- vol_args->name[BTRFS_PATH_NAME_MAX] = ''\0'';
+ vol_args->name[BTRFS_VOL_NAME_MAX] = ''\0'';
namelen = strlen(vol_args->name);
mutex_lock(&root->fs_info->volume_mutex);
@@ -576,7 +576,7 @@ static noinline int btrfs_ioctl_snap_create(struct file
*file,
goto out;
}
- vol_args->name[BTRFS_PATH_NAME_MAX] = ''\0'';
+ vol_args->name[BTRFS_VOL_NAME_MAX] = ''\0'';
namelen = strlen(vol_args->name);
if (strchr(vol_args->name, ''/'')) {
ret = -EINVAL;
@@ -685,7 +685,7 @@ static long btrfs_ioctl_add_dev(struct btrfs_root *root,
void __user *arg)
ret = -EFAULT;
goto out;
}
- vol_args->name[BTRFS_PATH_NAME_MAX] = ''\0'';
+ vol_args->name[BTRFS_VOL_NAME_MAX] = ''\0'';
ret = btrfs_init_new_device(root, vol_args->name);
out:
@@ -713,7 +713,7 @@ static long btrfs_ioctl_rm_dev(struct btrfs_root *root, void
__user *arg)
ret = -EFAULT;
goto out;
}
- vol_args->name[BTRFS_PATH_NAME_MAX] = ''\0'';
+ vol_args->name[BTRFS_VOL_NAME_MAX] = ''\0'';
ret = btrfs_rm_device(root, vol_args->name);
out:
diff --git a/fs/btrfs/ioctl.h b/fs/btrfs/ioctl.h
index b320b10..f5d182a 100644
--- a/fs/btrfs/ioctl.h
+++ b/fs/btrfs/ioctl.h
@@ -22,12 +22,10 @@
#define BTRFS_IOCTL_MAGIC 0x94
#define BTRFS_VOL_NAME_MAX 255
-#define BTRFS_PATH_NAME_MAX 4087
-/* this should be 4k */
struct btrfs_ioctl_vol_args {
__s64 fd;
- char name[BTRFS_PATH_NAME_MAX + 1];
+ char name[BTRFS_VOL_NAME_MAX + 1];
};
struct btrfs_ioctl_clone_range_args {
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index db9fb3b..5facdbf 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -593,7 +593,7 @@ static long btrfs_control_ioctl(struct file *file, unsigned
int cmd,
ret = -EFAULT;
goto out;
}
- len = strnlen(vol->name, BTRFS_PATH_NAME_MAX);
+ len = strnlen(vol->name, BTRFS_VOL_NAME_MAX);
switch (cmd) {
case BTRFS_IOC_SCAN_DEV:
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Josef Bacik
2009-Jan-19 13:03 UTC
Re: [Patch] Btrfs: use BTRFS_VOL_NAME_MAX for struct btrfs_ioctl_vol_args
On Mon, Jan 19, 2009 at 08:57:32PM +0800, Américo Wang wrote:> > I found userspace tool, btrfsctl, uses BTRFS_VOL_NAME_MAX, and > it also looks that this one is more proper. > > Kill BTRFS_PATH_NAME_MAX since no one will use it. >Nope, BTRFS_PATH_NAME_MAX is specifically used for the ioctl stuff, makes the arguments 4k aligned, this patch is incorrect. Thanks, Josef -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Américo Wang
2009-Jan-19 13:12 UTC
Re: [Patch] Btrfs: use BTRFS_VOL_NAME_MAX for struct btrfs_ioctl_vol_args
On Mon, Jan 19, 2009 at 08:03:37AM -0500, Josef Bacik wrote:>On Mon, Jan 19, 2009 at 08:57:32PM +0800, Américo Wang wrote: >> >> I found userspace tool, btrfsctl, uses BTRFS_VOL_NAME_MAX, and >> it also looks that this one is more proper. >> >> Kill BTRFS_PATH_NAME_MAX since no one will use it. >> > >Nope, BTRFS_PATH_NAME_MAX is specifically used for the ioctl stuff, makes the >arguments 4k aligned, this patch is incorrect. Thanks,Ok, then what is BTRFS_VOL_NAME_MAX? :) -- "Against stupidity, the gods themselves, contend in vain." -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Chris Mason
2009-Jan-21 15:04 UTC
Re: [Patch] Btrfs: use BTRFS_VOL_NAME_MAX for struct btrfs_ioctl_vol_args
On Mon, 2009-01-19 at 21:12 +0800, Américo Wang wrote:> On Mon, Jan 19, 2009 at 08:03:37AM -0500, Josef Bacik wrote: > >On Mon, Jan 19, 2009 at 08:57:32PM +0800, Américo Wang wrote: > >> > >> I found userspace tool, btrfsctl, uses BTRFS_VOL_NAME_MAX, and > >> it also looks that this one is more proper. > >> > >> Kill BTRFS_PATH_NAME_MAX since no one will use it. > >> > > > >Nope, BTRFS_PATH_NAME_MAX is specifically used for the ioctl stuff, makes the > >arguments 4k aligned, this patch is incorrect. Thanks, > > Ok, then what is BTRFS_VOL_NAME_MAX? :)Right now it is only used in the progs. The disk format doesn''t really have a max there, it is just to keep names usable. But, we should add a check in the kernel ioctl side, are you interested in sending a patch for it? -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Américo Wang
2009-Jan-22 16:11 UTC
Re: [Patch] Btrfs: use BTRFS_VOL_NAME_MAX for struct btrfs_ioctl_vol_args
On Wed, Jan 21, 2009 at 10:04:08AM -0500, Chris Mason wrote:>On Mon, 2009-01-19 at 21:12 +0800, Américo Wang wrote: >> On Mon, Jan 19, 2009 at 08:03:37AM -0500, Josef Bacik wrote: >> >On Mon, Jan 19, 2009 at 08:57:32PM +0800, Américo Wang wrote: >> >> >> >> I found userspace tool, btrfsctl, uses BTRFS_VOL_NAME_MAX, and >> >> it also looks that this one is more proper. >> >> >> >> Kill BTRFS_PATH_NAME_MAX since no one will use it. >> >> >> > >> >Nope, BTRFS_PATH_NAME_MAX is specifically used for the ioctl stuff, makes the >> >arguments 4k aligned, this patch is incorrect. Thanks, >> >> Ok, then what is BTRFS_VOL_NAME_MAX? :) > >Right now it is only used in the progs. The disk format doesn''t really >have a max there, it is just to keep names usable. But, we should add a >check in the kernel ioctl side, are you interested in sending a patch >for it? >Yup, I will do. Thanks. -- "Against stupidity, the gods themselves, contend in vain." -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Seemingly Similar Threads
- [PATCH] Null terminate strings passed in from userspace
- [patch]use strnlen to deal with string from user space
- [PATCH 0/5] asynchronous commit, snapshot ponies
- [PATCH] Btrfs-progs use safe string manipulation functions
- [PATCH]: Use a general way to get the default subvolume for btrfs