Re: [PATCH 4/4] exfat: standardize checksum calculation

2020-05-28 Thread Namjae Jeon
2020-05-28 19:09 GMT+09:00, Tetsuhiro Kohada :
>>> I'll repost the patch, based on the dir-cache patched dev-tree.
>>> If dir-cache patch will merge into dev-tree, should I wait until then?
>> I will apply them after testing at once if you send updated 5 patches
>> again.
>
> I resend patches for boot_sector.
> However, the dir-cache patch hasn't changed, so I haven't reposted it.
Well, I leave a comment for this patch.
>
> BR
>


Re: [PATCH 4/4] exfat: standardize checksum calculation

2020-05-28 Thread Tetsuhiro Kohada

I'll repost the patch, based on the dir-cache patched dev-tree.
If dir-cache patch will merge into dev-tree, should I wait until then?

I will apply them after testing at once if you send updated 5 patches again.


I resend patches for boot_sector.
However, the dir-cache patch hasn't changed, so I haven't reposted it.

BR


RE: [PATCH 4/4] exfat: standardize checksum calculation

2020-05-27 Thread Namjae Jeon
> >> II tried applying patch to dev-tree (4c4dbb6ad8e8).
> >> -The .patch file I sent
> >> -mbox file downloaded from archive
> >> But I can't reproduce the error. (Both succeed) How do you reproduce
> >> the error?
> > I tried to appy your patches in the following order.
> > 1. [PATCH] exfat: optimize dir-cache
> > 2. [PATCH 1/4] exfat: redefine PBR as boot_sector 3. [PATCH 2/4]
> > exfat: separate the boot sector analysis 4. [PATCH 3/4] exfat: add
> > boot region verification 5. [PATCH 4/4] exfat: standardize checksum
> > calculation
> 
> I was able to reproduce it.
> 
> The dir-cache patch was created based on the HEAD of dev-tree.
> The 4 patches for boot_sector were also created based on the HEAD of dev-tree.
> (at physically separated place)
> 
> I'm sorry I didn't check any conflicts with these patches.
> 
> I'll repost the patch, based on the dir-cache patched dev-tree.
> If dir-cache patch will merge into dev-tree, should I wait until then?
I will apply them after testing at once if you send updated 5 patches again.
Thanks!
> 
> BR



Re: [PATCH 4/4] exfat: standardize checksum calculation

2020-05-27 Thread Tetsuhiro Kohada

II tried applying patch to dev-tree (4c4dbb6ad8e8).
-The .patch file I sent
-mbox file downloaded from archive
But I can't reproduce the error. (Both succeed)
How do you reproduce the error?

I tried to appy your patches in the following order.
1. [PATCH] exfat: optimize dir-cache
2. [PATCH 1/4] exfat: redefine PBR as boot_sector
3. [PATCH 2/4] exfat: separate the boot sector analysis
4. [PATCH 3/4] exfat: add boot region verification
5. [PATCH 4/4] exfat: standardize checksum calculation


I was able to reproduce it.

The dir-cache patch was created based on the HEAD of dev-tree.
The 4 patches for boot_sector were also created based on the HEAD of dev-tree.
(at physically separated place)

I'm sorry I didn't check any conflicts with these patches.

I'll repost the patch, based on the dir-cache patched dev-tree.
If dir-cache patch will merge into dev-tree, should I wait until then?

BR


Re: [PATCH 4/4] exfat: standardize checksum calculation

2020-05-27 Thread Namjae Jeon
2020-05-27 16:39 GMT+09:00, Tetsuhiro Kohada :
> Thank you for your comment.
>
>> I can not apply this patch to exfat dev tree. Could you please check it ?
>> patching file fs/exfat/dir.c
>> Hunk #1 succeeded at 491 (offset -5 lines).
>> Hunk #2 succeeded at 500 (offset -5 lines).
>> Hunk #3 succeeded at 508 (offset -5 lines).
>> Hunk #4 FAILED at 600.
>> Hunk #5 succeeded at 1000 (offset -47 lines).
>> 1 out of 5 hunks FAILED -- saving rejects to file fs/exfat/dir.c.rej
>> patching file fs/exfat/exfat_fs.h
>> Hunk #1 succeeded at 137 (offset -2 lines).
>> Hunk #2 succeeded at 512 (offset -3 lines).
>> patching file fs/exfat/misc.c
>> patching file fs/exfat/nls.c
>
> II tried applying patch to dev-tree (4c4dbb6ad8e8).
> -The .patch file I sent
> -mbox file downloaded from archive
> But I can't reproduce the error. (Both succeed)
> How do you reproduce the error?
I tried to appy your patches in the following order.
1. [PATCH] exfat: optimize dir-cache
2. [PATCH 1/4] exfat: redefine PBR as boot_sector
3. [PATCH 2/4] exfat: separate the boot sector analysis
4. [PATCH 3/4] exfat: add boot region verification
5. [PATCH 4/4] exfat: standardize checksum calculation

Thanks!
>
> BR
>


Re: [PATCH 4/4] exfat: standardize checksum calculation

2020-05-27 Thread Tetsuhiro Kohada

Thank you for your comment.


I can not apply this patch to exfat dev tree. Could you please check it ?
patching file fs/exfat/dir.c
Hunk #1 succeeded at 491 (offset -5 lines).
Hunk #2 succeeded at 500 (offset -5 lines).
Hunk #3 succeeded at 508 (offset -5 lines).
Hunk #4 FAILED at 600.
Hunk #5 succeeded at 1000 (offset -47 lines).
1 out of 5 hunks FAILED -- saving rejects to file fs/exfat/dir.c.rej
patching file fs/exfat/exfat_fs.h
Hunk #1 succeeded at 137 (offset -2 lines).
Hunk #2 succeeded at 512 (offset -3 lines).
patching file fs/exfat/misc.c
patching file fs/exfat/nls.c


II tried applying patch to dev-tree (4c4dbb6ad8e8).
-The .patch file I sent
-mbox file downloaded from archive
But I can't reproduce the error. (Both succeed)
How do you reproduce the error?

BR


RE: [PATCH 4/4] exfat: standardize checksum calculation

2020-05-26 Thread Namjae Jeon
> To clarify that it is a 16-bit checksum, the parts related to the 16-bit 
> checksum are renamed and
> change type to u16.
> Furthermore, replace checksum calculation in exfat_load_upcase_table() with 
> exfat_calc_checksum32().
> 
> Signed-off-by: Tetsuhiro Kohada 

I can not apply this patch to exfat dev tree. Could you please check it ?
patching file fs/exfat/dir.c
Hunk #1 succeeded at 491 (offset -5 lines).
Hunk #2 succeeded at 500 (offset -5 lines).
Hunk #3 succeeded at 508 (offset -5 lines).
Hunk #4 FAILED at 600.
Hunk #5 succeeded at 1000 (offset -47 lines).
1 out of 5 hunks FAILED -- saving rejects to file fs/exfat/dir.c.rej
patching file fs/exfat/exfat_fs.h
Hunk #1 succeeded at 137 (offset -2 lines).
Hunk #2 succeeded at 512 (offset -3 lines).
patching file fs/exfat/misc.c
patching file fs/exfat/nls.c

Thanks!
> ---
>  fs/exfat/dir.c  | 12 ++--
>  fs/exfat/exfat_fs.h |  5 ++---
>  fs/exfat/misc.c | 10 --
>  fs/exfat/nls.c  | 19 +++
>  4 files changed, 19 insertions(+), 27 deletions(-)
> 
> diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index b5a237c33d50..b673362a895c 
> 100644
> --- a/fs/exfat/dir.c
> +++ b/fs/exfat/dir.c
> @@ -496,7 +496,7 @@ int exfat_update_dir_chksum(struct inode *inode, struct 
> exfat_chain *p_dir,
>   int ret = 0;
>   int i, num_entries;
>   sector_t sector;
> - unsigned short chksum;
> + u16 chksum;
>   struct exfat_dentry *ep, *fep;
>   struct buffer_head *fbh, *bh;
> 
> @@ -505,7 +505,7 @@ int exfat_update_dir_chksum(struct inode *inode, struct 
> exfat_chain *p_dir,
>   return -EIO;
> 
>   num_entries = fep->dentry.file.num_ext + 1;
> - chksum = exfat_calc_chksum_2byte(fep, DENTRY_SIZE, 0, CS_DIR_ENTRY);
> + chksum = exfat_calc_chksum16(fep, DENTRY_SIZE, 0, CS_DIR_ENTRY);
> 
>   for (i = 1; i < num_entries; i++) {
>   ep = exfat_get_dentry(sb, p_dir, entry + i, , NULL); @@ 
> -513,7 +513,7 @@ int
> exfat_update_dir_chksum(struct inode *inode, struct exfat_chain *p_dir,
>   ret = -EIO;
>   goto release_fbh;
>   }
> - chksum = exfat_calc_chksum_2byte(ep, DENTRY_SIZE, chksum,
> + chksum = exfat_calc_chksum16(ep, DENTRY_SIZE, chksum,
>   CS_DEFAULT);
>   brelse(bh);
>   }
> @@ -600,10 +600,10 @@ int exfat_update_dir_chksum_with_entry_set(struct 
> super_block *sb,
>   int chksum_type = CS_DIR_ENTRY, i, num_entries = es->num_entries;
>   unsigned int buf_off = (off - es->offset);
>   unsigned int remaining_byte_in_sector, copy_entries, clu;
> - unsigned short chksum = 0;
> + u16 chksum = 0;
> 
>   for (i = 0; i < num_entries; i++) {
> - chksum = exfat_calc_chksum_2byte(>entries[i], DENTRY_SIZE,
> + chksum = exfat_calc_chksum16(>entries[i], DENTRY_SIZE,
>   chksum, chksum_type);
>   chksum_type = CS_DEFAULT;
>   }
> @@ -1047,7 +1047,7 @@ int exfat_find_dir_entry(struct super_block *sb, struct 
> exfat_inode_info *ei,
>   }
> 
>   if (entry_type == TYPE_STREAM) {
> - unsigned short name_hash;
> + u16 name_hash;
> 
>   if (step != DIRENT_STEP_STRM) {
>   step = DIRENT_STEP_FILE;
> diff --git a/fs/exfat/exfat_fs.h b/fs/exfat/exfat_fs.h index 
> 15817281b3c8..993d13bbebec 100644
> --- a/fs/exfat/exfat_fs.h
> +++ b/fs/exfat/exfat_fs.h
> @@ -139,7 +139,7 @@ struct exfat_dentry_namebuf {  struct exfat_uni_name {
>   /* +3 for null and for converting */
>   unsigned short name[MAX_NAME_LENGTH + 3];
> - unsigned short name_hash;
> + u16 name_hash;
>   unsigned char name_len;
>  };
> 
> @@ -515,8 +515,7 @@ void exfat_get_entry_time(struct exfat_sb_info *sbi, 
> struct timespec64 *ts,  void
> exfat_truncate_atime(struct timespec64 *ts);  void 
> exfat_set_entry_time(struct exfat_sb_info *sbi,
> struct timespec64 *ts,
>   u8 *tz, __le16 *time, __le16 *date, u8 *time_cs); -unsigned 
> short
> exfat_calc_chksum_2byte(void *data, int len,
> - unsigned short chksum, int type);
> +u16 exfat_calc_chksum16(void *data, int len, u16 chksum, int type);
>  u32 exfat_calc_chksum32(void *data, int len, u32 chksum, int type);  void 
> exfat_update_bh(struct
> super_block *sb, struct buffer_head *bh, int sync);  void 
> exfat_chain_set(struct exfat_chain *ec,
> unsigned int dir, diff --git a/fs/exfat/misc.c b/fs/exfat/misc.c index 
> b82d2dd5bd7c..17d41f3d3709
> 100644
> --- a/fs/exfat/misc.c
> +++ b/fs/exfat/misc.c
> @@ -136,17 +136,15 @@ void exfat_truncate_atime(struct timespec64 *ts)
>   ts->tv_nsec = 0;
>  }
> 
> -unsigned short exfat_calc_chksum_2byte(void *data, int len,
> - unsigned short chksum, int type)
> +u16 exfat_calc_chksum16(void *data, int len, u16 chksum,