lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 14 Sep 2018 08:39:10 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Eric Whitney <enwlinux@...il.com>
Cc:     kbuild-all@...org, linux-ext4@...r.kernel.org, tytso@....edu,
        Eric Whitney <enwlinux@...il.com>
Subject: Re: [PATCH v2 3/6] ext4: fix reserved cluster accounting at delayed
 write time

Hi Eric,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on ext4/dev]
[also build test ERROR on v4.19-rc3 next-20180913]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Eric-Whitney/ext4-rework-bigalloc-reserved-cluster-accounting/20180914-053634
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
config: x86_64-randconfig-s2-09140713 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the linux-review/Eric-Whitney/ext4-rework-bigalloc-reserved-cluster-accounting/20180914-053634 HEAD efc30d747afd91b3bd9eb7fd218d0d1f7613c5a0 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   fs//ext4/inode.c: In function 'ext4_insert_delayed_block':
>> fs//ext4/inode.c:1816:33: error: 'ext4_es_is_delonly' undeclared (first use in this function)
      if (!ext4_es_scan_clu(inode, &ext4_es_is_delonly, lblk)) {
                                    ^~~~~~~~~~~~~~~~~~
   fs//ext4/inode.c:1816:33: note: each undeclared identifier is reported only once for each function it appears in

vim +/ext4_es_is_delonly +1816 fs//ext4/inode.c

  1782	
  1783	/*
  1784	 * ext4_insert_delayed_block - adds a delayed block to the extents status
  1785	 *                             tree, incrementing the reserved cluster/block
  1786	 *                             count or making a pending reservation
  1787	 *                             where needed
  1788	 *
  1789	 * @inode - file containing the newly added block
  1790	 * @lblk - logical block to be added
  1791	 *
  1792	 * Returns 0 on success, negative error code on failure.
  1793	 */
  1794	static int ext4_insert_delayed_block(struct inode *inode, ext4_lblk_t lblk)
  1795	{
  1796		struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
  1797		int ret;
  1798		bool allocated = false;
  1799	
  1800		/*
  1801		 * If the cluster containing lblk is shared with a delayed,
  1802		 * written, or unwritten extent in a bigalloc file system, it's
  1803		 * already been accounted for and does not need to be reserved.
  1804		 * A pending reservation must be made for the cluster if it's
  1805		 * shared with a written or unwritten extent and doesn't already
  1806		 * have one.  Written and unwritten extents can be purged from the
  1807		 * extents status tree if the system is under memory pressure, so
  1808		 * it's necessary to examine the extent tree if a search of the
  1809		 * extents status tree doesn't get a match.
  1810		 */
  1811		if (sbi->s_cluster_ratio == 1) {
  1812			ret = ext4_da_reserve_space(inode);
  1813			if (ret != 0)   /* ENOSPC */
  1814				goto errout;
  1815		} else {   /* bigalloc */
> 1816			if (!ext4_es_scan_clu(inode, &ext4_es_is_delonly, lblk)) {
  1817				if (!ext4_es_scan_clu(inode,
  1818						      &ext4_es_is_mapped, lblk)) {
  1819					ret = ext4_clu_mapped(inode,
  1820							      EXT4_B2C(sbi, lblk));
  1821					if (ret < 0)
  1822						goto errout;
  1823					if (ret == 0) {
  1824						ret = ext4_da_reserve_space(inode);
  1825						if (ret != 0)   /* ENOSPC */
  1826							goto errout;
  1827					} else {
  1828						allocated = true;
  1829					}
  1830				} else {
  1831					allocated = true;
  1832				}
  1833			}
  1834		}
  1835	
  1836		ret = ext4_es_insert_delayed_block(inode, lblk, allocated);
  1837	
  1838	errout:
  1839		return ret;
  1840	}
  1841	

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

Download attachment ".config.gz" of type "application/gzip" (35437 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ