Re: [PATCH] Btrfs: search parity device wisely

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Liu,

[auto build test ERROR on v4.13-rc3]
[also build test ERROR on next-20170803]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Liu-Bo/Btrfs-search-parity-device-wisely/20170803-193103
config: x86_64-randconfig-x007-201731 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   fs/btrfs/raid56.c: In function 'raid56_parity_alloc_scrub_rbio':
>> fs/btrfs/raid56.c:2232:15: error: 'struct btrfs_raid_bio' has no member named 'data_stripes'; did you mean 'real_stripes'?
     for (i = rbio->data_stripes; i < rbio->real_stripes; i++) {
                  ^~

vim +2232 fs/btrfs/raid56.c

  2201	
  2202	/*
  2203	 * The following code is used to scrub/replace the parity stripe
  2204	 *
  2205	 * Caller must have already increased bio_counter for getting @bbio.
  2206	 *
  2207	 * Note: We need make sure all the pages that add into the scrub/replace
  2208	 * raid bio are correct and not be changed during the scrub/replace. That
  2209	 * is those pages just hold metadata or file data with checksum.
  2210	 */
  2211	
  2212	struct btrfs_raid_bio *
  2213	raid56_parity_alloc_scrub_rbio(struct btrfs_fs_info *fs_info, struct bio *bio,
  2214				       struct btrfs_bio *bbio, u64 stripe_len,
  2215				       struct btrfs_device *scrub_dev,
  2216				       unsigned long *dbitmap, int stripe_nsectors)
  2217	{
  2218		struct btrfs_raid_bio *rbio;
  2219		int i;
  2220	
  2221		rbio = alloc_rbio(fs_info, bbio, stripe_len);
  2222		if (IS_ERR(rbio))
  2223			return NULL;
  2224		bio_list_add(&rbio->bio_list, bio);
  2225		/*
  2226		 * This is a special bio which is used to hold the completion handler
  2227		 * and make the scrub rbio is similar to the other types
  2228		 */
  2229		ASSERT(!bio->bi_iter.bi_size);
  2230		rbio->operation = BTRFS_RBIO_PARITY_SCRUB;
  2231	
> 2232		for (i = rbio->data_stripes; i < rbio->real_stripes; i++) {
  2233			if (bbio->stripes[i].dev == scrub_dev) {
  2234				rbio->scrubp = i;
  2235				break;
  2236			}
  2237		}
  2238		ASSERT(i < rbio->real_stripes);
  2239	
  2240		/* Now we just support the sectorsize equals to page size */
  2241		ASSERT(fs_info->sectorsize == PAGE_SIZE);
  2242		ASSERT(rbio->stripe_npages == stripe_nsectors);
  2243		bitmap_copy(rbio->dbitmap, dbitmap, stripe_nsectors);
  2244	
  2245		/*
  2246		 * We have already increased bio_counter when getting bbio, record it
  2247		 * so we can free it at rbio_orig_end_io().
  2248		 */
  2249		rbio->generic_bio_cnt = 1;
  2250	
  2251		return rbio;
  2252	}
  2253	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux