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 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