From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v3 1/3] btrfs: scrub: rename members related to scrub_block::pagev
Date: Sun, 13 Mar 2022 22:45:33 +0800 [thread overview]
Message-ID: <202203132232.7U2j2PCZ-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 11578 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <c9b166e536844ca1dd42adb8ea1e3520fc53618a.1647161284.git.wqu(a)suse.com>
References: <c9b166e536844ca1dd42adb8ea1e3520fc53618a.1647161284.git.wqu@suse.com>
TO: Qu Wenruo <wqu@suse.com>
Hi Qu,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on kdave/for-next]
[also build test WARNING on v5.17-rc7 next-20220310]
[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/Qu-Wenruo/btrfs-scrub-big-renaming-to-address-the-page-and-sector-difference/20220313-184251
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
:::::: branch date: 4 hours ago
:::::: commit date: 4 hours ago
config: m68k-randconfig-m031-20220313 (https://download.01.org/0day-ci/archive/20220313/202203132232.7U2j2PCZ-lkp(a)intel.com/config)
compiler: m68k-linux-gcc (GCC) 11.2.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>
smatch warnings:
fs/btrfs/scrub.c:1258 scrub_setup_recheck_block() warn: should 'original_sblock->sector_count << fs_info->sectorsize_bits' be a 64 bit type?
vim +1258 fs/btrfs/scrub.c
af8e2d1df9848b Miao Xie 2014-10-23 1252
be50a8ddaae1d0 Zhao Lei 2015-01-20 1253 static int scrub_setup_recheck_block(struct scrub_block *original_sblock,
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1254 struct scrub_block *sblocks_for_recheck)
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1255 {
be50a8ddaae1d0 Zhao Lei 2015-01-20 1256 struct scrub_ctx *sctx = original_sblock->sctx;
fb456252d3d9c0 Jeff Mahoney 2016-06-22 1257 struct btrfs_fs_info *fs_info = sctx->fs_info;
9053bf58b14388 Qu Wenruo 2022-03-13 @1258 u64 length = original_sblock->sector_count << fs_info->sectorsize_bits;
9053bf58b14388 Qu Wenruo 2022-03-13 1259 u64 logical = original_sblock->sectors[0]->logical;
9053bf58b14388 Qu Wenruo 2022-03-13 1260 u64 generation = original_sblock->sectors[0]->generation;
9053bf58b14388 Qu Wenruo 2022-03-13 1261 u64 flags = original_sblock->sectors[0]->flags;
9053bf58b14388 Qu Wenruo 2022-03-13 1262 u64 have_csum = original_sblock->sectors[0]->have_csum;
af8e2d1df9848b Miao Xie 2014-10-23 1263 struct scrub_recover *recover;
4c664611791239 Qu Wenruo 2021-09-15 1264 struct btrfs_io_context *bioc;
af8e2d1df9848b Miao Xie 2014-10-23 1265 u64 sublen;
af8e2d1df9848b Miao Xie 2014-10-23 1266 u64 mapped_length;
af8e2d1df9848b Miao Xie 2014-10-23 1267 u64 stripe_offset;
af8e2d1df9848b Miao Xie 2014-10-23 1268 int stripe_index;
9053bf58b14388 Qu Wenruo 2022-03-13 1269 int sector_index = 0;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1270 int mirror_index;
af8e2d1df9848b Miao Xie 2014-10-23 1271 int nmirrors;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1272 int ret;
a2de733c78fa7a Arne Jansen 2011-03-08 1273
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1274 /*
570193454a5841 Zhao Lei 2015-01-20 1275 * note: the two members refs and outstanding_pages
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1276 * are not used (and not set) in the blocks that are used for
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1277 * the recheck procedure
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1278 */
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1279
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1280 while (length > 0) {
8df507cbb59527 Qu Wenruo 2021-04-22 1281 sublen = min_t(u64, length, fs_info->sectorsize);
af8e2d1df9848b Miao Xie 2014-10-23 1282 mapped_length = sublen;
4c664611791239 Qu Wenruo 2021-09-15 1283 bioc = NULL;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1284
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1285 /*
8df507cbb59527 Qu Wenruo 2021-04-22 1286 * With a length of sectorsize, each returned stripe represents
8df507cbb59527 Qu Wenruo 2021-04-22 1287 * one mirror
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1288 */
e501bfe323356e Qu Wenruo 2017-03-29 1289 btrfs_bio_counter_inc_blocked(fs_info);
cf8cddd38bab31 Christoph Hellwig 2016-10-27 1290 ret = btrfs_map_sblock(fs_info, BTRFS_MAP_GET_READ_MIRRORS,
4c664611791239 Qu Wenruo 2021-09-15 1291 logical, &mapped_length, &bioc);
4c664611791239 Qu Wenruo 2021-09-15 1292 if (ret || !bioc || mapped_length < sublen) {
4c664611791239 Qu Wenruo 2021-09-15 1293 btrfs_put_bioc(bioc);
e501bfe323356e Qu Wenruo 2017-03-29 1294 btrfs_bio_counter_dec(fs_info);
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1295 return -EIO;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1296 }
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1297
af8e2d1df9848b Miao Xie 2014-10-23 1298 recover = kzalloc(sizeof(struct scrub_recover), GFP_NOFS);
af8e2d1df9848b Miao Xie 2014-10-23 1299 if (!recover) {
4c664611791239 Qu Wenruo 2021-09-15 1300 btrfs_put_bioc(bioc);
e501bfe323356e Qu Wenruo 2017-03-29 1301 btrfs_bio_counter_dec(fs_info);
af8e2d1df9848b Miao Xie 2014-10-23 1302 return -ENOMEM;
af8e2d1df9848b Miao Xie 2014-10-23 1303 }
af8e2d1df9848b Miao Xie 2014-10-23 1304
6f615018b35fb5 Elena Reshetova 2017-03-03 1305 refcount_set(&recover->refs, 1);
4c664611791239 Qu Wenruo 2021-09-15 1306 recover->bioc = bioc;
af8e2d1df9848b Miao Xie 2014-10-23 1307 recover->map_length = mapped_length;
af8e2d1df9848b Miao Xie 2014-10-23 1308
9053bf58b14388 Qu Wenruo 2022-03-13 1309 ASSERT(sector_index < SCRUB_MAX_SECTORS_PER_BLOCK);
af8e2d1df9848b Miao Xie 2014-10-23 1310
4c664611791239 Qu Wenruo 2021-09-15 1311 nmirrors = min(scrub_nr_raid_mirrors(bioc), BTRFS_MAX_MIRRORS);
10f11900167a83 Zhao Lei 2015-01-20 1312
af8e2d1df9848b Miao Xie 2014-10-23 1313 for (mirror_index = 0; mirror_index < nmirrors;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1314 mirror_index++) {
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1315 struct scrub_block *sblock;
261d2dcb24302b Qu Wenruo 2020-11-03 1316 struct scrub_page *spage;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1317
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1318 sblock = sblocks_for_recheck + mirror_index;
7a9e9987681198 Stefan Behrens 2012-11-02 1319 sblock->sctx = sctx;
4734b7ed79e123 Zhao Lei 2015-08-19 1320
261d2dcb24302b Qu Wenruo 2020-11-03 1321 spage = kzalloc(sizeof(*spage), GFP_NOFS);
261d2dcb24302b Qu Wenruo 2020-11-03 1322 if (!spage) {
7a9e9987681198 Stefan Behrens 2012-11-02 1323 leave_nomem:
d9d181c1ba7aa0 Stefan Behrens 2012-11-02 1324 spin_lock(&sctx->stat_lock);
d9d181c1ba7aa0 Stefan Behrens 2012-11-02 1325 sctx->stat.malloc_errors++;
d9d181c1ba7aa0 Stefan Behrens 2012-11-02 1326 spin_unlock(&sctx->stat_lock);
e501bfe323356e Qu Wenruo 2017-03-29 1327 scrub_put_recover(fs_info, recover);
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1328 return -ENOMEM;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1329 }
261d2dcb24302b Qu Wenruo 2020-11-03 1330 scrub_page_get(spage);
9053bf58b14388 Qu Wenruo 2022-03-13 1331 sblock->sectors[sector_index] = spage;
261d2dcb24302b Qu Wenruo 2020-11-03 1332 spage->sblock = sblock;
261d2dcb24302b Qu Wenruo 2020-11-03 1333 spage->flags = flags;
261d2dcb24302b Qu Wenruo 2020-11-03 1334 spage->generation = generation;
261d2dcb24302b Qu Wenruo 2020-11-03 1335 spage->logical = logical;
261d2dcb24302b Qu Wenruo 2020-11-03 1336 spage->have_csum = have_csum;
4734b7ed79e123 Zhao Lei 2015-08-19 1337 if (have_csum)
261d2dcb24302b Qu Wenruo 2020-11-03 1338 memcpy(spage->csum,
9053bf58b14388 Qu Wenruo 2022-03-13 1339 original_sblock->sectors[0]->csum,
2ae0c2d80d25da David Sterba 2020-06-30 1340 sctx->fs_info->csum_size);
af8e2d1df9848b Miao Xie 2014-10-23 1341
10f11900167a83 Zhao Lei 2015-01-20 1342 scrub_stripe_index_and_offset(logical,
4c664611791239 Qu Wenruo 2021-09-15 1343 bioc->map_type,
4c664611791239 Qu Wenruo 2021-09-15 1344 bioc->raid_map,
af8e2d1df9848b Miao Xie 2014-10-23 1345 mapped_length,
4c664611791239 Qu Wenruo 2021-09-15 1346 bioc->num_stripes -
4c664611791239 Qu Wenruo 2021-09-15 1347 bioc->num_tgtdevs,
af8e2d1df9848b Miao Xie 2014-10-23 1348 mirror_index,
af8e2d1df9848b Miao Xie 2014-10-23 1349 &stripe_index,
af8e2d1df9848b Miao Xie 2014-10-23 1350 &stripe_offset);
4c664611791239 Qu Wenruo 2021-09-15 1351 spage->physical = bioc->stripes[stripe_index].physical +
af8e2d1df9848b Miao Xie 2014-10-23 1352 stripe_offset;
4c664611791239 Qu Wenruo 2021-09-15 1353 spage->dev = bioc->stripes[stripe_index].dev;
af8e2d1df9848b Miao Xie 2014-10-23 1354
9053bf58b14388 Qu Wenruo 2022-03-13 1355 BUG_ON(sector_index >= original_sblock->sector_count);
261d2dcb24302b Qu Wenruo 2020-11-03 1356 spage->physical_for_dev_replace =
9053bf58b14388 Qu Wenruo 2022-03-13 1357 original_sblock->sectors[sector_index]->
ff023aac31198e Stefan Behrens 2012-11-06 1358 physical_for_dev_replace;
7a9e9987681198 Stefan Behrens 2012-11-02 1359 /* for missing devices, dev->bdev is NULL */
261d2dcb24302b Qu Wenruo 2020-11-03 1360 spage->mirror_num = mirror_index + 1;
9053bf58b14388 Qu Wenruo 2022-03-13 1361 sblock->sector_count++;
261d2dcb24302b Qu Wenruo 2020-11-03 1362 spage->page = alloc_page(GFP_NOFS);
261d2dcb24302b Qu Wenruo 2020-11-03 1363 if (!spage->page)
7a9e9987681198 Stefan Behrens 2012-11-02 1364 goto leave_nomem;
af8e2d1df9848b Miao Xie 2014-10-23 1365
af8e2d1df9848b Miao Xie 2014-10-23 1366 scrub_get_recover(recover);
261d2dcb24302b Qu Wenruo 2020-11-03 1367 spage->recover = recover;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1368 }
e501bfe323356e Qu Wenruo 2017-03-29 1369 scrub_put_recover(fs_info, recover);
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1370 length -= sublen;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1371 logical += sublen;
9053bf58b14388 Qu Wenruo 2022-03-13 1372 sector_index++;
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1373 }
a2de733c78fa7a Arne Jansen 2011-03-08 1374
b5d67f64f9bc65 Stefan Behrens 2012-03-27 1375 return 0;
96e369208e65a7 Ilya Dryomov 2011-04-09 1376 }
96e369208e65a7 Ilya Dryomov 2011-04-09 1377
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next reply other threads:[~2022-03-13 14:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-13 14:45 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-03-13 10:39 [PATCH v3 0/3] btrfs: scrub: big renaming to address the page and sector difference Qu Wenruo
2022-03-13 10:40 ` [PATCH v3 1/3] btrfs: scrub: rename members related to scrub_block::pagev Qu Wenruo
2022-03-14 13:22 ` David Sterba
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=202203132232.7U2j2PCZ-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.