linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] Various exfat fixes
@ 2019-10-09 13:31 philipp.ammann
  2019-10-09 13:31 ` [PATCH 1/6] Return a valid count in count_used_clusters() philipp.ammann
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: philipp.ammann @ 2019-10-09 13:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Philipp Ammann

From: Philipp Ammann <philipp.ammann@posteo.de>

These patches are not mine; they are pulled from Github:

  https://github.com/dorimanx/exfat-nofuse/pull/124

Supposedly they're from Samsung.

I've been running them on 4.19 for about over a year without issues.

I know the commit messages are not exactly stellar. Please excuse my
not improving them, but I'm no filesystem guy.

Cheers
  Philipp

Andreas Schneider (6):
  Return a valid count in count_used_clusters()
  Add missing fs_error() in sector functions
  Check that the new path while moving a file is not too long
  Add the exfat version to the module info
  Sync blocks on remount
  Add device ejected to mount options

 drivers/staging/exfat/exfat_core.c  | 19 +++++++++++++++----
 drivers/staging/exfat/exfat_super.c |  9 +++++++++
 2 files changed, 24 insertions(+), 4 deletions(-)

-- 
2.21.0


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

* [PATCH 1/6] Return a valid count in count_used_clusters()
  2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
@ 2019-10-09 13:31 ` philipp.ammann
  2019-10-09 13:31 ` [PATCH 2/6] Add missing fs_error() in sector functions philipp.ammann
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: philipp.ammann @ 2019-10-09 13:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Andreas Schneider

From: Andreas Schneider <asn@cryptomilk.org>

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
---
 drivers/staging/exfat/exfat_core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/exfat/exfat_core.c b/drivers/staging/exfat/exfat_core.c
index b3e9cf725cf5..eef9e2726b6b 100644
--- a/drivers/staging/exfat/exfat_core.c
+++ b/drivers/staging/exfat/exfat_core.c
@@ -482,6 +482,9 @@ s32 exfat_count_used_clusters(struct super_block *sb)
 		}
 	}
 
+	if ((p_fs->num_clusters - 2) < (s32)count)
+		count = p_fs->num_clusters - 2;
+
 	return count;
 }
 
-- 
2.21.0


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

* [PATCH 2/6] Add missing fs_error() in sector functions
  2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
  2019-10-09 13:31 ` [PATCH 1/6] Return a valid count in count_used_clusters() philipp.ammann
@ 2019-10-09 13:31 ` philipp.ammann
  2019-10-09 13:31 ` [PATCH 3/6] Check that the new path while moving a file is not too long philipp.ammann
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: philipp.ammann @ 2019-10-09 13:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Andreas Schneider

From: Andreas Schneider <asn@cryptomilk.org>

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
---
 drivers/staging/exfat/exfat_core.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/exfat/exfat_core.c b/drivers/staging/exfat/exfat_core.c
index eef9e2726b6b..043091565578 100644
--- a/drivers/staging/exfat/exfat_core.c
+++ b/drivers/staging/exfat/exfat_core.c
@@ -3616,8 +3616,10 @@ int sector_read(struct super_block *sb, sector_t sec, struct buffer_head **bh,
 
 	if (!p_fs->dev_ejected) {
 		ret = bdev_read(sb, sec, bh, 1, read);
-		if (ret != FFS_SUCCESS)
+		if (ret != FFS_SUCCESS) {
+			fs_error(sb);
 			p_fs->dev_ejected = 1;
+		}
 	}
 
 	return ret;
@@ -3645,8 +3647,10 @@ int sector_write(struct super_block *sb, sector_t sec, struct buffer_head *bh,
 
 	if (!p_fs->dev_ejected) {
 		ret = bdev_write(sb, sec, bh, 1, sync);
-		if (ret != FFS_SUCCESS)
+		if (ret != FFS_SUCCESS) {
+			fs_error(sb);
 			p_fs->dev_ejected = 1;
+		}
 	}
 
 	return ret;
@@ -3668,8 +3672,10 @@ int multi_sector_read(struct super_block *sb, sector_t sec,
 
 	if (!p_fs->dev_ejected) {
 		ret = bdev_read(sb, sec, bh, num_secs, read);
-		if (ret != FFS_SUCCESS)
+		if (ret != FFS_SUCCESS) {
+			fs_error(sb);
 			p_fs->dev_ejected = 1;
+		}
 	}
 
 	return ret;
@@ -3696,8 +3702,10 @@ int multi_sector_write(struct super_block *sb, sector_t sec,
 
 	if (!p_fs->dev_ejected) {
 		ret = bdev_write(sb, sec, bh, num_secs, sync);
-		if (ret != FFS_SUCCESS)
+		if (ret != FFS_SUCCESS) {
+			fs_error(sb);
 			p_fs->dev_ejected = 1;
+		}
 	}
 
 	return ret;
-- 
2.21.0


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

* [PATCH 3/6] Check that the new path while moving a file is not too long
  2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
  2019-10-09 13:31 ` [PATCH 1/6] Return a valid count in count_used_clusters() philipp.ammann
  2019-10-09 13:31 ` [PATCH 2/6] Add missing fs_error() in sector functions philipp.ammann
@ 2019-10-09 13:31 ` philipp.ammann
  2019-10-09 15:25   ` Gao Xiang
  2019-10-09 13:31 ` [PATCH 4/6] Add the exfat version to the module info philipp.ammann
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: philipp.ammann @ 2019-10-09 13:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Andreas Schneider

From: Andreas Schneider <asn@cryptomilk.org>

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
---
 drivers/staging/exfat/exfat_super.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/exfat/exfat_super.c b/drivers/staging/exfat/exfat_super.c
index 5f6caee819a6..b63186a67af6 100644
--- a/drivers/staging/exfat/exfat_super.c
+++ b/drivers/staging/exfat/exfat_super.c
@@ -1300,6 +1300,9 @@ static int ffsMoveFile(struct inode *old_parent_inode, struct file_id_t *fid,
 	}
 
 	/* check the validity of directory name in the given new pathname */
+	if (strlen(new_path) >= MAX_NAME_LENGTH)
+		return FFS_NAMETOOLONG;
+
 	ret = resolve_path(new_parent_inode, new_path, &newdir, &uni_name);
 	if (ret)
 		goto out2;
-- 
2.21.0


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

* [PATCH 4/6] Add the exfat version to the module info
  2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
                   ` (2 preceding siblings ...)
  2019-10-09 13:31 ` [PATCH 3/6] Check that the new path while moving a file is not too long philipp.ammann
@ 2019-10-09 13:31 ` philipp.ammann
  2019-10-09 13:31 ` [PATCH 5/6] Sync blocks on remount philipp.ammann
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: philipp.ammann @ 2019-10-09 13:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Andreas Schneider

From: Andreas Schneider <asn@cryptomilk.org>

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
---
 drivers/staging/exfat/exfat_super.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/exfat/exfat_super.c b/drivers/staging/exfat/exfat_super.c
index b63186a67af6..29fb5e88fe5f 100644
--- a/drivers/staging/exfat/exfat_super.c
+++ b/drivers/staging/exfat/exfat_super.c
@@ -4049,4 +4049,5 @@ module_exit(exit_exfat);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("exFAT Filesystem Driver");
+MODULE_VERSION(EXFAT_VERSION);
 MODULE_ALIAS_FS("exfat");
-- 
2.21.0


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

* [PATCH 5/6] Sync blocks on remount
  2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
                   ` (3 preceding siblings ...)
  2019-10-09 13:31 ` [PATCH 4/6] Add the exfat version to the module info philipp.ammann
@ 2019-10-09 13:31 ` philipp.ammann
  2019-10-09 13:31 ` [PATCH 6/6] Add device ejected to mount options philipp.ammann
  2019-10-09 17:36 ` [PATCH 0/6] Various exfat fixes Nikolay Borisov
  6 siblings, 0 replies; 13+ messages in thread
From: philipp.ammann @ 2019-10-09 13:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Andreas Schneider

From: Andreas Schneider <asn@cryptomilk.org>

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
---
 drivers/staging/exfat/exfat_super.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/staging/exfat/exfat_super.c b/drivers/staging/exfat/exfat_super.c
index 29fb5e88fe5f..e8e481a5ddc9 100644
--- a/drivers/staging/exfat/exfat_super.c
+++ b/drivers/staging/exfat/exfat_super.c
@@ -3532,6 +3532,8 @@ static int exfat_statfs(struct dentry *dentry, struct kstatfs *buf)
 static int exfat_remount(struct super_block *sb, int *flags, char *data)
 {
 	*flags |= SB_NODIRATIME;
+	sync_filesystem(sb);
+
 	return 0;
 }
 
-- 
2.21.0


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

* [PATCH 6/6] Add device ejected to mount options
  2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
                   ` (4 preceding siblings ...)
  2019-10-09 13:31 ` [PATCH 5/6] Sync blocks on remount philipp.ammann
@ 2019-10-09 13:31 ` philipp.ammann
  2019-10-10  3:26   ` kbuild test robot
  2019-10-10  3:44   ` kbuild test robot
  2019-10-09 17:36 ` [PATCH 0/6] Various exfat fixes Nikolay Borisov
  6 siblings, 2 replies; 13+ messages in thread
From: philipp.ammann @ 2019-10-09 13:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Andreas Schneider

From: Andreas Schneider <asn@cryptomilk.org>

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
---
 drivers/staging/exfat/exfat_super.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/exfat/exfat_super.c b/drivers/staging/exfat/exfat_super.c
index e8e481a5ddc9..d97616351159 100644
--- a/drivers/staging/exfat/exfat_super.c
+++ b/drivers/staging/exfat/exfat_super.c
@@ -3541,6 +3541,7 @@ static int exfat_show_options(struct seq_file *m, struct dentry *root)
 {
 	struct exfat_sb_info *sbi = EXFAT_SB(root->d_sb);
 	struct exfat_mount_options *opts = &sbi->options;
+	FS_INFO_T *p_fs = &(sbi->fs_info);
 
 	if (__kuid_val(opts->fs_uid))
 		seq_printf(m, ",uid=%u", __kuid_val(opts->fs_uid));
@@ -3565,6 +3566,8 @@ static int exfat_show_options(struct seq_file *m, struct dentry *root)
 	if (opts->discard)
 		seq_puts(m, ",discard");
 #endif
+	if (p_fs->dev_ejected)
+		seq_puts(m, ",ejected");
 	return 0;
 }
 
-- 
2.21.0


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

* Re: [PATCH 3/6] Check that the new path while moving a file is not too long
  2019-10-09 13:31 ` [PATCH 3/6] Check that the new path while moving a file is not too long philipp.ammann
@ 2019-10-09 15:25   ` Gao Xiang
  2019-10-09 17:45     ` Philipp Ammann
  0 siblings, 1 reply; 13+ messages in thread
From: Gao Xiang @ 2019-10-09 15:25 UTC (permalink / raw)
  To: philipp.ammann; +Cc: linux-fsdevel, Andreas Schneider, Valdis Kletnieks

On Wed, Oct 09, 2019 at 03:31:54PM +0200, philipp.ammann@posteo.de wrote:
> From: Andreas Schneider <asn@cryptomilk.org>

[no subject prefix, and maybe use scripts/get_maintainer.pl... ]

> 
> Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
> ---
>  drivers/staging/exfat/exfat_super.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/staging/exfat/exfat_super.c b/drivers/staging/exfat/exfat_super.c
> index 5f6caee819a6..b63186a67af6 100644
> --- a/drivers/staging/exfat/exfat_super.c
> +++ b/drivers/staging/exfat/exfat_super.c
> @@ -1300,6 +1300,9 @@ static int ffsMoveFile(struct inode *old_parent_inode, struct file_id_t *fid,
>  	}
>  
>  	/* check the validity of directory name in the given new pathname */
> +	if (strlen(new_path) >= MAX_NAME_LENGTH)
> +		return FFS_NAMETOOLONG;
> +

odd here, AFAIK, namelen should be checked in ->lookup()
for many filesystems (why such dentries exist?) and
the length can be also gotten by dentry->d_name.len
(it's also stable here).

Maybe sort out what original problem here is better and
not blindly get patches from random github repos...

Thanks,
Gao Xiang

>  	ret = resolve_path(new_parent_inode, new_path, &newdir, &uni_name);
>  	if (ret)
>  		goto out2;
> -- 
> 2.21.0
> 


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

* Re: [PATCH 0/6] Various exfat fixes
  2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
                   ` (5 preceding siblings ...)
  2019-10-09 13:31 ` [PATCH 6/6] Add device ejected to mount options philipp.ammann
@ 2019-10-09 17:36 ` Nikolay Borisov
  2019-10-09 17:38   ` Philipp Ammann
  6 siblings, 1 reply; 13+ messages in thread
From: Nikolay Borisov @ 2019-10-09 17:36 UTC (permalink / raw)
  To: philipp.ammann, linux-fsdevel



On 9.10.19 г. 16:31 ч., philipp.ammann@posteo.de wrote:
> From: Philipp Ammann <philipp.ammann@posteo.de>
> 
> These patches are not mine; they are pulled from Github:
> 
>   https://github.com/dorimanx/exfat-nofuse/pull/124
> 
> Supposedly they're from Samsung.
> 
> I've been running them on 4.19 for about over a year without issues.
> 
> I know the commit messages are not exactly stellar. Please excuse my
> not improving them, but I'm no filesystem guy.
> 
> Cheers
>   Philipp
> 
> Andreas Schneider (6):
>   Return a valid count in count_used_clusters()
>   Add missing fs_error() in sector functions
>   Check that the new path while moving a file is not too long
>   Add the exfat version to the module info
>   Sync blocks on remount
>   Add device ejected to mount options
> 
>  drivers/staging/exfat/exfat_core.c  | 19 +++++++++++++++----
>  drivers/staging/exfat/exfat_super.c |  9 +++++++++
>  2 files changed, 24 insertions(+), 4 deletions(-)
> 


From the same pull :

"
No, please use kernel-sdfat. It shouldn't be very hard to get it working
on 4.18. exfat-nofuse has a lot of issues, don't use it.
"

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

* Re: [PATCH 0/6] Various exfat fixes
  2019-10-09 17:36 ` [PATCH 0/6] Various exfat fixes Nikolay Borisov
@ 2019-10-09 17:38   ` Philipp Ammann
  0 siblings, 0 replies; 13+ messages in thread
From: Philipp Ammann @ 2019-10-09 17:38 UTC (permalink / raw)
  To: Nikolay Borisov, linux-fsdevel

Am 09.10.19 um 19:36 schrieb Nikolay Borisov:
>  From the same pull :
> 
> "
> No, please use kernel-sdfat. It shouldn't be very hard to get it working
> on 4.18. exfat-nofuse has a lot of issues, don't use it.
> "
> 

...which is this discussion here: https://lkml.org/lkml/2019/9/15/135
The version in mainline is exfat, not sdfat.

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

* Re: [PATCH 3/6] Check that the new path while moving a file is not too long
  2019-10-09 15:25   ` Gao Xiang
@ 2019-10-09 17:45     ` Philipp Ammann
  0 siblings, 0 replies; 13+ messages in thread
From: Philipp Ammann @ 2019-10-09 17:45 UTC (permalink / raw)
  To: Gao Xiang; +Cc: linux-fsdevel, Valdis Kletnieks

Am 09.10.19 um 17:25 schrieb Gao Xiang:
> Maybe sort out what original problem here is better and
> not blindly get patches from random github repos...

That's kinda hard to do given that Samsung doesn't provide a history of 
the code...and my lack of knowledge of FS drivers ;-)
I just posted Bugfixes that probably originated from Samsung and somehow 
haven't made it in the initial mainline exfat commit.

Do you know where the code originally came from?

Regards
Philipp

> 
> Thanks,
> Gao Xiang
> 
>>   	ret = resolve_path(new_parent_inode, new_path, &newdir, &uni_name);
>>   	if (ret)
>>   		goto out2;
>> -- 
>> 2.21.0
>>
> 

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

* Re: [PATCH 6/6] Add device ejected to mount options
  2019-10-09 13:31 ` [PATCH 6/6] Add device ejected to mount options philipp.ammann
@ 2019-10-10  3:26   ` kbuild test robot
  2019-10-10  3:44   ` kbuild test robot
  1 sibling, 0 replies; 13+ messages in thread
From: kbuild test robot @ 2019-10-10  3:26 UTC (permalink / raw)
  To: philipp.ammann; +Cc: kbuild-all, linux-fsdevel, Andreas Schneider

[-- Attachment #1: Type: text/plain, Size: 3197 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]
[cannot apply to v5.4-rc2 next-20191009]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/philipp-ammann-posteo-de/Various-exfat-fixes/20191010-101029
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/staging/exfat/exfat_super.c: In function 'exfat_show_options':
>> drivers/staging/exfat/exfat_super.c:3544:2: error: unknown type name 'FS_INFO_T'; did you mean 'FW_INFO'?
     FS_INFO_T *p_fs = &(sbi->fs_info);
     ^~~~~~~~~
     FW_INFO
>> drivers/staging/exfat/exfat_super.c:3544:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     FS_INFO_T *p_fs = &(sbi->fs_info);
                       ^
>> drivers/staging/exfat/exfat_super.c:3569:10: error: request for member 'dev_ejected' in something not a structure or union
     if (p_fs->dev_ejected)
             ^~
   cc1: some warnings being treated as errors

vim +3544 drivers/staging/exfat/exfat_super.c

  3539	
  3540	static int exfat_show_options(struct seq_file *m, struct dentry *root)
  3541	{
  3542		struct exfat_sb_info *sbi = EXFAT_SB(root->d_sb);
  3543		struct exfat_mount_options *opts = &sbi->options;
> 3544		FS_INFO_T *p_fs = &(sbi->fs_info);
  3545	
  3546		if (__kuid_val(opts->fs_uid))
  3547			seq_printf(m, ",uid=%u", __kuid_val(opts->fs_uid));
  3548		if (__kgid_val(opts->fs_gid))
  3549			seq_printf(m, ",gid=%u", __kgid_val(opts->fs_gid));
  3550		seq_printf(m, ",fmask=%04o", opts->fs_fmask);
  3551		seq_printf(m, ",dmask=%04o", opts->fs_dmask);
  3552		if (opts->allow_utime)
  3553			seq_printf(m, ",allow_utime=%04o", opts->allow_utime);
  3554		if (sbi->nls_disk)
  3555			seq_printf(m, ",codepage=%s", sbi->nls_disk->charset);
  3556		if (sbi->nls_io)
  3557			seq_printf(m, ",iocharset=%s", sbi->nls_io->charset);
  3558		seq_printf(m, ",namecase=%u", opts->casesensitive);
  3559		if (opts->errors == EXFAT_ERRORS_CONT)
  3560			seq_puts(m, ",errors=continue");
  3561		else if (opts->errors == EXFAT_ERRORS_PANIC)
  3562			seq_puts(m, ",errors=panic");
  3563		else
  3564			seq_puts(m, ",errors=remount-ro");
  3565	#ifdef CONFIG_EXFAT_DISCARD
  3566		if (opts->discard)
  3567			seq_puts(m, ",discard");
  3568	#endif
> 3569		if (p_fs->dev_ejected)
  3570			seq_puts(m, ",ejected");
  3571		return 0;
  3572	}
  3573	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 52238 bytes --]

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

* Re: [PATCH 6/6] Add device ejected to mount options
  2019-10-09 13:31 ` [PATCH 6/6] Add device ejected to mount options philipp.ammann
  2019-10-10  3:26   ` kbuild test robot
@ 2019-10-10  3:44   ` kbuild test robot
  1 sibling, 0 replies; 13+ messages in thread
From: kbuild test robot @ 2019-10-10  3:44 UTC (permalink / raw)
  To: philipp.ammann; +Cc: kbuild-all, linux-fsdevel, Andreas Schneider

[-- Attachment #1: Type: text/plain, Size: 3244 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]
[cannot apply to v5.4-rc2 next-20191009]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/philipp-ammann-posteo-de/Various-exfat-fixes/20191010-101029
config: nds32-allmodconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=nds32 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/staging//exfat/exfat_super.c: In function 'exfat_show_options':
   drivers/staging//exfat/exfat_super.c:3544:2: error: unknown type name 'FS_INFO_T'; did you mean 'FW_INFO'?
     FS_INFO_T *p_fs = &(sbi->fs_info);
     ^~~~~~~~~
     FW_INFO
>> drivers/staging//exfat/exfat_super.c:3544:20: error: initialization of 'int *' from incompatible pointer type 'struct fs_info_t *' [-Werror=incompatible-pointer-types]
     FS_INFO_T *p_fs = &(sbi->fs_info);
                       ^
   drivers/staging//exfat/exfat_super.c:3569:10: error: request for member 'dev_ejected' in something not a structure or union
     if (p_fs->dev_ejected)
             ^~
   cc1: some warnings being treated as errors

vim +3544 drivers/staging//exfat/exfat_super.c

  3539	
  3540	static int exfat_show_options(struct seq_file *m, struct dentry *root)
  3541	{
  3542		struct exfat_sb_info *sbi = EXFAT_SB(root->d_sb);
  3543		struct exfat_mount_options *opts = &sbi->options;
> 3544		FS_INFO_T *p_fs = &(sbi->fs_info);
  3545	
  3546		if (__kuid_val(opts->fs_uid))
  3547			seq_printf(m, ",uid=%u", __kuid_val(opts->fs_uid));
  3548		if (__kgid_val(opts->fs_gid))
  3549			seq_printf(m, ",gid=%u", __kgid_val(opts->fs_gid));
  3550		seq_printf(m, ",fmask=%04o", opts->fs_fmask);
  3551		seq_printf(m, ",dmask=%04o", opts->fs_dmask);
  3552		if (opts->allow_utime)
  3553			seq_printf(m, ",allow_utime=%04o", opts->allow_utime);
  3554		if (sbi->nls_disk)
  3555			seq_printf(m, ",codepage=%s", sbi->nls_disk->charset);
  3556		if (sbi->nls_io)
  3557			seq_printf(m, ",iocharset=%s", sbi->nls_io->charset);
  3558		seq_printf(m, ",namecase=%u", opts->casesensitive);
  3559		if (opts->errors == EXFAT_ERRORS_CONT)
  3560			seq_puts(m, ",errors=continue");
  3561		else if (opts->errors == EXFAT_ERRORS_PANIC)
  3562			seq_puts(m, ",errors=panic");
  3563		else
  3564			seq_puts(m, ",errors=remount-ro");
  3565	#ifdef CONFIG_EXFAT_DISCARD
  3566		if (opts->discard)
  3567			seq_puts(m, ",discard");
  3568	#endif
  3569		if (p_fs->dev_ejected)
  3570			seq_puts(m, ",ejected");
  3571		return 0;
  3572	}
  3573	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 53013 bytes --]

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

end of thread, other threads:[~2019-10-10  3:45 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-09 13:31 [PATCH 0/6] Various exfat fixes philipp.ammann
2019-10-09 13:31 ` [PATCH 1/6] Return a valid count in count_used_clusters() philipp.ammann
2019-10-09 13:31 ` [PATCH 2/6] Add missing fs_error() in sector functions philipp.ammann
2019-10-09 13:31 ` [PATCH 3/6] Check that the new path while moving a file is not too long philipp.ammann
2019-10-09 15:25   ` Gao Xiang
2019-10-09 17:45     ` Philipp Ammann
2019-10-09 13:31 ` [PATCH 4/6] Add the exfat version to the module info philipp.ammann
2019-10-09 13:31 ` [PATCH 5/6] Sync blocks on remount philipp.ammann
2019-10-09 13:31 ` [PATCH 6/6] Add device ejected to mount options philipp.ammann
2019-10-10  3:26   ` kbuild test robot
2019-10-10  3:44   ` kbuild test robot
2019-10-09 17:36 ` [PATCH 0/6] Various exfat fixes Nikolay Borisov
2019-10-09 17:38   ` Philipp Ammann

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).