Hi Huang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on xiang-erofs/dev-test]
[cannot apply to v5.12-rc1 next-20210305]
[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]

url:    
https://github.com/0day-ci/linux/commits/Huang-Jianan/erofs-avoid-memory-allocation-failure-during-rolling-decompression/20210305-142329
base:   https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git dev-test
config: parisc-randconfig-r012-20210305 (attached as .config)
compiler: hppa64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 
https://github.com/0day-ci/linux/commit/ecb1173ba28392f322cbb4c9cb1a66524b10dd78
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Huang-Jianan/erofs-avoid-memory-allocation-failure-during-rolling-decompression/20210305-142329
        git checkout ecb1173ba28392f322cbb4c9cb1a66524b10dd78
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=parisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   fs/erofs/super.c: In function 'erofs_read_superblock':
>> fs/erofs/super.c:191:5: error: 'struct erofs_sb_info' has no member named 
>> 'sync_decompress'
     191 |  sbi->sync_decompress = false;
         |     ^~


vim +191 fs/erofs/super.c

   124  
   125  static int erofs_read_superblock(struct super_block *sb)
   126  {
   127          struct erofs_sb_info *sbi;
   128          struct page *page;
   129          struct erofs_super_block *dsb;
   130          unsigned int blkszbits;
   131          void *data;
   132          int ret;
   133  
   134          page = read_mapping_page(sb->s_bdev->bd_inode->i_mapping, 0, 
NULL);
   135          if (IS_ERR(page)) {
   136                  erofs_err(sb, "cannot read erofs superblock");
   137                  return PTR_ERR(page);
   138          }
   139  
   140          sbi = EROFS_SB(sb);
   141  
   142          data = kmap(page);
   143          dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET);
   144  
   145          ret = -EINVAL;
   146          if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) {
   147                  erofs_err(sb, "cannot find valid erofs superblock");
   148                  goto out;
   149          }
   150  
   151          sbi->feature_compat = le32_to_cpu(dsb->feature_compat);
   152          if (sbi->feature_compat & EROFS_FEATURE_COMPAT_SB_CHKSUM) {
   153                  ret = erofs_superblock_csum_verify(sb, data);
   154                  if (ret)
   155                          goto out;
   156          }
   157  
   158          blkszbits = dsb->blkszbits;
   159          /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
   160          if (blkszbits != LOG_BLOCK_SIZE) {
   161                  erofs_err(sb, "blkszbits %u isn't supported on this 
platform",
   162                            blkszbits);
   163                  goto out;
   164          }
   165  
   166          if (!check_layout_compatibility(sb, dsb))
   167                  goto out;
   168  
   169          sbi->blocks = le32_to_cpu(dsb->blocks);
   170          sbi->meta_blkaddr = le32_to_cpu(dsb->meta_blkaddr);
   171  #ifdef CONFIG_EROFS_FS_XATTR
   172          sbi->xattr_blkaddr = le32_to_cpu(dsb->xattr_blkaddr);
   173  #endif
   174          sbi->islotbits = ilog2(sizeof(struct erofs_inode_compact));
   175          sbi->root_nid = le16_to_cpu(dsb->root_nid);
   176          sbi->inos = le64_to_cpu(dsb->inos);
   177  
   178          sbi->build_time = le64_to_cpu(dsb->build_time);
   179          sbi->build_time_nsec = le32_to_cpu(dsb->build_time_nsec);
   180  
   181          memcpy(&sb->s_uuid, dsb->uuid, sizeof(dsb->uuid));
   182  
   183          ret = strscpy(sbi->volume_name, dsb->volume_name,
   184                        sizeof(dsb->volume_name));
   185          if (ret < 0) {  /* -E2BIG */
   186                  erofs_err(sb, "bad volume name without NIL terminator");
   187                  ret = -EFSCORRUPTED;
   188                  goto out;
   189          }
   190  
 > 191          sbi->sync_decompress = false;
   192          /* parse on-disk compression configurations */
   193          z_erofs_load_lz4_config(sbi, dsb);
   194          ret = 0;
   195  out:
   196          kunmap(page);
   197          put_page(page);
   198          return ret;
   199  }
   200  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to