All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 07/21] btrfs: zoned: move btrfs_finish_block_group_to_copy to zoned code
@ 2021-11-26  2:38 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-11-26  2:38 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
In-Reply-To: <1482f3cd38ca134c23c8969a27191a828fc2f64d.1637745470.git.johannes.thumshirn@wdc.com>
References: <1482f3cd38ca134c23c8969a27191a828fc2f64d.1637745470.git.johannes.thumshirn@wdc.com>
TO: Johannes Thumshirn <johannes.thumshirn@wdc.com>
TO: David Sterba <dsterba@suse.com>
CC: Johannes Thumshirn <johannes.thumshirn@wdc.com>
CC: linux-btrfs(a)vger.kernel.org
CC: Nikolay Borisov <nborisov@suse.com>
CC: Naohiro Aota <Naohiro.Aota@wdc.com>

Hi Johannes,

I love your patch! Perhaps something to improve:

[auto build test WARNING on kdave/for-next]
[also build test WARNING on next-20211125]
[cannot apply to v5.16-rc2]
[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/Johannes-Thumshirn/btrfs-first-batch-of-zoned-cleanups/20211124-173329
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: i386-randconfig-m021-20211124 (https://download.01.org/0day-ci/archive/20211126/202111261027.3kJDKpBC-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 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/zoned.c:2187 btrfs_finish_block_group_to_copy() error: 'em' dereferencing possible ERR_PTR()

Old smatch warnings:
fs/btrfs/zoned.c:169 sb_zone_number() error: uninitialized symbol 'zone'.
fs/btrfs/zoned.c:1456 btrfs_load_block_group_zone_info() error: uninitialized symbol 'ret'.

vim +/em +2187 fs/btrfs/zoned.c

1a4c69dc517089 Johannes Thumshirn 2021-11-24  2162  
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2163  bool btrfs_finish_block_group_to_copy(struct btrfs_device *srcdev,
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2164  				      struct btrfs_block_group *cache,
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2165  				      u64 physical)
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2166  {
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2167  	struct btrfs_fs_info *fs_info = cache->fs_info;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2168  	struct extent_map *em;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2169  	struct map_lookup *map;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2170  	u64 chunk_offset = cache->start;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2171  	int num_extents, cur_extent;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2172  	int i;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2173  
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2174  	/* Do not use "to_copy" on non zoned filesystem for now */
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2175  	if (!btrfs_is_zoned(fs_info))
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2176  		return true;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2177  
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2178  	spin_lock(&cache->lock);
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2179  	if (cache->removed) {
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2180  		spin_unlock(&cache->lock);
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2181  		return true;
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2182  	}
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2183  	spin_unlock(&cache->lock);
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2184  
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2185  	em = btrfs_get_chunk_map(fs_info, chunk_offset, 1);
1a4c69dc517089 Johannes Thumshirn 2021-11-24  2186  	ASSERT(!IS_ERR(em));
1a4c69dc517089 Johannes Thumshirn 2021-11-24 @2187  	map = em->map_lookup;

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

^ permalink raw reply	[flat|nested] 2+ messages in thread
* [PATCH 00/21] btrfs: first batch of zoned cleanups
@ 2021-11-24  9:30 Johannes Thumshirn
  2021-11-24  9:30 ` [PATCH 07/21] btrfs: zoned: move btrfs_finish_block_group_to_copy to zoned code Johannes Thumshirn
  0 siblings, 1 reply; 2+ messages in thread
From: Johannes Thumshirn @ 2021-11-24  9:30 UTC (permalink / raw)
  To: David Sterba
  Cc: Johannes Thumshirn, linux-btrfs, Nikolay Borisov, Naohiro Aota

Here's a first batch of cleanups for the zoend code. It reduces the number of
calls to btrfs_is_zoned() outside of zoned.[ch] from 46 on misc-next to 33.

As I had to create a scrub.h file, I also moved the scrub related function
prototypes from ctree.h to scrub.h.

Johannes Thumshirn (21):
  btrfs: zoned: encapsulate inode locking for zoned relocation
  btrfs: zoned: simplify btrfs_check_meta_write_pointer
  btrfs: zoned: sink zone check into btrfs_repair_one_zone
  btrfs: zoned: it's pointless to check for REQ_OP_ZONE_APPEND and
    btrfs_is_zoned
  btrfs: zoned: move compatible fs flags check to zoned code
  btrfs: zoned: move mark_block_group_to_copy to zoned code
  btrfs: zoned: move btrfs_finish_block_group_to_copy to zoned code
  btrfs: zoned: move is_block_group_to_copy to zoned code
  btrfs: zoned: skip zoned check if block_group is marked as copy
  btrfs: move struct scrub_ctx to scrub.h
  btrfs: zoned: move fill_writer_pointer_gap to zoned code
  btrfs: zoned: sync_write_pointer_for_zoned to zoned code
  btrfs: make scrub_submit and scrub_wr_submit non-static
  btrfs: zoned: move sync_replace_for_zoned to zoned code
  btrfs: zoned: move finish_extent_writes_for_zoned to zoned code
  btrfs: move btrfs_scrub_dev() definition to scrub.h
  btrfs: move btrfs_scrub_pause() definition to scrub.h
  btrfs: move btrfs_scrub_continue() definition to scrub.h
  btrfs: move btrfs_scrub_cancel() definition to scrub.h
  btrfs: move btrfs_scrub_cancel_dev() definition to scrub.h
  btrfs: move btrfs_scrub_progress() definition to scrub.h

 fs/btrfs/ctree.h       |  10 --
 fs/btrfs/dev-replace.c | 182 +-----------------------
 fs/btrfs/dev-replace.h |   3 -
 fs/btrfs/disk-io.c     |   1 +
 fs/btrfs/extent_io.c   |  16 +--
 fs/btrfs/ioctl.c       |  13 +-
 fs/btrfs/scrub.c       | 187 +++++--------------------
 fs/btrfs/scrub.h       |  62 +++++++++
 fs/btrfs/super.c       |   1 +
 fs/btrfs/transaction.c |   1 +
 fs/btrfs/volumes.c     |  36 ++---
 fs/btrfs/volumes.h     |   2 +-
 fs/btrfs/zoned.c       | 306 ++++++++++++++++++++++++++++++++++++++---
 fs/btrfs/zoned.h       |  77 +++++++++++
 14 files changed, 483 insertions(+), 414 deletions(-)
 create mode 100644 fs/btrfs/scrub.h

-- 
2.31.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-11-26  2:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-26  2:38 [PATCH 07/21] btrfs: zoned: move btrfs_finish_block_group_to_copy to zoned code kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-11-24  9:30 [PATCH 00/21] btrfs: first batch of zoned cleanups Johannes Thumshirn
2021-11-24  9:30 ` [PATCH 07/21] btrfs: zoned: move btrfs_finish_block_group_to_copy to zoned code Johannes Thumshirn

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.