linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] exfat: clear filename field before setting initial name
@ 2020-06-09  0:49 ` Hyeongseok.Kim
  2020-06-09  2:36   ` Namjae Jeon
  2020-06-09  3:03   ` Sungjong Seo
  0 siblings, 2 replies; 7+ messages in thread
From: Hyeongseok.Kim @ 2020-06-09  0:49 UTC (permalink / raw)
  To: namjae.jeon, sj1557.seo; +Cc: linux-fsdevel, Hyeongseok.Kim

Some fsck tool complain that padding part of the FileName Field
is not set to the value 0000h. So let's follow the filesystem spec.

Signed-off-by: Hyeongseok.Kim <Hyeongseok@gmail.com>
---
 fs/exfat/dir.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c
index de43534..6c9810b 100644
--- a/fs/exfat/dir.c
+++ b/fs/exfat/dir.c
@@ -424,6 +424,9 @@ static void exfat_init_name_entry(struct exfat_dentry *ep,
 	exfat_set_entry_type(ep, TYPE_EXTEND);
 	ep->dentry.name.flags = 0x0;
 
+	memset(ep->dentry.name.unicode_0_14, 0,
+		sizeof(ep->dentry.name.unicode_0_14));
+
 	for (i = 0; i < EXFAT_FILE_NAME_LEN; i++) {
 		ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
 		if (*uniname == 0x0)
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* RE: [PATCH] exfat: clear filename field before setting initial name
  2020-06-09  0:49 ` [PATCH] exfat: clear filename field before setting initial name Hyeongseok.Kim
@ 2020-06-09  2:36   ` Namjae Jeon
  2020-06-09  3:25     ` hyeongseok
  2020-06-09  3:03   ` Sungjong Seo
  1 sibling, 1 reply; 7+ messages in thread
From: Namjae Jeon @ 2020-06-09  2:36 UTC (permalink / raw)
  To: 'Hyeongseok.Kim'; +Cc: linux-fsdevel, sj1557.seo

Hi Hyeongseok,

> Some fsck tool complain that padding part of the FileName Field is not set to the value 0000h. So
> let's follow the filesystem spec.
> 
> Signed-off-by: Hyeongseok.Kim <Hyeongseok@gmail.com>
> ---
>  fs/exfat/dir.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index de43534..6c9810b 100644
> --- a/fs/exfat/dir.c
> +++ b/fs/exfat/dir.c
> @@ -424,6 +424,9 @@ static void exfat_init_name_entry(struct exfat_dentry *ep,
>  	exfat_set_entry_type(ep, TYPE_EXTEND);
>  	ep->dentry.name.flags = 0x0;
> 
> +	memset(ep->dentry.name.unicode_0_14, 0,
> +		sizeof(ep->dentry.name.unicode_0_14));
> +
>  	for (i = 0; i < EXFAT_FILE_NAME_LEN; i++) {
>  		ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
>  		if (*uniname == 0x0)
Wouldn't it be better to fill the rest with 0x0000 in this loop?
> --
> 2.7.4



^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] exfat: clear filename field before setting initial name
  2020-06-09  0:49 ` [PATCH] exfat: clear filename field before setting initial name Hyeongseok.Kim
  2020-06-09  2:36   ` Namjae Jeon
@ 2020-06-09  3:03   ` Sungjong Seo
  2020-06-09  3:23     ` hyeongseok
  1 sibling, 1 reply; 7+ messages in thread
From: Sungjong Seo @ 2020-06-09  3:03 UTC (permalink / raw)
  To: 'Hyeongseok.Kim', namjae.jeon; +Cc: linux-fsdevel

> Some fsck tool complain that padding part of the FileName Field is not set
> to the value 0000h. So let's follow the filesystem spec.

As I know, it's specified as not "shall" but "should".
That is, it is not a mandatory for compatibility.
Have you checked it on Windows?

> 
> Signed-off-by: Hyeongseok.Kim <Hyeongseok@gmail.com>
> ---
>  fs/exfat/dir.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index de43534..6c9810b 100644
> --- a/fs/exfat/dir.c
> +++ b/fs/exfat/dir.c
> @@ -424,6 +424,9 @@ static void exfat_init_name_entry(struct exfat_dentry
> *ep,
>  	exfat_set_entry_type(ep, TYPE_EXTEND);
>  	ep->dentry.name.flags = 0x0;
> 
> +	memset(ep->dentry.name.unicode_0_14, 0,
> +		sizeof(ep->dentry.name.unicode_0_14));
> +
>  	for (i = 0; i < EXFAT_FILE_NAME_LEN; i++) {
>  		ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
>  		if (*uniname == 0x0)
> --
> 2.7.4



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] exfat: clear filename field before setting initial name
  2020-06-09  3:03   ` Sungjong Seo
@ 2020-06-09  3:23     ` hyeongseok
  2020-06-09  4:55       ` Sungjong Seo
  0 siblings, 1 reply; 7+ messages in thread
From: hyeongseok @ 2020-06-09  3:23 UTC (permalink / raw)
  To: Sungjong Seo, namjae.jeon; +Cc: linux-fsdevel

On 6/9/20 12:03 PM, Sungjong Seo wrote:
>> Some fsck tool complain that padding part of the FileName Field is not set
>> to the value 0000h. So let's follow the filesystem spec.
> As I know, it's specified as not "shall" but "should".
> That is, it is not a mandatory for compatibility.
> Have you checked it on Windows?
Right, it's not mandatory and only some fsck'er do complain for this.
But, there's no benefit by leaving the garbage bytes in the filename 
entry. Isn't it?
Or, are you saying about the commit message?
>> Signed-off-by: Hyeongseok.Kim <Hyeongseok@gmail.com>
>> ---
>>   fs/exfat/dir.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index de43534..6c9810b 100644
>> --- a/fs/exfat/dir.c
>> +++ b/fs/exfat/dir.c
>> @@ -424,6 +424,9 @@ static void exfat_init_name_entry(struct exfat_dentry
>> *ep,
>>   	exfat_set_entry_type(ep, TYPE_EXTEND);
>>   	ep->dentry.name.flags = 0x0;
>>
>> +	memset(ep->dentry.name.unicode_0_14, 0,
>> +		sizeof(ep->dentry.name.unicode_0_14));
>> +
>>   	for (i = 0; i < EXFAT_FILE_NAME_LEN; i++) {
>>   		ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
>>   		if (*uniname == 0x0)
>> --
>> 2.7.4
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] exfat: clear filename field before setting initial name
  2020-06-09  2:36   ` Namjae Jeon
@ 2020-06-09  3:25     ` hyeongseok
  0 siblings, 0 replies; 7+ messages in thread
From: hyeongseok @ 2020-06-09  3:25 UTC (permalink / raw)
  To: Namjae Jeon; +Cc: linux-fsdevel, sj1557.seo

On 6/9/20 11:36 AM, Namjae Jeon wrote:
> Hi Hyeongseok,
>
>> Some fsck tool complain that padding part of the FileName Field is not set to the value 0000h. So
>> let's follow the filesystem spec.
>>
>> Signed-off-by: Hyeongseok.Kim <Hyeongseok@gmail.com>
>> ---
>>   fs/exfat/dir.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index de43534..6c9810b 100644
>> --- a/fs/exfat/dir.c
>> +++ b/fs/exfat/dir.c
>> @@ -424,6 +424,9 @@ static void exfat_init_name_entry(struct exfat_dentry *ep,
>>   	exfat_set_entry_type(ep, TYPE_EXTEND);
>>   	ep->dentry.name.flags = 0x0;
>>
>> +	memset(ep->dentry.name.unicode_0_14, 0,
>> +		sizeof(ep->dentry.name.unicode_0_14));
>> +
>>   	for (i = 0; i < EXFAT_FILE_NAME_LEN; i++) {
>>   		ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
>>   		if (*uniname == 0x0)
> Wouldn't it be better to fill the rest with 0x0000 in this loop?
OK, I'll change like that.
>> --
>> 2.7.4
>
> .
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] exfat: clear filename field before setting initial name
  2020-06-09  3:23     ` hyeongseok
@ 2020-06-09  4:55       ` Sungjong Seo
  2020-06-09  5:27         ` hyeongseok
  0 siblings, 1 reply; 7+ messages in thread
From: Sungjong Seo @ 2020-06-09  4:55 UTC (permalink / raw)
  To: 'hyeongseok', namjae.jeon; +Cc: linux-fsdevel

> On 6/9/20 12:03 PM, Sungjong Seo wrote:
> >> Some fsck tool complain that padding part of the FileName Field is
> >> not set to the value 0000h. So let's follow the filesystem spec.
> > As I know, it's specified as not "shall" but "should".
> > That is, it is not a mandatory for compatibility.
> > Have you checked it on Windows?
> Right, it's not mandatory and only some fsck'er do complain for this.
> But, there's no benefit by leaving the garbage bytes in the filename entry.
> Isn't it?
> Or, are you saying about the commit message?

The latter, I'm just saying this is not a spec-violation :)

> >> Signed-off-by: Hyeongseok.Kim <Hyeongseok@gmail.com>
> >> ---
> >>   fs/exfat/dir.c | 3 +++
> >>   1 file changed, 3 insertions(+)
> >>
> >> diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index de43534..6c9810b
> >> 100644
> >> --- a/fs/exfat/dir.c
> >> +++ b/fs/exfat/dir.c
> >> @@ -424,6 +424,9 @@ static void exfat_init_name_entry(struct
> >> exfat_dentry *ep,
> >>   	exfat_set_entry_type(ep, TYPE_EXTEND);
> >>   	ep->dentry.name.flags = 0x0;
> >>
> >> +	memset(ep->dentry.name.unicode_0_14, 0,
> >> +		sizeof(ep->dentry.name.unicode_0_14));
> >> +
> >>   	for (i = 0; i < EXFAT_FILE_NAME_LEN; i++) {
> >>   		ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
> >>   		if (*uniname == 0x0)
> >> --
> >> 2.7.4
> >
> >



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] exfat: clear filename field before setting initial name
  2020-06-09  4:55       ` Sungjong Seo
@ 2020-06-09  5:27         ` hyeongseok
  0 siblings, 0 replies; 7+ messages in thread
From: hyeongseok @ 2020-06-09  5:27 UTC (permalink / raw)
  To: Sungjong Seo, namjae.jeon; +Cc: linux-fsdevel

On 6/9/20 1:55 PM, Sungjong Seo wrote:
>> On 6/9/20 12:03 PM, Sungjong Seo wrote:
>>>> Some fsck tool complain that padding part of the FileName Field is
>>>> not set to the value 0000h. So let's follow the filesystem spec.
>>> As I know, it's specified as not "shall" but "should".
>>> That is, it is not a mandatory for compatibility.
>>> Have you checked it on Windows?
>> Right, it's not mandatory and only some fsck'er do complain for this.
>> But, there's no benefit by leaving the garbage bytes in the filename entry.
>> Isn't it?
>> Or, are you saying about the commit message?
> The latter, I'm just saying this is not a spec-violation :)
Yes, I got it.
Thanks.
>>>> Signed-off-by: Hyeongseok.Kim <Hyeongseok@gmail.com>
>>>> ---
>>>>    fs/exfat/dir.c | 3 +++
>>>>    1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index de43534..6c9810b
>>>> 100644
>>>> --- a/fs/exfat/dir.c
>>>> +++ b/fs/exfat/dir.c
>>>> @@ -424,6 +424,9 @@ static void exfat_init_name_entry(struct
>>>> exfat_dentry *ep,
>>>>    	exfat_set_entry_type(ep, TYPE_EXTEND);
>>>>    	ep->dentry.name.flags = 0x0;
>>>>
>>>> +	memset(ep->dentry.name.unicode_0_14, 0,
>>>> +		sizeof(ep->dentry.name.unicode_0_14));
>>>> +
>>>>    	for (i = 0; i < EXFAT_FILE_NAME_LEN; i++) {
>>>>    		ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
>>>>    		if (*uniname == 0x0)
>>>> --
>>>> 2.7.4
>>>
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-06-09  5:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20200609004931epcas1p3f2b10c4dea5b6d236fd1741532b529ec@epcas1p3.samsung.com>
2020-06-09  0:49 ` [PATCH] exfat: clear filename field before setting initial name Hyeongseok.Kim
2020-06-09  2:36   ` Namjae Jeon
2020-06-09  3:25     ` hyeongseok
2020-06-09  3:03   ` Sungjong Seo
2020-06-09  3:23     ` hyeongseok
2020-06-09  4:55       ` Sungjong Seo
2020-06-09  5:27         ` hyeongseok

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).