All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v11 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile
Date: Sat, 31 Oct 2020 09:23:27 +0800	[thread overview]
Message-ID: <202010310907.5Rxaxtib-lkp@intel.com> (raw)
In-Reply-To: <20201030150239.3957156-10-almaz.alexandrovich@paragon-software.com>

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

Hi Konstantin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc1 next-20201030]
[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/Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201030-230756
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 07e0887302450a62f51dba72df6afb5fabb23d1c
config: h8300-randconfig-s031-20201030 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-68-g49c98aa3-dirty
        # https://github.com/0day-ci/linux/commit/7c34316b6c7f9af2046f8343d3b010c37340ef1d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201030-230756
        git checkout 7c34316b6c7f9af2046f8343d3b010c37340ef1d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300 

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


"sparse warnings: (new ones prefixed by >>)"
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64

vim +569 fs/ntfs3/frecord.c

cbd4257e6d85149 Konstantin Komarov 2020-10-30  532  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  533  /*
cbd4257e6d85149 Konstantin Komarov 2020-10-30  534   * random write access to sparsed or compressed file may result to
cbd4257e6d85149 Konstantin Komarov 2020-10-30  535   * not optimized packed runs.
cbd4257e6d85149 Konstantin Komarov 2020-10-30  536   * Here it is the place to optimize it
cbd4257e6d85149 Konstantin Komarov 2020-10-30  537   */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  538  static int ni_repack(struct ntfs_inode *ni)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  539  {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  540  	int err = 0;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  541  	struct ntfs_sb_info *sbi = ni->mi.sbi;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  542  	struct mft_inode *mi, *mi_p = NULL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  543  	struct ATTRIB *attr = NULL, *attr_p;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  544  	struct ATTR_LIST_ENTRY *le = NULL, *le_p;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  545  	CLST alloc = 0;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  546  	u8 cluster_bits = sbi->cluster_bits;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  547  	CLST svcn, evcn = 0, svcn_p, evcn_p, next_svcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  548  	u32 roff, rs = sbi->record_size;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  549  	struct runs_tree run;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  550  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  551  	run_init(&run);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  552  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  553  	while ((attr = ni_enum_attr_ex(ni, attr, &le))) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  554  		if (!attr->non_res)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  555  			continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  556  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  557  		if (ni_load_mi(ni, le, &mi)) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  558  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  559  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  560  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  561  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  562  		svcn = le64_to_cpu(attr->nres.svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  563  		if (svcn != le64_to_cpu(le->vcn)) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  564  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  565  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  566  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  567  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  568  		if (!svcn) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30 @569  			alloc = le32_to_cpu(attr->nres.alloc_size) >>
cbd4257e6d85149 Konstantin Komarov 2020-10-30  570  				cluster_bits;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  571  			mi_p = NULL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  572  		} else if (svcn != evcn + 1) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  573  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  574  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  575  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  576  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  577  		evcn = le64_to_cpu(attr->nres.evcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  578  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  579  		if (svcn > evcn + 1) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  580  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  581  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  582  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  583  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  584  		if (!mi_p) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  585  			/* do not try if too little free space */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  586  			if (le32_to_cpu(mi->mrec->used) + 8 >= rs)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  587  				continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  588  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  589  			/* do not try if last attribute segment */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  590  			if (evcn + 1 == alloc)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  591  				continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  592  			run_close(&run);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  593  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  594  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  595  		roff = le16_to_cpu(attr->nres.run_off);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  596  		err = run_unpack(&run, sbi, ni->mi.rno, svcn, evcn, svcn,
cbd4257e6d85149 Konstantin Komarov 2020-10-30  597  				 Add2Ptr(attr, roff),
cbd4257e6d85149 Konstantin Komarov 2020-10-30  598  				 le32_to_cpu(attr->size) - roff);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  599  		if (err < 0)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  600  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  601  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  602  		if (!mi_p) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  603  			mi_p = mi;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  604  			attr_p = attr;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  605  			svcn_p = svcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  606  			evcn_p = evcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  607  			le_p = le;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  608  			continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  609  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  610  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  611  		/*
cbd4257e6d85149 Konstantin Komarov 2020-10-30  612  		 * run contains data from two records: mi_p and mi
cbd4257e6d85149 Konstantin Komarov 2020-10-30  613  		 * try to pack in one
cbd4257e6d85149 Konstantin Komarov 2020-10-30  614  		 */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  615  		err = mi_pack_runs(mi_p, attr_p, &run, evcn + 1 - svcn_p);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  616  		if (err)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  617  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  618  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  619  		next_svcn = le64_to_cpu(attr_p->nres.evcn) + 1;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  620  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  621  		if (next_svcn >= evcn + 1) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  622  			/* we can remove this attribute segment */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  623  			al_remove_le(ni, le);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  624  			mi_remove_attr(mi, attr);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  625  			le = le_p;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  626  			continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  627  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  628  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  629  		attr->nres.svcn = le->vcn = cpu_to_le64(next_svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  630  		mi->dirty = true;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  631  		ni->attr_list.dirty = true;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  632  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  633  		if (evcn + 1 == alloc) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  634  			err = mi_pack_runs(mi, attr, &run,
cbd4257e6d85149 Konstantin Komarov 2020-10-30  635  					   evcn + 1 - next_svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  636  			if (err)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  637  				break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  638  			mi_p = NULL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  639  		} else {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  640  			mi_p = mi;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  641  			attr_p = attr;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  642  			svcn_p = next_svcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  643  			evcn_p = evcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  644  			le_p = le;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  645  			run_truncate_head(&run, next_svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  646  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  647  	}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  648  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  649  	if (err) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  650  		ntfs_inode_warn(&ni->vfs_inode, "there is a problem");
cbd4257e6d85149 Konstantin Komarov 2020-10-30  651  		ntfs_set_state(sbi, NTFS_DIRTY_ERROR);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  652  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  653  		/* Pack loaded but not packed runs */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  654  		if (mi_p)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  655  			mi_pack_runs(mi_p, attr_p, &run, evcn_p + 1 - svcn_p);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  656  	}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  657  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  658  	run_close(&run);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  659  	return err;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  660  }
cbd4257e6d85149 Konstantin Komarov 2020-10-30  661  

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

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	linux-fsdevel@vger.kernel.org
Cc: kbuild-all@lists.01.org, viro@zeniv.linux.org.uk,
	linux-kernel@vger.kernel.org, pali@kernel.org, dsterba@suse.cz,
	aaptel@suse.com, willy@infradead.org, rdunlap@infradead.org,
	joe@perches.com, mark@harmstone.com
Subject: Re: [PATCH v11 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile
Date: Sat, 31 Oct 2020 09:23:27 +0800	[thread overview]
Message-ID: <202010310907.5Rxaxtib-lkp@intel.com> (raw)
In-Reply-To: <20201030150239.3957156-10-almaz.alexandrovich@paragon-software.com>

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

Hi Konstantin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc1 next-20201030]
[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/Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201030-230756
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 07e0887302450a62f51dba72df6afb5fabb23d1c
config: h8300-randconfig-s031-20201030 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-68-g49c98aa3-dirty
        # https://github.com/0day-ci/linux/commit/7c34316b6c7f9af2046f8343d3b010c37340ef1d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201030-230756
        git checkout 7c34316b6c7f9af2046f8343d3b010c37340ef1d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300 

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


"sparse warnings: (new ones prefixed by >>)"
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast to restricted __le32
>> fs/ntfs3/frecord.c:569:33: sparse: sparse: cast from restricted __le64

vim +569 fs/ntfs3/frecord.c

cbd4257e6d85149 Konstantin Komarov 2020-10-30  532  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  533  /*
cbd4257e6d85149 Konstantin Komarov 2020-10-30  534   * random write access to sparsed or compressed file may result to
cbd4257e6d85149 Konstantin Komarov 2020-10-30  535   * not optimized packed runs.
cbd4257e6d85149 Konstantin Komarov 2020-10-30  536   * Here it is the place to optimize it
cbd4257e6d85149 Konstantin Komarov 2020-10-30  537   */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  538  static int ni_repack(struct ntfs_inode *ni)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  539  {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  540  	int err = 0;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  541  	struct ntfs_sb_info *sbi = ni->mi.sbi;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  542  	struct mft_inode *mi, *mi_p = NULL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  543  	struct ATTRIB *attr = NULL, *attr_p;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  544  	struct ATTR_LIST_ENTRY *le = NULL, *le_p;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  545  	CLST alloc = 0;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  546  	u8 cluster_bits = sbi->cluster_bits;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  547  	CLST svcn, evcn = 0, svcn_p, evcn_p, next_svcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  548  	u32 roff, rs = sbi->record_size;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  549  	struct runs_tree run;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  550  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  551  	run_init(&run);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  552  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  553  	while ((attr = ni_enum_attr_ex(ni, attr, &le))) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  554  		if (!attr->non_res)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  555  			continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  556  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  557  		if (ni_load_mi(ni, le, &mi)) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  558  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  559  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  560  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  561  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  562  		svcn = le64_to_cpu(attr->nres.svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  563  		if (svcn != le64_to_cpu(le->vcn)) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  564  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  565  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  566  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  567  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  568  		if (!svcn) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30 @569  			alloc = le32_to_cpu(attr->nres.alloc_size) >>
cbd4257e6d85149 Konstantin Komarov 2020-10-30  570  				cluster_bits;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  571  			mi_p = NULL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  572  		} else if (svcn != evcn + 1) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  573  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  574  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  575  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  576  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  577  		evcn = le64_to_cpu(attr->nres.evcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  578  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  579  		if (svcn > evcn + 1) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  580  			err = -EINVAL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  581  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  582  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  583  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  584  		if (!mi_p) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  585  			/* do not try if too little free space */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  586  			if (le32_to_cpu(mi->mrec->used) + 8 >= rs)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  587  				continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  588  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  589  			/* do not try if last attribute segment */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  590  			if (evcn + 1 == alloc)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  591  				continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  592  			run_close(&run);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  593  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  594  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  595  		roff = le16_to_cpu(attr->nres.run_off);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  596  		err = run_unpack(&run, sbi, ni->mi.rno, svcn, evcn, svcn,
cbd4257e6d85149 Konstantin Komarov 2020-10-30  597  				 Add2Ptr(attr, roff),
cbd4257e6d85149 Konstantin Komarov 2020-10-30  598  				 le32_to_cpu(attr->size) - roff);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  599  		if (err < 0)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  600  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  601  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  602  		if (!mi_p) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  603  			mi_p = mi;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  604  			attr_p = attr;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  605  			svcn_p = svcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  606  			evcn_p = evcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  607  			le_p = le;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  608  			continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  609  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  610  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  611  		/*
cbd4257e6d85149 Konstantin Komarov 2020-10-30  612  		 * run contains data from two records: mi_p and mi
cbd4257e6d85149 Konstantin Komarov 2020-10-30  613  		 * try to pack in one
cbd4257e6d85149 Konstantin Komarov 2020-10-30  614  		 */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  615  		err = mi_pack_runs(mi_p, attr_p, &run, evcn + 1 - svcn_p);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  616  		if (err)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  617  			break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  618  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  619  		next_svcn = le64_to_cpu(attr_p->nres.evcn) + 1;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  620  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  621  		if (next_svcn >= evcn + 1) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  622  			/* we can remove this attribute segment */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  623  			al_remove_le(ni, le);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  624  			mi_remove_attr(mi, attr);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  625  			le = le_p;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  626  			continue;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  627  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  628  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  629  		attr->nres.svcn = le->vcn = cpu_to_le64(next_svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  630  		mi->dirty = true;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  631  		ni->attr_list.dirty = true;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  632  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  633  		if (evcn + 1 == alloc) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  634  			err = mi_pack_runs(mi, attr, &run,
cbd4257e6d85149 Konstantin Komarov 2020-10-30  635  					   evcn + 1 - next_svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  636  			if (err)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  637  				break;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  638  			mi_p = NULL;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  639  		} else {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  640  			mi_p = mi;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  641  			attr_p = attr;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  642  			svcn_p = next_svcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  643  			evcn_p = evcn;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  644  			le_p = le;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  645  			run_truncate_head(&run, next_svcn);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  646  		}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  647  	}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  648  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  649  	if (err) {
cbd4257e6d85149 Konstantin Komarov 2020-10-30  650  		ntfs_inode_warn(&ni->vfs_inode, "there is a problem");
cbd4257e6d85149 Konstantin Komarov 2020-10-30  651  		ntfs_set_state(sbi, NTFS_DIRTY_ERROR);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  652  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  653  		/* Pack loaded but not packed runs */
cbd4257e6d85149 Konstantin Komarov 2020-10-30  654  		if (mi_p)
cbd4257e6d85149 Konstantin Komarov 2020-10-30  655  			mi_pack_runs(mi_p, attr_p, &run, evcn_p + 1 - svcn_p);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  656  	}
cbd4257e6d85149 Konstantin Komarov 2020-10-30  657  
cbd4257e6d85149 Konstantin Komarov 2020-10-30  658  	run_close(&run);
cbd4257e6d85149 Konstantin Komarov 2020-10-30  659  	return err;
cbd4257e6d85149 Konstantin Komarov 2020-10-30  660  }
cbd4257e6d85149 Konstantin Komarov 2020-10-30  661  

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

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

  reply	other threads:[~2020-10-31  1:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-30 15:02 [PATCH v11 00/10] NTFS read-write driver GPL implementation by Paragon Software Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 01/10] fs/ntfs3: Add headers and misc files Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 02/10] fs/ntfs3: Add initialization of super block Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 03/10] fs/ntfs3: Add bitmap Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 04/10] fs/ntfs3: Add file operations and implementation Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 05/10] fs/ntfs3: Add attrib operations Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 06/10] fs/ntfs3: Add compression Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 07/10] fs/ntfs3: Add NTFS journal Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 08/10] fs/ntfs3: Add Kconfig, Makefile and doc Konstantin Komarov
2020-10-30 15:02 ` [PATCH v11 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile Konstantin Komarov
2020-10-31  1:23   ` kernel test robot [this message]
2020-10-31  1:23     ` kernel test robot
2020-11-02  8:36   ` Dan Carpenter
2020-11-02  8:36     ` [kbuild] " Dan Carpenter
2020-11-02  8:36     ` Dan Carpenter
2020-11-03  3:06   ` kernel test robot
2020-11-03  3:06     ` kernel test robot
2020-10-30 15:02 ` [PATCH v11 10/10] fs/ntfs3: Add MAINTAINERS Konstantin Komarov
2020-10-30 15:24 ` [PATCH v11 00/10] NTFS read-write driver GPL implementation by Paragon Software Pali Rohár
2020-10-30 15:51   ` Konstantin Komarov
2020-10-30 16:24     ` Pali Rohár
2020-10-30 16:41 ` Pali Rohár
2020-10-31  8:51   ` Christoph Hellwig
2020-10-31  2:42 ` Eric Biggers
2020-10-31  2:48   ` Eric Biggers
  -- strict thread matches above, loose matches on Subject: below --
2020-11-02  8:00 [PATCH v11 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202010310907.5Rxaxtib-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.