diff mbox series

ramfs: fix mount source show for ramfs

Message ID 20210811122811.2288041-1-yangerkun@huawei.com (mailing list archive)
State New
Headers show
Series ramfs: fix mount source show for ramfs | expand

Commit Message

yangerkun Aug. 11, 2021, 12:28 p.m. UTC
ramfs_parse_param does not parse key "source", and will convert
-ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
vfs_parse_fs_param, which lead always "none" mount source for ramfs. Fix
it by parse "source" in ramfs_parse_param.

Signed-off-by: yangerkun <yangerkun@huawei.com>
---
 fs/ramfs/inode.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

yangerkun Sept. 8, 2021, 8:56 a.m. UTC | #1
Hi, this patch seems still leave in linux-next, should we pull it to
mainline?

在 2021/8/11 20:28, yangerkun 写道:
> ramfs_parse_param does not parse key "source", and will convert
> -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
> vfs_parse_fs_param, which lead always "none" mount source for ramfs. Fix
> it by parse "source" in ramfs_parse_param.
> 
> Signed-off-by: yangerkun <yangerkun@huawei.com>
> ---
>   fs/ramfs/inode.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
> index 65e7e56005b8..0d7f5f655fd8 100644
> --- a/fs/ramfs/inode.c
> +++ b/fs/ramfs/inode.c
> @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
>   	struct ramfs_fs_info *fsi = fc->s_fs_info;
>   	int opt;
>   
> +	opt = vfs_parse_fs_param_source(fc, param);
> +	if (opt != -ENOPARAM)
> +		return opt;
> +
>   	opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
>   	if (opt < 0) {
>   		/*
>
Andrew Morton Sept. 8, 2021, 10:39 p.m. UTC | #2
On Wed, 8 Sep 2021 16:56:25 +0800 yangerkun <yangerkun@huawei.com> wrote:

> 在 2021/8/11 20:28, yangerkun 写道:
> > ramfs_parse_param does not parse key "source", and will convert
> > -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
> > vfs_parse_fs_param, which lead always "none" mount source for ramfs. Fix
> > it by parse "source" in ramfs_parse_param.
> > 
> > Signed-off-by: yangerkun <yangerkun@huawei.com>
> > ---
> >   fs/ramfs/inode.c | 4 ++++
> >   1 file changed, 4 insertions(+)
> > 
> > diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
> > index 65e7e56005b8..0d7f5f655fd8 100644
> > --- a/fs/ramfs/inode.c
> > +++ b/fs/ramfs/inode.c
> > @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
> >   	struct ramfs_fs_info *fsi = fc->s_fs_info;
> >   	int opt;
> >   
> > +	opt = vfs_parse_fs_param_source(fc, param);
> > +	if (opt != -ENOPARAM)
> > +		return opt;
> > +
> >   	opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
> >   	if (opt < 0) {
> >   		/*
> > 

(top-posting repaired)

> Hi, this patch seems still leave in linux-next, should we pull it to
> mainline?

I was hoping for a comment from Al?
yangerkun Sept. 9, 2021, 8:37 a.m. UTC | #3
在 2021/9/9 6:39, Andrew Morton 写道:
> On Wed, 8 Sep 2021 16:56:25 +0800 yangerkun <yangerkun@huawei.com> wrote:
> 
>> 在 2021/8/11 20:28, yangerkun 写道:
>>> ramfs_parse_param does not parse key "source", and will convert
>>> -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
>>> vfs_parse_fs_param, which lead always "none" mount source for ramfs. Fix
>>> it by parse "source" in ramfs_parse_param.
>>>
>>> Signed-off-by: yangerkun <yangerkun@huawei.com>
>>> ---
>>>    fs/ramfs/inode.c | 4 ++++
>>>    1 file changed, 4 insertions(+)
>>>
>>> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
>>> index 65e7e56005b8..0d7f5f655fd8 100644
>>> --- a/fs/ramfs/inode.c
>>> +++ b/fs/ramfs/inode.c
>>> @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
>>>    	struct ramfs_fs_info *fsi = fc->s_fs_info;
>>>    	int opt;
>>>    
>>> +	opt = vfs_parse_fs_param_source(fc, param);
>>> +	if (opt != -ENOPARAM)
>>> +		return opt;
>>> +
>>>    	opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
>>>    	if (opt < 0) {
>>>    		/*
>>>
> 
> (top-posting repaired)
> 
>> Hi, this patch seems still leave in linux-next, should we pull it to
>> mainline?
> 
> I was hoping for a comment from Al?

Hi, Al,

Can you help to review this patch...

Thanks,
Kun.

> .
>
yangerkun Sept. 13, 2021, 1:10 a.m. UTC | #4
在 2021/9/9 16:37, yangerkun 写道:
> 
> 
> 在 2021/9/9 6:39, Andrew Morton 写道:
>> On Wed, 8 Sep 2021 16:56:25 +0800 yangerkun <yangerkun@huawei.com> wrote:
>>
>>> 在 2021/8/11 20:28, yangerkun 写道:
>>>> ramfs_parse_param does not parse key "source", and will convert
>>>> -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
>>>> vfs_parse_fs_param, which lead always "none" mount source for ramfs. 
>>>> Fix
>>>> it by parse "source" in ramfs_parse_param.
>>>>
>>>> Signed-off-by: yangerkun <yangerkun@huawei.com>
>>>> ---
>>>>    fs/ramfs/inode.c | 4 ++++
>>>>    1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
>>>> index 65e7e56005b8..0d7f5f655fd8 100644
>>>> --- a/fs/ramfs/inode.c
>>>> +++ b/fs/ramfs/inode.c
>>>> @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct fs_context 
>>>> *fc, struct fs_parameter *param)
>>>>        struct ramfs_fs_info *fsi = fc->s_fs_info;
>>>>        int opt;
>>>> +    opt = vfs_parse_fs_param_source(fc, param);
>>>> +    if (opt != -ENOPARAM)
>>>> +        return opt;
>>>> +
>>>>        opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
>>>>        if (opt < 0) {
>>>>            /*
>>>>
>>
>> (top-posting repaired)
>>
>>> Hi, this patch seems still leave in linux-next, should we pull it to
>>> mainline?
>>
>> I was hoping for a comment from Al?
> 
> Hi, Al,
> 
> Can you help to review this patch...

Hi, Al,

Sorry for the noise again, can you help to give some comments for this 
patch.

> 
> Thanks,
> Kun.
> 
>> .
>>
> .
yangerkun Sept. 18, 2021, 7:08 a.m. UTC | #5
Ping...

在 2021/9/13 9:10, yangerkun 写道:
> 
> 
> 在 2021/9/9 16:37, yangerkun 写道:
>>
>>
>> 在 2021/9/9 6:39, Andrew Morton 写道:
>>> On Wed, 8 Sep 2021 16:56:25 +0800 yangerkun <yangerkun@huawei.com> 
>>> wrote:
>>>
>>>> 在 2021/8/11 20:28, yangerkun 写道:
>>>>> ramfs_parse_param does not parse key "source", and will convert
>>>>> -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
>>>>> vfs_parse_fs_param, which lead always "none" mount source for 
>>>>> ramfs. Fix
>>>>> it by parse "source" in ramfs_parse_param.
>>>>>
>>>>> Signed-off-by: yangerkun <yangerkun@huawei.com>
>>>>> ---
>>>>>    fs/ramfs/inode.c | 4 ++++
>>>>>    1 file changed, 4 insertions(+)
>>>>>
>>>>> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
>>>>> index 65e7e56005b8..0d7f5f655fd8 100644
>>>>> --- a/fs/ramfs/inode.c
>>>>> +++ b/fs/ramfs/inode.c
>>>>> @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct fs_context 
>>>>> *fc, struct fs_parameter *param)
>>>>>        struct ramfs_fs_info *fsi = fc->s_fs_info;
>>>>>        int opt;
>>>>> +    opt = vfs_parse_fs_param_source(fc, param);
>>>>> +    if (opt != -ENOPARAM)
>>>>> +        return opt;
>>>>> +
>>>>>        opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
>>>>>        if (opt < 0) {
>>>>>            /*
>>>>>
>>>
>>> (top-posting repaired)
>>>
>>>> Hi, this patch seems still leave in linux-next, should we pull it to
>>>> mainline?
>>>
>>> I was hoping for a comment from Al?
>>
>> Hi, Al,
>>
>> Can you help to review this patch...
> 
> Hi, Al,
> 
> Sorry for the noise again, can you help to give some comments for this 
> patch.
> 
>>
>> Thanks,
>> Kun.
>>
>>> .
>>>
>> .
> .
yangerkun Sept. 23, 2021, 6:07 a.m. UTC | #6
Ping again...

在 2021/9/18 15:08, yangerkun 写道:
> Ping...
> 
> 在 2021/9/13 9:10, yangerkun 写道:
>>
>>
>> 在 2021/9/9 16:37, yangerkun 写道:
>>>
>>>
>>> 在 2021/9/9 6:39, Andrew Morton 写道:
>>>> On Wed, 8 Sep 2021 16:56:25 +0800 yangerkun <yangerkun@huawei.com> 
>>>> wrote:
>>>>
>>>>> 在 2021/8/11 20:28, yangerkun 写道:
>>>>>> ramfs_parse_param does not parse key "source", and will convert
>>>>>> -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
>>>>>> vfs_parse_fs_param, which lead always "none" mount source for 
>>>>>> ramfs. Fix
>>>>>> it by parse "source" in ramfs_parse_param.
>>>>>>
>>>>>> Signed-off-by: yangerkun <yangerkun@huawei.com>
>>>>>> ---
>>>>>>    fs/ramfs/inode.c | 4 ++++
>>>>>>    1 file changed, 4 insertions(+)
>>>>>>
>>>>>> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
>>>>>> index 65e7e56005b8..0d7f5f655fd8 100644
>>>>>> --- a/fs/ramfs/inode.c
>>>>>> +++ b/fs/ramfs/inode.c
>>>>>> @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct 
>>>>>> fs_context *fc, struct fs_parameter *param)
>>>>>>        struct ramfs_fs_info *fsi = fc->s_fs_info;
>>>>>>        int opt;
>>>>>> +    opt = vfs_parse_fs_param_source(fc, param);
>>>>>> +    if (opt != -ENOPARAM)
>>>>>> +        return opt;
>>>>>> +
>>>>>>        opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
>>>>>>        if (opt < 0) {
>>>>>>            /*
>>>>>>
>>>>
>>>> (top-posting repaired)
>>>>
>>>>> Hi, this patch seems still leave in linux-next, should we pull it to
>>>>> mainline?
>>>>
>>>> I was hoping for a comment from Al?
>>>
>>> Hi, Al,
>>>
>>> Can you help to review this patch...
>>
>> Hi, Al,
>>
>> Sorry for the noise again, can you help to give some comments for this 
>> patch.
>>
>>>
>>> Thanks,
>>> Kun.
>>>
>>>> .
>>>>
>>> .
>> .
> .
Al Viro Sept. 24, 2021, 4:35 a.m. UTC | #7
On Wed, Aug 11, 2021 at 08:28:11PM +0800, yangerkun wrote:
> ramfs_parse_param does not parse key "source", and will convert
> -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
> vfs_parse_fs_param, which lead always "none" mount source for ramfs. Fix
> it by parse "source" in ramfs_parse_param.
> 
> Signed-off-by: yangerkun <yangerkun@huawei.com>
> ---
>  fs/ramfs/inode.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
> index 65e7e56005b8..0d7f5f655fd8 100644
> --- a/fs/ramfs/inode.c
> +++ b/fs/ramfs/inode.c
> @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
>  	struct ramfs_fs_info *fsi = fc->s_fs_info;
>  	int opt;
>  
> +	opt = vfs_parse_fs_param_source(fc, param);
> +	if (opt != -ENOPARAM)
> +		return opt;
> +
>  	opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
>  	if (opt < 0) {
>  		/*

	Umm...  If anything, I would rather call that thing *after*
fs_parse() gives negative, similar to what kernel/cgroup/cgroup-v1.c
does.
yangerkun Sept. 24, 2021, 7:53 a.m. UTC | #8
在 2021/9/24 12:35, Al Viro 写道:
> On Wed, Aug 11, 2021 at 08:28:11PM +0800, yangerkun wrote:
>> ramfs_parse_param does not parse key "source", and will convert
>> -ENOPARAM to 0. This will skip vfs_parse_fs_param_source in
>> vfs_parse_fs_param, which lead always "none" mount source for ramfs. Fix
>> it by parse "source" in ramfs_parse_param.
>>
>> Signed-off-by: yangerkun <yangerkun@huawei.com>
>> ---
>>   fs/ramfs/inode.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
>> index 65e7e56005b8..0d7f5f655fd8 100644
>> --- a/fs/ramfs/inode.c
>> +++ b/fs/ramfs/inode.c
>> @@ -202,6 +202,10 @@ static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
>>   	struct ramfs_fs_info *fsi = fc->s_fs_info;
>>   	int opt;
>>   
>> +	opt = vfs_parse_fs_param_source(fc, param);
>> +	if (opt != -ENOPARAM)
>> +		return opt;
>> +
>>   	opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
>>   	if (opt < 0) {
>>   		/*
> 
> 	Umm...  If anything, I would rather call that thing *after*
> fs_parse() gives negative, similar to what kernel/cgroup/cgroup-v1.c
> does.

Thanks for your advise. Will do it next version.

> .
>
diff mbox series

Patch

diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
index 65e7e56005b8..0d7f5f655fd8 100644
--- a/fs/ramfs/inode.c
+++ b/fs/ramfs/inode.c
@@ -202,6 +202,10 @@  static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
 	struct ramfs_fs_info *fsi = fc->s_fs_info;
 	int opt;
 
+	opt = vfs_parse_fs_param_source(fc, param);
+	if (opt != -ENOPARAM)
+		return opt;
+
 	opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
 	if (opt < 0) {
 		/*