Re: [PATCH 5/5] btrfs: Switch seed device to list api

kernel test robot
2020-07-15T13:23:42Z

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

Hi Nikolay,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on kdave/for-next]
[also build test ERROR on next-20200715]
[cannot apply to v5.8-rc5]
[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/Nikolay-Borisov/Convert-seed-devices-to-proper-list-API/20200715-185102
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: x86_64-rhel-7.6-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64

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

All error/warnings (new ones prefixed by >>):

In file included from fs/btrfs/volumes.c:17:
fs/btrfs/ctree.h:2271:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
2271 | size_t __const btrfs_get_num_csums(void);
| ^~~~~~~
In file included from fs/btrfs/volumes.c:28:
fs/btrfs/sysfs.h:16:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
16 | const char * const btrfs_feature_set_name(enum btrfs_feature_set set);
| ^~~~~
fs/btrfs/volumes.c:1030:6: warning: no previous prototype for '__btrfs_free_extra_devids' [-Wmissing-prototypes]
1030 | void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
fs/btrfs/volumes.c: In function 'btrfs_rm_dev_replace_free_srcdev':
>> fs/btrfs/volumes.c:2219:28: warning: variable 'tmp_fs_devices' set but not used [-Wunused-but-set-variable]
2219 | struct btrfs_fs_devices *tmp_fs_devices;
| ^~~~~~~~~~~~~~
--
In file included from fs/btrfs/delayed-inode.h:17,
from fs/btrfs/super.c:30:
fs/btrfs/ctree.h:2271:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
2271 | size_t __const btrfs_get_num_csums(void);
| ^~~~~~~
In file included from fs/btrfs/super.c:46:
fs/btrfs/sysfs.h:16:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
16 | const char * const btrfs_feature_set_name(enum btrfs_feature_set set);
| ^~~~~
fs/btrfs/super.c: In function 'btrfs_show_devname':
>> fs/btrfs/super.c:2404:28: error: 'struct btrfs_fs_devices' has no member named 'seed'
2404 | cur_devices = cur_devices->seed;
| ^~

vim +2404 fs/btrfs/super.c

9e7cc91a6d18a4 Wang Xiaoguang 2016-08-01 2377
9c5085c147989d Josef Bacik 2012-06-05 2378 static int btrfs_show_devname(struct seq_file *m, struct dentry *root)
9c5085c147989d Josef Bacik 2012-06-05 2379 {
9c5085c147989d Josef Bacik 2012-06-05 2380 struct btrfs_fs_info *fs_info = btrfs_sb(root->d_sb);
9c5085c147989d Josef Bacik 2012-06-05 2381 struct btrfs_fs_devices *cur_devices;
9c5085c147989d Josef Bacik 2012-06-05 2382 struct btrfs_device *dev, *first_dev = NULL;
9c5085c147989d Josef Bacik 2012-06-05 2383 struct list_head *head;
9c5085c147989d Josef Bacik 2012-06-05 2384
88c14590cdd6f3 David Sterba 2018-03-16 2385 /*
88c14590cdd6f3 David Sterba 2018-03-16 2386 * Lightweight locking of the devices. We should not need
88c14590cdd6f3 David Sterba 2018-03-16 2387 * device_list_mutex here as we only read the device data and the list
88c14590cdd6f3 David Sterba 2018-03-16 2388 * is protected by RCU. Even if a device is deleted during the list
88c14590cdd6f3 David Sterba 2018-03-16 2389 * traversals, we'll get valid data, the freeing callback will wait at
52042d8e82ff50 Andrea Gelmini 2018-11-28 2390 * least until the rcu_read_unlock.
88c14590cdd6f3 David Sterba 2018-03-16 2391 */
88c14590cdd6f3 David Sterba 2018-03-16 2392 rcu_read_lock();
9c5085c147989d Josef Bacik 2012-06-05 2393 cur_devices = fs_info->fs_devices;
9c5085c147989d Josef Bacik 2012-06-05 2394 while (cur_devices) {
9c5085c147989d Josef Bacik 2012-06-05 2395 head = &cur_devices->devices;
88c14590cdd6f3 David Sterba 2018-03-16 2396 list_for_each_entry_rcu(dev, head, dev_list) {
e6e674bd4d54fe Anand Jain 2017-12-04 2397 if (test_bit(BTRFS_DEV_STATE_MISSING, &dev->dev_state))
aa9ddcd4b55571 Josef Bacik 2012-08-02 2398 continue;
0aeb8a6e67cdde Anand Jain 2014-06-30 2399 if (!dev->name)
0aeb8a6e67cdde Anand Jain 2014-06-30 2400 continue;
9c5085c147989d Josef Bacik 2012-06-05 2401 if (!first_dev || dev->devid < first_dev->devid)
9c5085c147989d Josef Bacik 2012-06-05 2402 first_dev = dev;
9c5085c147989d Josef Bacik 2012-06-05 2403 }
9c5085c147989d Josef Bacik 2012-06-05 @2404 cur_devices = cur_devices->seed;
9c5085c147989d Josef Bacik 2012-06-05 2405 }
9c5085c147989d Josef Bacik 2012-06-05 2406
672d599041c862 Misono Tomohiro 2018-08-02 2407 if (first_dev)
672d599041c862 Misono Tomohiro 2018-08-02 2408 seq_escape(m, rcu_str_deref(first_dev->name), " \t\n\\");
672d599041c862 Misono Tomohiro 2018-08-02 2409 else
9c5085c147989d Josef Bacik 2012-06-05 2410 WARN_ON(1);
88c14590cdd6f3 David Sterba 2018-03-16 2411 rcu_read_unlock();
9c5085c147989d Josef Bacik 2012-06-05 2412 return 0;
9c5085c147989d Josef Bacik 2012-06-05 2413 }
9c5085c147989d Josef Bacik 2012-06-05 2414

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