Re: [PATCH v2 6/8] tmpfs: Add flag FS_CASEFOLD_FL support for tmpfs dirs

From: kernel test robot
Date: Tue Sep 03 2024 - 05:05:25 EST


Hi André,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on tytso-ext4/dev brauner-vfs/vfs.all linus/master v6.11-rc6 next-20240903]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Andr-Almeida/unicode-Fix-utf8_load-error-path/20240903-070149
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20240902225511.757831-7-andrealmeid%40igalia.com
patch subject: [PATCH v2 6/8] tmpfs: Add flag FS_CASEFOLD_FL support for tmpfs dirs
config: i386-buildonly-randconfig-005-20240903 (https://download.01.org/0day-ci/archive/20240903/202409031620.BOshMDgn-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240903/202409031620.BOshMDgn-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409031620.BOshMDgn-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> mm/shmem.c:2771:12: error: no member named 's_encoding' in 'struct super_block'
2771 | if (!sb->s_encoding)
| ~~ ^
1 error generated.


vim +2771 mm/shmem.c

2760
2761 /*
2762 * chattr's fsflags are unrelated to extended attributes,
2763 * but tmpfs has chosen to enable them under the same config option.
2764 */
2765 static int shmem_set_inode_flags(struct inode *inode, unsigned int fsflags, struct dentry *dentry)
2766 {
2767 unsigned int i_flags = 0, old = inode->i_flags;
2768 struct super_block *sb = inode->i_sb;
2769
2770 if (fsflags & FS_CASEFOLD_FL) {
> 2771 if (!sb->s_encoding)
2772 return -EOPNOTSUPP;
2773
2774 if (!S_ISDIR(inode->i_mode))
2775 return -ENOTDIR;
2776
2777 if (dentry && !simple_empty(dentry))
2778 return -ENOTEMPTY;
2779
2780 i_flags |= S_CASEFOLD;
2781 } else if (old & S_CASEFOLD) {
2782 if (dentry && !simple_empty(dentry))
2783 return -ENOTEMPTY;
2784 }
2785
2786 if (fsflags & FS_NOATIME_FL)
2787 i_flags |= S_NOATIME;
2788 if (fsflags & FS_APPEND_FL)
2789 i_flags |= S_APPEND;
2790 if (fsflags & FS_IMMUTABLE_FL)
2791 i_flags |= S_IMMUTABLE;
2792 /*
2793 * But FS_NODUMP_FL does not require any action in i_flags.
2794 */
2795 inode_set_flags(inode, i_flags, S_NOATIME | S_APPEND | S_IMMUTABLE | S_CASEFOLD);
2796
2797 return 0;
2798 }
2799 #else
2800 static void shmem_set_inode_flags(struct inode *inode, unsigned int fsflags, struct dentry *dentry)
2801 {
2802 }
2803 #define shmem_initxattrs NULL
2804 #endif
2805

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki