All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [kdave-btrfs-devel:dev/raid-policy 77/85] fs/btrfs/inode.c:8052 btrfs_submit_direct() error: uninitialized symbol 'em'.
Date: Fri, 29 Jan 2021 00:44:31 +0800	[thread overview]
Message-ID: <202101290018.qq4ybZOP-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
TO: Michal Rostecki <mrostecki@suse.com>
CC: David Sterba <dsterba@suse.com>
CC: Filipe Manana <fdmanana@suse.com>

tree:   https://github.com/kdave/btrfs-devel.git dev/raid-policy
head:   92ab5dba1e9e01e617039e8450d1491b0806c31c
commit: ab97dc56044d4d8d346e6e294a73f8690d9d3d7b [77/85] btrfs: let callers of btrfs_get_io_geometry pass the em
:::::: branch date: 2 hours ago
:::::: commit date: 5 hours ago
config: i386-randconfig-m021-20210128 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

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

New smatch warnings:
fs/btrfs/inode.c:8052 btrfs_submit_direct() error: uninitialized symbol 'em'.

Old smatch warnings:
include/linux/fs.h:861 i_size_write() warn: statement has no effect 31

vim +/em +8052 fs/btrfs/inode.c

c36cac28cb94e5 Omar Sandoval     2020-04-16  7932  
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  7933  static blk_qc_t btrfs_submit_direct(struct inode *inode, struct iomap *iomap,
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  7934  		struct bio *dio_bio, loff_t file_offset)
e65e1535542931 Miao Xie          2010-11-22  7935  {
c36cac28cb94e5 Omar Sandoval     2020-04-16  7936  	const bool write = (bio_op(dio_bio) == REQ_OP_WRITE);
0b246afa62b0cf Jeff Mahoney      2016-06-22  7937  	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
769b4f2497bdb3 Omar Sandoval     2020-04-16  7938  	const bool raid56 = (btrfs_data_alloc_profile(fs_info) &
769b4f2497bdb3 Omar Sandoval     2020-04-16  7939  			     BTRFS_BLOCK_GROUP_RAID56_MASK);
c36cac28cb94e5 Omar Sandoval     2020-04-16  7940  	struct btrfs_dio_private *dip;
e65e1535542931 Miao Xie          2010-11-22  7941  	struct bio *bio;
c36cac28cb94e5 Omar Sandoval     2020-04-16  7942  	u64 start_sector;
1ae399382512b3 Josef Bacik       2011-04-06  7943  	int async_submit = 0;
725130bac5857a Liu Bo            2017-05-16  7944  	u64 submit_len;
725130bac5857a Liu Bo            2017-05-16  7945  	int clone_offset = 0;
725130bac5857a Liu Bo            2017-05-16  7946  	int clone_len;
ab97dc56044d4d Michal Rostecki   2021-01-27  7947  	u64 logical;
5f4dc8fc835bbb Chandan Rajendra  2016-01-21  7948  	int ret;
58efbc9f546330 Omar Sandoval     2017-08-22  7949  	blk_status_t status;
89b798ad1b42b1 Nikolay Borisov   2019-06-03  7950  	struct btrfs_io_geometry geom;
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  7951  	struct btrfs_dio_data *dio_data = iomap->private;
ab97dc56044d4d Michal Rostecki   2021-01-27  7952  	struct extent_map *em;
e65e1535542931 Miao Xie          2010-11-22  7953  
c36cac28cb94e5 Omar Sandoval     2020-04-16  7954  	dip = btrfs_create_dio_private(dio_bio, inode, file_offset);
c36cac28cb94e5 Omar Sandoval     2020-04-16  7955  	if (!dip) {
c36cac28cb94e5 Omar Sandoval     2020-04-16  7956  		if (!write) {
c36cac28cb94e5 Omar Sandoval     2020-04-16  7957  			unlock_extent(&BTRFS_I(inode)->io_tree, file_offset,
c36cac28cb94e5 Omar Sandoval     2020-04-16  7958  				file_offset + dio_bio->bi_iter.bi_size - 1);
c36cac28cb94e5 Omar Sandoval     2020-04-16  7959  		}
c36cac28cb94e5 Omar Sandoval     2020-04-16  7960  		dio_bio->bi_status = BLK_STS_RESOURCE;
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  7961  		bio_endio(dio_bio);
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  7962  		return BLK_QC_T_NONE;
c36cac28cb94e5 Omar Sandoval     2020-04-16  7963  	}
facc8a2247340a Miao Xie          2013-07-25  7964  
334c16d82cfe18 Josef Bacik       2020-10-16  7965  	if (!write) {
85879573fc8b06 Omar Sandoval     2020-04-16  7966  		/*
85879573fc8b06 Omar Sandoval     2020-04-16  7967  		 * Load the csums up front to reduce csum tree searches and
85879573fc8b06 Omar Sandoval     2020-04-16  7968  		 * contention when submitting bios.
334c16d82cfe18 Josef Bacik       2020-10-16  7969  		 *
334c16d82cfe18 Josef Bacik       2020-10-16  7970  		 * If we have csums disabled this will do nothing.
85879573fc8b06 Omar Sandoval     2020-04-16  7971  		 */
6275193ef19033 Qu Wenruo         2020-12-02  7972  		status = btrfs_lookup_bio_sums(inode, dio_bio, dip->csums);
85879573fc8b06 Omar Sandoval     2020-04-16  7973  		if (status != BLK_STS_OK)
85879573fc8b06 Omar Sandoval     2020-04-16  7974  			goto out_err;
02f57c7aedef1a Josef Bacik       2011-04-06  7975  	}
02f57c7aedef1a Josef Bacik       2011-04-06  7976  
769b4f2497bdb3 Omar Sandoval     2020-04-16  7977  	start_sector = dio_bio->bi_iter.bi_sector;
ab97dc56044d4d Michal Rostecki   2021-01-27  7978  	logical = start_sector << 9;
769b4f2497bdb3 Omar Sandoval     2020-04-16  7979  	submit_len = dio_bio->bi_iter.bi_size;
53b381b3abeb86 David Woodhouse   2013-01-29  7980  
3c91ee6964114b Arnd Bergmann     2017-05-18  7981  	do {
ab97dc56044d4d Michal Rostecki   2021-01-27  7982  		em = btrfs_get_chunk_map(fs_info, logical, submit_len);
ab97dc56044d4d Michal Rostecki   2021-01-27  7983  		if (IS_ERR(em)) {
ab97dc56044d4d Michal Rostecki   2021-01-27  7984  			status = errno_to_blk_status(PTR_ERR(em));
ab97dc56044d4d Michal Rostecki   2021-01-27  7985  			em = NULL;
ab97dc56044d4d Michal Rostecki   2021-01-27  7986  			goto out_err;
ab97dc56044d4d Michal Rostecki   2021-01-27  7987  		}
ab97dc56044d4d Michal Rostecki   2021-01-27  7988  		ret = btrfs_get_io_geometry(fs_info, em, btrfs_op(dio_bio),
ab97dc56044d4d Michal Rostecki   2021-01-27  7989  					    logical, submit_len, &geom);
769b4f2497bdb3 Omar Sandoval     2020-04-16  7990  		if (ret) {
769b4f2497bdb3 Omar Sandoval     2020-04-16  7991  			status = errno_to_blk_status(ret);
769b4f2497bdb3 Omar Sandoval     2020-04-16  7992  			goto out_err;
02f57c7aedef1a Josef Bacik       2011-04-06  7993  		}
89b798ad1b42b1 Nikolay Borisov   2019-06-03  7994  		ASSERT(geom.len <= INT_MAX);
769b4f2497bdb3 Omar Sandoval     2020-04-16  7995  
89b798ad1b42b1 Nikolay Borisov   2019-06-03  7996  		clone_len = min_t(int, submit_len, geom.len);
7a5c3c9be1059f Miao Xie          2014-06-17  7997  
725130bac5857a Liu Bo            2017-05-16  7998  		/*
725130bac5857a Liu Bo            2017-05-16  7999  		 * This will never fail as it's passing GPF_NOFS and
725130bac5857a Liu Bo            2017-05-16  8000  		 * the allocation is backed by btrfs_bioset.
725130bac5857a Liu Bo            2017-05-16  8001  		 */
769b4f2497bdb3 Omar Sandoval     2020-04-16  8002  		bio = btrfs_bio_clone_partial(dio_bio, clone_offset, clone_len);
02f57c7aedef1a Josef Bacik       2011-04-06  8003  		bio->bi_private = dip;
02f57c7aedef1a Josef Bacik       2011-04-06  8004  		bio->bi_end_io = btrfs_end_dio_bio;
c1dc08967f69c6 Miao Xie          2014-09-12  8005  		btrfs_io_bio(bio)->logical = file_offset;
02f57c7aedef1a Josef Bacik       2011-04-06  8006  
725130bac5857a Liu Bo            2017-05-16  8007  		ASSERT(submit_len >= clone_len);
725130bac5857a Liu Bo            2017-05-16  8008  		submit_len -= clone_len;
725130bac5857a Liu Bo            2017-05-16  8009  
e65e1535542931 Miao Xie          2010-11-22  8010  		/*
725130bac5857a Liu Bo            2017-05-16  8011  		 * Increase the count before we submit the bio so we know
725130bac5857a Liu Bo            2017-05-16  8012  		 * the end IO handler won't happen before we increase the
725130bac5857a Liu Bo            2017-05-16  8013  		 * count. Otherwise, the dip might get freed before we're
725130bac5857a Liu Bo            2017-05-16  8014  		 * done setting it up.
769b4f2497bdb3 Omar Sandoval     2020-04-16  8015  		 *
769b4f2497bdb3 Omar Sandoval     2020-04-16  8016  		 * We transfer the initial reference to the last bio, so we
769b4f2497bdb3 Omar Sandoval     2020-04-16  8017  		 * don't need to increment the reference count for the last one.
e65e1535542931 Miao Xie          2010-11-22  8018  		 */
769b4f2497bdb3 Omar Sandoval     2020-04-16  8019  		if (submit_len > 0) {
e3b318d14df7d6 Omar Sandoval     2020-04-16  8020  			refcount_inc(&dip->refs);
769b4f2497bdb3 Omar Sandoval     2020-04-16  8021  			/*
769b4f2497bdb3 Omar Sandoval     2020-04-16  8022  			 * If we are submitting more than one bio, submit them
769b4f2497bdb3 Omar Sandoval     2020-04-16  8023  			 * all asynchronously. The exception is RAID 5 or 6, as
769b4f2497bdb3 Omar Sandoval     2020-04-16  8024  			 * asynchronous checksums make it difficult to collect
769b4f2497bdb3 Omar Sandoval     2020-04-16  8025  			 * full stripe writes.
e65e1535542931 Miao Xie          2010-11-22  8026  			 */
769b4f2497bdb3 Omar Sandoval     2020-04-16  8027  			if (!raid56)
769b4f2497bdb3 Omar Sandoval     2020-04-16  8028  				async_submit = 1;
769b4f2497bdb3 Omar Sandoval     2020-04-16  8029  		}
725130bac5857a Liu Bo            2017-05-16  8030  
d0ee39349311ce David Sterba      2018-03-08  8031  		status = btrfs_submit_dio_bio(bio, inode, file_offset,
c329861da40623 Josef Bacik       2012-08-03  8032  						async_submit);
58efbc9f546330 Omar Sandoval     2017-08-22  8033  		if (status) {
e65e1535542931 Miao Xie          2010-11-22  8034  			bio_put(bio);
769b4f2497bdb3 Omar Sandoval     2020-04-16  8035  			if (submit_len > 0)
e3b318d14df7d6 Omar Sandoval     2020-04-16  8036  				refcount_dec(&dip->refs);
e65e1535542931 Miao Xie          2010-11-22  8037  			goto out_err;
e65e1535542931 Miao Xie          2010-11-22  8038  		}
e65e1535542931 Miao Xie          2010-11-22  8039  
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  8040  		dio_data->submitted += clone_len;
725130bac5857a Liu Bo            2017-05-16  8041  		clone_offset += clone_len;
725130bac5857a Liu Bo            2017-05-16  8042  		start_sector += clone_len >> 9;
725130bac5857a Liu Bo            2017-05-16  8043  		file_offset += clone_len;
ab97dc56044d4d Michal Rostecki   2021-01-27  8044  
ab97dc56044d4d Michal Rostecki   2021-01-27  8045  		free_extent_map(em);
3c91ee6964114b Arnd Bergmann     2017-05-18  8046  	} while (submit_len > 0);
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  8047  	return BLK_QC_T_NONE;
e65e1535542931 Miao Xie          2010-11-22  8048  
e65e1535542931 Miao Xie          2010-11-22  8049  out_err:
769b4f2497bdb3 Omar Sandoval     2020-04-16  8050  	dip->dio_bio->bi_status = status;
769b4f2497bdb3 Omar Sandoval     2020-04-16  8051  	btrfs_dio_private_put(dip);
ab97dc56044d4d Michal Rostecki   2021-01-27 @8052  	free_extent_map(em);
ab97dc56044d4d Michal Rostecki   2021-01-27  8053  
f85781fb505ec0 Goldwyn Rodrigues 2020-08-17  8054  	return BLK_QC_T_NONE;
4b46fce23349bf Josef Bacik       2010-05-23  8055  }
4b46fce23349bf Josef Bacik       2010-05-23  8056  

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

             reply	other threads:[~2021-01-28 16:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-28 16:44 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-01-28 18:48 [kdave-btrfs-devel:dev/raid-policy 77/85] fs/btrfs/inode.c:8052 btrfs_submit_direct() error: uninitialized symbol 'em' Dan Carpenter

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=202101290018.qq4ybZOP-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@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.