Message ID | 1531376596-26333-1-git-send-email-gujx@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 12.07.2018 09:23, Gu Jinxiang wrote: > fs_devices is always passed to btrfs_scan_one_device which > overrides it. And in the call stack below fs_devices is passed to > btrfs_scan_one_device from btrfs_mount_root. > And in btrfs_mount_root the output fs_devices of this call stack > is not used. > btrfs_mount_root > -> btrfs_parse_early_options > ->btrfs_scan_one_device > So, there is no necessary to pass fs_devices from btrfs_mount_root, > use a local variable in btrfs_parse_early_options is enough. > > Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com> > Reviewed-by: Anand Jain <Anand.Jain@oracle.com> Reviewed-by: Nikolay Borisov <nborisov@suse.com> > --- > > Changelog: > v4: changed a line warp, and adjusted the order of two rows. > v3: rebase to misc-next. > v2: deal with Nikolay's comment, make changelog more clair. > > fs/btrfs/super.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c > index 39d8e39b2fe1..44f58bdb5fa6 100644 > --- a/fs/btrfs/super.c > +++ b/fs/btrfs/super.c > @@ -884,10 +884,11 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options, > * only when we need to allocate a new super block. > */ > static int btrfs_parse_early_options(const char *options, fmode_t flags, > - void *holder, struct btrfs_fs_devices **fs_devices) > + void *holder) > { > substring_t args[MAX_OPT_ARGS]; > char *device_name, *opts, *orig, *p; > + struct btrfs_fs_devices *fs_devices = NULL; > int error = 0; > > if (!options) > @@ -916,7 +917,7 @@ static int btrfs_parse_early_options(const char *options, fmode_t flags, > goto out; > } > error = btrfs_scan_one_device(device_name, > - flags, holder, fs_devices); > + flags, holder, &fs_devices); > kfree(device_name); > if (error) > goto out; > @@ -1524,8 +1525,7 @@ static struct dentry *btrfs_mount_root(struct file_system_type *fs_type, > if (!(flags & SB_RDONLY)) > mode |= FMODE_WRITE; > > - error = btrfs_parse_early_options(data, mode, fs_type, > - &fs_devices); > + error = btrfs_parse_early_options(data, mode, fs_type); > if (error) { > return ERR_PTR(error); > } > -- 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
On Thu, Jul 12, 2018 at 02:23:15PM +0800, Gu Jinxiang wrote: > fs_devices is always passed to btrfs_scan_one_device which > overrides it. And in the call stack below fs_devices is passed to > btrfs_scan_one_device from btrfs_mount_root. > And in btrfs_mount_root the output fs_devices of this call stack > is not used. > btrfs_mount_root > -> btrfs_parse_early_options > ->btrfs_scan_one_device > So, there is no necessary to pass fs_devices from btrfs_mount_root, > use a local variable in btrfs_parse_early_options is enough. > > Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com> > Reviewed-by: Anand Jain <Anand.Jain@oracle.com> Please send cover letter for patch series (ie. > 1 patch). I've applied both on top of recent patches that update some code around device scanning and there were conflicts with patch 2, but simple to fix. Please check the result in misc-next once it's pushed, thanks. -- 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
On 07/12/2018 02:23 PM, Gu Jinxiang wrote: > fs_devices is always passed to btrfs_scan_one_device which > overrides it. And in the call stack below fs_devices is passed to > btrfs_scan_one_device from btrfs_mount_root. > And in btrfs_mount_root the output fs_devices of this call stack > is not used. > btrfs_mount_root > -> btrfs_parse_early_options > ->btrfs_scan_one_device > So, there is no necessary to pass fs_devices from btrfs_mount_root, > use a local variable in btrfs_parse_early_options is enough. > > Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com> > Reviewed-by: Anand Jain <Anand.Jain@oracle.com> > --- > > Changelog: > v4: changed a line warp, and adjusted the order of two rows. > v3: rebase to misc-next. > v2: deal with Nikolay's comment, make changelog more clair. > > fs/btrfs/super.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c > index 39d8e39b2fe1..44f58bdb5fa6 100644 > --- a/fs/btrfs/super.c > +++ b/fs/btrfs/super.c > @@ -884,10 +884,11 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options, > * only when we need to allocate a new super block. > */ > static int btrfs_parse_early_options(const char *options, fmode_t flags, > - void *holder, struct btrfs_fs_devices **fs_devices) > + void *holder) > { > substring_t args[MAX_OPT_ARGS]; > char *device_name, *opts, *orig, *p; > + struct btrfs_fs_devices *fs_devices = NULL; > int error = 0; > > if (!options) > @@ -916,7 +917,7 @@ static int btrfs_parse_early_options(const char *options, fmode_t flags, > goto out; > } > error = btrfs_scan_one_device(device_name, > - flags, holder, fs_devices); > + flags, holder, &fs_devices); 1. Extend line until 8-char, and remain to start below the (. - error = btrfs_scan_one_device(device_name, - flags, holder, fs_devices); + error = btrfs_scan_one_device(device_name, flags, + holder, &fs_devices); 2. Fixed the conflict on top of the recent uuid_mutex changes from David. I see this patch isn't in the misc-next yet, applied to my local WS, pending pull request. Thanks, Anand > kfree(device_name); > if (error) > goto out; > @@ -1524,8 +1525,7 @@ static struct dentry *btrfs_mount_root(struct file_system_type *fs_type, > if (!(flags & SB_RDONLY)) > mode |= FMODE_WRITE; > > - error = btrfs_parse_early_options(data, mode, fs_type, > - &fs_devices); > + error = btrfs_parse_early_options(data, mode, fs_type); > if (error) { > return ERR_PTR(error); > } > -- 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
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 39d8e39b2fe1..44f58bdb5fa6 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -884,10 +884,11 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options, * only when we need to allocate a new super block. */ static int btrfs_parse_early_options(const char *options, fmode_t flags, - void *holder, struct btrfs_fs_devices **fs_devices) + void *holder) { substring_t args[MAX_OPT_ARGS]; char *device_name, *opts, *orig, *p; + struct btrfs_fs_devices *fs_devices = NULL; int error = 0; if (!options) @@ -916,7 +917,7 @@ static int btrfs_parse_early_options(const char *options, fmode_t flags, goto out; } error = btrfs_scan_one_device(device_name, - flags, holder, fs_devices); + flags, holder, &fs_devices); kfree(device_name); if (error) goto out; @@ -1524,8 +1525,7 @@ static struct dentry *btrfs_mount_root(struct file_system_type *fs_type, if (!(flags & SB_RDONLY)) mode |= FMODE_WRITE; - error = btrfs_parse_early_options(data, mode, fs_type, - &fs_devices); + error = btrfs_parse_early_options(data, mode, fs_type); if (error) { return ERR_PTR(error); }