All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: fs/buffer.c:2342:1: warning: the frame size of 2056 bytes is larger than 2048 bytes
Date: Mon, 01 Feb 2021 01:43:27 +0800	[thread overview]
Message-ID: <202102010117.GDAd3nTC-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6642d600b541b81931fb1ab0c041b0d68f77be7e
commit: 0060ef3b4e6dd1410da164d48a595eadb2fb02f7 mm: support THPs in zero_user_segments
date:   7 weeks ago
config: powerpc64-randconfig-r026-20210131 (attached as .config)
compiler: powerpc-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0060ef3b4e6dd1410da164d48a595eadb2fb02f7
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 0060ef3b4e6dd1410da164d48a595eadb2fb02f7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc64 

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

All warnings (new ones prefixed by >>):

   fs/buffer.c: In function 'block_read_full_page':
>> fs/buffer.c:2342:1: warning: the frame size of 2056 bytes is larger than 2048 bytes [-Wframe-larger-than=]
    2342 | }
         | ^

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for NETDEVICES
   Depends on NET
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for PAGE_POOL
   Depends on NET
   Selected by
   - STMMAC_ETH && NETDEVICES && ETHERNET && NET_VENDOR_STMICRO && HAS_IOMEM && HAS_DMA
   Selected by
   - MVPP2 && NETDEVICES && ETHERNET && NET_VENDOR_MARVELL && (ARCH_MVEBU || COMPILE_TEST
   WARNING: unmet direct dependencies detected for NET_DEVLINK
   Depends on NET
   Selected by
   - ICE && NETDEVICES && ETHERNET && NET_VENDOR_INTEL && PCI_MSI
   WARNING: unmet direct dependencies detected for ETHERNET
   Depends on NETDEVICES && NET
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for PTP_1588_CLOCK_PCH
   Depends on (X86_32 || COMPILE_TEST && HAS_IOMEM && NET
   Selected by
   - PCH_GBE && NETDEVICES && ETHERNET && NET_VENDOR_OKI && PCI && (X86_32 || COMPILE_TEST
   WARNING: unmet direct dependencies detected for MMC_SDHCI
   Depends on MMC && HAS_DMA
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for MMC_SDHCI_PLTFM
   Depends on MMC && MMC_SDHCI
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for NET_PTP_CLASSIFY
   Depends on NET
   Selected by
   - PCH_GBE && NETDEVICES && ETHERNET && NET_VENDOR_OKI && PCI && (X86_32 || COMPILE_TEST
   WARNING: unmet direct dependencies detected for HOTPLUG_CPU
   Depends on SMP && (PPC_PSERIES || PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE
   Selected by
   - PM_SLEEP_SMP && SMP && (ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE && PM_SLEEP
   WARNING: unmet direct dependencies detected for GRO_CELLS
   Depends on NET
   Selected by
   - MACSEC && NETDEVICES && NET_CORE
   - RMNET && NETDEVICES && ETHERNET && NET_VENDOR_QUALCOMM
   WARNING: unmet direct dependencies detected for FAILOVER
   Depends on NET
   Selected by
   - NET_FAILOVER && NETDEVICES


vim +2342 fs/buffer.c

8ab22b9abb5c55 Hisashi Hifumi     2008-07-28  2251  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2252  /*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2253   * Generic "read page" function for block devices that have the normal
^1da177e4c3f41 Linus Torvalds     2005-04-16  2254   * get_block functionality. This is most of the block device filesystems.
^1da177e4c3f41 Linus Torvalds     2005-04-16  2255   * Reads the page asynchronously --- the unlock_buffer() and
^1da177e4c3f41 Linus Torvalds     2005-04-16  2256   * set/clear_buffer_uptodate() functions propagate buffer state into the
^1da177e4c3f41 Linus Torvalds     2005-04-16  2257   * page struct once IO has completed.
^1da177e4c3f41 Linus Torvalds     2005-04-16  2258   */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2259  int block_read_full_page(struct page *page, get_block_t *get_block)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2260  {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2261  	struct inode *inode = page->mapping->host;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2262  	sector_t iblock, lblock;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2263  	struct buffer_head *bh, *head, *arr[MAX_BUF_PER_PAGE];
45bce8f3e3436b Linus Torvalds     2012-11-29  2264  	unsigned int blocksize, bbits;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2265  	int nr, i;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2266  	int fully_mapped = 1;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2267  
45bce8f3e3436b Linus Torvalds     2012-11-29  2268  	head = create_page_buffers(page, inode, 0);
45bce8f3e3436b Linus Torvalds     2012-11-29  2269  	blocksize = head->b_size;
45bce8f3e3436b Linus Torvalds     2012-11-29  2270  	bbits = block_size_bits(blocksize);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2271  
09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01  2272  	iblock = (sector_t)page->index << (PAGE_SHIFT - bbits);
45bce8f3e3436b Linus Torvalds     2012-11-29  2273  	lblock = (i_size_read(inode)+blocksize-1) >> bbits;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2274  	bh = head;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2275  	nr = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2276  	i = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2277  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2278  	do {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2279  		if (buffer_uptodate(bh))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2280  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2281  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2282  		if (!buffer_mapped(bh)) {
c64610ba585fab Andrew Morton      2005-05-16  2283  			int err = 0;
c64610ba585fab Andrew Morton      2005-05-16  2284  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2285  			fully_mapped = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2286  			if (iblock < lblock) {
b0cf2321c65991 Badari Pulavarty   2006-03-26  2287  				WARN_ON(bh->b_size != blocksize);
c64610ba585fab Andrew Morton      2005-05-16  2288  				err = get_block(inode, iblock, bh, 0);
c64610ba585fab Andrew Morton      2005-05-16  2289  				if (err)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2290  					SetPageError(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2291  			}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2292  			if (!buffer_mapped(bh)) {
eebd2aa355692a Christoph Lameter  2008-02-04  2293  				zero_user(page, i * blocksize, blocksize);
c64610ba585fab Andrew Morton      2005-05-16  2294  				if (!err)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2295  					set_buffer_uptodate(bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2296  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2297  			}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2298  			/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2299  			 * get_block() might have updated the buffer
^1da177e4c3f41 Linus Torvalds     2005-04-16  2300  			 * synchronously
^1da177e4c3f41 Linus Torvalds     2005-04-16  2301  			 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2302  			if (buffer_uptodate(bh))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2303  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2304  		}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2305  		arr[nr++] = bh;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2306  	} while (i++, iblock++, (bh = bh->b_this_page) != head);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2307  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2308  	if (fully_mapped)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2309  		SetPageMappedToDisk(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2310  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2311  	if (!nr) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2312  		/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2313  		 * All buffers are uptodate - we can set the page uptodate
^1da177e4c3f41 Linus Torvalds     2005-04-16  2314  		 * as well. But not if get_block() returned an error.
^1da177e4c3f41 Linus Torvalds     2005-04-16  2315  		 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2316  		if (!PageError(page))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2317  			SetPageUptodate(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2318  		unlock_page(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2319  		return 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2320  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2321  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2322  	/* Stage two: lock the buffers */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2323  	for (i = 0; i < nr; i++) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2324  		bh = arr[i];
^1da177e4c3f41 Linus Torvalds     2005-04-16  2325  		lock_buffer(bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2326  		mark_buffer_async_read(bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2327  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2328  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2329  	/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2330  	 * Stage 3: start the IO.  Check for uptodateness
^1da177e4c3f41 Linus Torvalds     2005-04-16  2331  	 * inside the buffer lock in case another process reading
^1da177e4c3f41 Linus Torvalds     2005-04-16  2332  	 * the underlying blockdev brought it uptodate (the sct fix).
^1da177e4c3f41 Linus Torvalds     2005-04-16  2333  	 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2334  	for (i = 0; i < nr; i++) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2335  		bh = arr[i];
^1da177e4c3f41 Linus Torvalds     2005-04-16  2336  		if (buffer_uptodate(bh))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2337  			end_buffer_async_read(bh, 1);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2338  		else
2a222ca992c35a Mike Christie      2016-06-05  2339  			submit_bh(REQ_OP_READ, 0, bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2340  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2341  	return 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16 @2342  }
1fe72eaa0f46a0 H Hartley Sweeten  2009-09-22  2343  EXPORT_SYMBOL(block_read_full_page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2344  

:::::: The code@line 2342 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
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: 36272 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: fs/buffer.c:2342:1: warning: the frame size of 2056 bytes is larger than 2048 bytes
Date: Mon, 1 Feb 2021 01:43:27 +0800	[thread overview]
Message-ID: <202102010117.GDAd3nTC-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6642d600b541b81931fb1ab0c041b0d68f77be7e
commit: 0060ef3b4e6dd1410da164d48a595eadb2fb02f7 mm: support THPs in zero_user_segments
date:   7 weeks ago
config: powerpc64-randconfig-r026-20210131 (attached as .config)
compiler: powerpc-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0060ef3b4e6dd1410da164d48a595eadb2fb02f7
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 0060ef3b4e6dd1410da164d48a595eadb2fb02f7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc64 

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

All warnings (new ones prefixed by >>):

   fs/buffer.c: In function 'block_read_full_page':
>> fs/buffer.c:2342:1: warning: the frame size of 2056 bytes is larger than 2048 bytes [-Wframe-larger-than=]
    2342 | }
         | ^

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for NETDEVICES
   Depends on NET
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for PAGE_POOL
   Depends on NET
   Selected by
   - STMMAC_ETH && NETDEVICES && ETHERNET && NET_VENDOR_STMICRO && HAS_IOMEM && HAS_DMA
   Selected by
   - MVPP2 && NETDEVICES && ETHERNET && NET_VENDOR_MARVELL && (ARCH_MVEBU || COMPILE_TEST
   WARNING: unmet direct dependencies detected for NET_DEVLINK
   Depends on NET
   Selected by
   - ICE && NETDEVICES && ETHERNET && NET_VENDOR_INTEL && PCI_MSI
   WARNING: unmet direct dependencies detected for ETHERNET
   Depends on NETDEVICES && NET
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for PTP_1588_CLOCK_PCH
   Depends on (X86_32 || COMPILE_TEST && HAS_IOMEM && NET
   Selected by
   - PCH_GBE && NETDEVICES && ETHERNET && NET_VENDOR_OKI && PCI && (X86_32 || COMPILE_TEST
   WARNING: unmet direct dependencies detected for MMC_SDHCI
   Depends on MMC && HAS_DMA
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for MMC_SDHCI_PLTFM
   Depends on MMC && MMC_SDHCI
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for NET_PTP_CLASSIFY
   Depends on NET
   Selected by
   - PCH_GBE && NETDEVICES && ETHERNET && NET_VENDOR_OKI && PCI && (X86_32 || COMPILE_TEST
   WARNING: unmet direct dependencies detected for HOTPLUG_CPU
   Depends on SMP && (PPC_PSERIES || PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE
   Selected by
   - PM_SLEEP_SMP && SMP && (ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE && PM_SLEEP
   WARNING: unmet direct dependencies detected for GRO_CELLS
   Depends on NET
   Selected by
   - MACSEC && NETDEVICES && NET_CORE
   - RMNET && NETDEVICES && ETHERNET && NET_VENDOR_QUALCOMM
   WARNING: unmet direct dependencies detected for FAILOVER
   Depends on NET
   Selected by
   - NET_FAILOVER && NETDEVICES


vim +2342 fs/buffer.c

8ab22b9abb5c55 Hisashi Hifumi     2008-07-28  2251  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2252  /*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2253   * Generic "read page" function for block devices that have the normal
^1da177e4c3f41 Linus Torvalds     2005-04-16  2254   * get_block functionality. This is most of the block device filesystems.
^1da177e4c3f41 Linus Torvalds     2005-04-16  2255   * Reads the page asynchronously --- the unlock_buffer() and
^1da177e4c3f41 Linus Torvalds     2005-04-16  2256   * set/clear_buffer_uptodate() functions propagate buffer state into the
^1da177e4c3f41 Linus Torvalds     2005-04-16  2257   * page struct once IO has completed.
^1da177e4c3f41 Linus Torvalds     2005-04-16  2258   */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2259  int block_read_full_page(struct page *page, get_block_t *get_block)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2260  {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2261  	struct inode *inode = page->mapping->host;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2262  	sector_t iblock, lblock;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2263  	struct buffer_head *bh, *head, *arr[MAX_BUF_PER_PAGE];
45bce8f3e3436b Linus Torvalds     2012-11-29  2264  	unsigned int blocksize, bbits;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2265  	int nr, i;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2266  	int fully_mapped = 1;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2267  
45bce8f3e3436b Linus Torvalds     2012-11-29  2268  	head = create_page_buffers(page, inode, 0);
45bce8f3e3436b Linus Torvalds     2012-11-29  2269  	blocksize = head->b_size;
45bce8f3e3436b Linus Torvalds     2012-11-29  2270  	bbits = block_size_bits(blocksize);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2271  
09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01  2272  	iblock = (sector_t)page->index << (PAGE_SHIFT - bbits);
45bce8f3e3436b Linus Torvalds     2012-11-29  2273  	lblock = (i_size_read(inode)+blocksize-1) >> bbits;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2274  	bh = head;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2275  	nr = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2276  	i = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2277  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2278  	do {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2279  		if (buffer_uptodate(bh))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2280  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2281  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2282  		if (!buffer_mapped(bh)) {
c64610ba585fab Andrew Morton      2005-05-16  2283  			int err = 0;
c64610ba585fab Andrew Morton      2005-05-16  2284  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2285  			fully_mapped = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2286  			if (iblock < lblock) {
b0cf2321c65991 Badari Pulavarty   2006-03-26  2287  				WARN_ON(bh->b_size != blocksize);
c64610ba585fab Andrew Morton      2005-05-16  2288  				err = get_block(inode, iblock, bh, 0);
c64610ba585fab Andrew Morton      2005-05-16  2289  				if (err)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2290  					SetPageError(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2291  			}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2292  			if (!buffer_mapped(bh)) {
eebd2aa355692a Christoph Lameter  2008-02-04  2293  				zero_user(page, i * blocksize, blocksize);
c64610ba585fab Andrew Morton      2005-05-16  2294  				if (!err)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2295  					set_buffer_uptodate(bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2296  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2297  			}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2298  			/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2299  			 * get_block() might have updated the buffer
^1da177e4c3f41 Linus Torvalds     2005-04-16  2300  			 * synchronously
^1da177e4c3f41 Linus Torvalds     2005-04-16  2301  			 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2302  			if (buffer_uptodate(bh))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2303  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2304  		}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2305  		arr[nr++] = bh;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2306  	} while (i++, iblock++, (bh = bh->b_this_page) != head);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2307  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2308  	if (fully_mapped)
^1da177e4c3f41 Linus Torvalds     2005-04-16  2309  		SetPageMappedToDisk(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2310  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2311  	if (!nr) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2312  		/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2313  		 * All buffers are uptodate - we can set the page uptodate
^1da177e4c3f41 Linus Torvalds     2005-04-16  2314  		 * as well. But not if get_block() returned an error.
^1da177e4c3f41 Linus Torvalds     2005-04-16  2315  		 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2316  		if (!PageError(page))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2317  			SetPageUptodate(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2318  		unlock_page(page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2319  		return 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  2320  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2321  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2322  	/* Stage two: lock the buffers */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2323  	for (i = 0; i < nr; i++) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2324  		bh = arr[i];
^1da177e4c3f41 Linus Torvalds     2005-04-16  2325  		lock_buffer(bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2326  		mark_buffer_async_read(bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2327  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2328  
^1da177e4c3f41 Linus Torvalds     2005-04-16  2329  	/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  2330  	 * Stage 3: start the IO.  Check for uptodateness
^1da177e4c3f41 Linus Torvalds     2005-04-16  2331  	 * inside the buffer lock in case another process reading
^1da177e4c3f41 Linus Torvalds     2005-04-16  2332  	 * the underlying blockdev brought it uptodate (the sct fix).
^1da177e4c3f41 Linus Torvalds     2005-04-16  2333  	 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  2334  	for (i = 0; i < nr; i++) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  2335  		bh = arr[i];
^1da177e4c3f41 Linus Torvalds     2005-04-16  2336  		if (buffer_uptodate(bh))
^1da177e4c3f41 Linus Torvalds     2005-04-16  2337  			end_buffer_async_read(bh, 1);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2338  		else
2a222ca992c35a Mike Christie      2016-06-05  2339  			submit_bh(REQ_OP_READ, 0, bh);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2340  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  2341  	return 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16 @2342  }
1fe72eaa0f46a0 H Hartley Sweeten  2009-09-22  2343  EXPORT_SYMBOL(block_read_full_page);
^1da177e4c3f41 Linus Torvalds     2005-04-16  2344  

:::::: The code at line 2342 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
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: 36272 bytes --]

             reply	other threads:[~2021-01-31 17:43 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-31 17:43 kernel test robot [this message]
2021-01-31 17:43 ` fs/buffer.c:2342:1: warning: the frame size of 2056 bytes is larger than 2048 bytes 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=202102010117.GDAd3nTC-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.