All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <202601130531.LGfcZsa4-lkp@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index 745c509..eaf08cb 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,13 +1,29 @@
+BCC: lkp@intel.com
+CC: oe-kbuild-all@lists.linux.dev
+In-Reply-To: <20260112042857.2334264-6-yukuai@fnnas.com>
+References: <20260112042857.2334264-6-yukuai@fnnas.com>
+TO: Yu Kuai <yukuai@fnnas.com>
+TO: linux-raid@vger.kernel.org
+TO: linan122@huawei.com
+CC: yukuai@fnnas.com
+
 Hi Yu,
 
 kernel test robot noticed the following build warnings:
 
+[auto build test WARNING on linus/master]
+[also build test WARNING on v6.19-rc5 next-20260109]
+[cannot apply to song-md/md-next]
+[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#_base_tree_information]
 
 url:    https://github.com/intel-lab-lkp/linux/commits/Yu-Kuai/md-merge-mddev-has_superblock-into-mddev_flags/20260112-123233
 base:   linus/master
 patch link:    https://lore.kernel.org/r/20260112042857.2334264-6-yukuai%40fnnas.com
 patch subject: [PATCH v4 05/11] md/raid5: make sure max_sectors is not less than io_opt
+:::::: branch date: 18 hours ago
+:::::: commit date: 18 hours ago
 config: i386-randconfig-141-20260113 (https://download.01.org/0day-ci/archive/20260113/202601130531.LGfcZsa4-lkp@intel.com/config)
 compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
 smatch version: v0.5.0-8985-g2614ff1a
@@ -15,14 +31,254 @@ smatch version: v0.5.0-8985-g2614ff1a
 If you fix the issue in a separate patch/commit (i.e. not just a new version of
 the same patch/commit), kindly add following tags
 | Reported-by: kernel test robot <lkp@intel.com>
-| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
+| Reported-by: Dan Carpenter <error27@gmail.com>
 | Closes: https://lore.kernel.org/r/202601130531.LGfcZsa4-lkp@intel.com/
 
 New smatch warnings:
 drivers/md/raid5.c:8100 raid5_run() warn: missing error code 'ret'
 
+Old smatch warnings:
+drivers/md/raid5.c:2880 raid5_end_write_request() error: uninitialized symbol 'rdev'.
+drivers/md/raid5.c:2885 raid5_end_write_request() error: uninitialized symbol 'rdev'.
+drivers/md/raid5.c:8580 raid5_start_reshape() warn: mixing irq and irqsave
+
 vim +/ret +8100 drivers/md/raid5.c
 
+16ef510139315a Christoph Hellwig    2020-09-24  7829  
+849674e4fb175e Shaohua Li           2016-01-20  7830  static int raid5_run(struct mddev *mddev)
+91adb56473febe NeilBrown            2009-03-31  7831  {
+d1688a6d5515f1 NeilBrown            2011-10-11  7832  	struct r5conf *conf;
+c148ffdcda00b6 NeilBrown            2009-11-13  7833  	int dirty_parity_disks = 0;
+3cb03002000f13 NeilBrown            2011-10-11  7834  	struct md_rdev *rdev;
+713cf5a63954bd Shaohua Li           2015-08-13  7835  	struct md_rdev *journal_dev = NULL;
+c148ffdcda00b6 NeilBrown            2009-11-13  7836  	sector_t reshape_offset = 0;
+c567c86b90d471 Yu Kuai              2023-06-22  7837  	int i;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7838  	long long min_offset_diff = 0;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7839  	int first = 1;
+f63f17350e5373 Christoph Hellwig    2024-03-03  7840  	int ret = -EIO;
+91adb56473febe NeilBrown            2009-03-31  7841  
+907a99c314a5a6 Li Nan               2025-07-22  7842  	if (mddev->resync_offset != MaxSector)
+cc6167b4f3b3ca NeilBrown            2016-11-02  7843  		pr_notice("md/raid:%s: not clean -- starting background reconstruction\n",
+8c6ac868b107ed Andre Noll           2009-06-18  7844  			  mdname(mddev));
+b5254dd5fdd9ab NeilBrown            2012-05-21  7845  
+b5254dd5fdd9ab NeilBrown            2012-05-21  7846  	rdev_for_each(rdev, mddev) {
+b5254dd5fdd9ab NeilBrown            2012-05-21  7847  		long long diff;
+713cf5a63954bd Shaohua Li           2015-08-13  7848  
+f2076e7d0643d1 Shaohua Li           2015-10-08  7849  		if (test_bit(Journal, &rdev->flags)) {
+713cf5a63954bd Shaohua Li           2015-08-13  7850  			journal_dev = rdev;
+f2076e7d0643d1 Shaohua Li           2015-10-08  7851  			continue;
+f2076e7d0643d1 Shaohua Li           2015-10-08  7852  		}
+b5254dd5fdd9ab NeilBrown            2012-05-21  7853  		if (rdev->raid_disk < 0)
+b5254dd5fdd9ab NeilBrown            2012-05-21  7854  			continue;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7855  		diff = (rdev->new_data_offset - rdev->data_offset);
+b5254dd5fdd9ab NeilBrown            2012-05-21  7856  		if (first) {
+b5254dd5fdd9ab NeilBrown            2012-05-21  7857  			min_offset_diff = diff;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7858  			first = 0;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7859  		} else if (mddev->reshape_backwards &&
+b5254dd5fdd9ab NeilBrown            2012-05-21  7860  			 diff < min_offset_diff)
+b5254dd5fdd9ab NeilBrown            2012-05-21  7861  			min_offset_diff = diff;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7862  		else if (!mddev->reshape_backwards &&
+b5254dd5fdd9ab NeilBrown            2012-05-21  7863  			 diff > min_offset_diff)
+b5254dd5fdd9ab NeilBrown            2012-05-21  7864  			min_offset_diff = diff;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7865  	}
+b5254dd5fdd9ab NeilBrown            2012-05-21  7866  
+230b55fa8d6400 NeilBrown            2017-10-17  7867  	if ((test_bit(MD_HAS_JOURNAL, &mddev->flags) || journal_dev) &&
+230b55fa8d6400 NeilBrown            2017-10-17  7868  	    (mddev->bitmap_info.offset || mddev->bitmap_info.file)) {
+230b55fa8d6400 NeilBrown            2017-10-17  7869  		pr_notice("md/raid:%s: array cannot have both journal and bitmap\n",
+230b55fa8d6400 NeilBrown            2017-10-17  7870  			  mdname(mddev));
+c567c86b90d471 Yu Kuai              2023-06-22  7871  		return -EINVAL;
+230b55fa8d6400 NeilBrown            2017-10-17  7872  	}
+230b55fa8d6400 NeilBrown            2017-10-17  7873  
+91adb56473febe NeilBrown            2009-03-31  7874  	if (mddev->reshape_position != MaxSector) {
+91adb56473febe NeilBrown            2009-03-31  7875  		/* Check that we can continue the reshape.
+b5254dd5fdd9ab NeilBrown            2012-05-21  7876  		 * Difficulties arise if the stripe we would write to
+b5254dd5fdd9ab NeilBrown            2012-05-21  7877  		 * next is at or after the stripe we would read from next.
+b5254dd5fdd9ab NeilBrown            2012-05-21  7878  		 * For a reshape that changes the number of devices, this
+b5254dd5fdd9ab NeilBrown            2012-05-21  7879  		 * is only possible for a very short time, and mdadm makes
+b5254dd5fdd9ab NeilBrown            2012-05-21  7880  		 * sure that time appears to have past before assembling
+b5254dd5fdd9ab NeilBrown            2012-05-21  7881  		 * the array.  So we fail if that time hasn't passed.
+b5254dd5fdd9ab NeilBrown            2012-05-21  7882  		 * For a reshape that keeps the number of devices the same
+b5254dd5fdd9ab NeilBrown            2012-05-21  7883  		 * mdadm must be monitoring the reshape can keeping the
+b5254dd5fdd9ab NeilBrown            2012-05-21  7884  		 * critical areas read-only and backed up.  It will start
+b5254dd5fdd9ab NeilBrown            2012-05-21  7885  		 * the array in read-only mode, so we check for that.
+91adb56473febe NeilBrown            2009-03-31  7886  		 */
+91adb56473febe NeilBrown            2009-03-31  7887  		sector_t here_new, here_old;
+91adb56473febe NeilBrown            2009-03-31  7888  		int old_disks;
+18b0033491f584 Andre Noll           2009-03-31  7889  		int max_degraded = (mddev->level == 6 ? 2 : 1);
+05256d9884d327 NeilBrown            2015-07-15  7890  		int chunk_sectors;
+05256d9884d327 NeilBrown            2015-07-15  7891  		int new_data_disks;
+91adb56473febe NeilBrown            2009-03-31  7892  
+713cf5a63954bd Shaohua Li           2015-08-13  7893  		if (journal_dev) {
+cc6167b4f3b3ca NeilBrown            2016-11-02  7894  			pr_warn("md/raid:%s: don't support reshape with journal - aborting.\n",
+713cf5a63954bd Shaohua Li           2015-08-13  7895  				mdname(mddev));
+c567c86b90d471 Yu Kuai              2023-06-22  7896  			return -EINVAL;
+713cf5a63954bd Shaohua Li           2015-08-13  7897  		}
+713cf5a63954bd Shaohua Li           2015-08-13  7898  
+88ce4930e2b803 NeilBrown            2009-03-31  7899  		if (mddev->new_level != mddev->level) {
+cc6167b4f3b3ca NeilBrown            2016-11-02  7900  			pr_warn("md/raid:%s: unsupported reshape required - aborting.\n",
+91adb56473febe NeilBrown            2009-03-31  7901  				mdname(mddev));
+c567c86b90d471 Yu Kuai              2023-06-22  7902  			return -EINVAL;
+91adb56473febe NeilBrown            2009-03-31  7903  		}
+91adb56473febe NeilBrown            2009-03-31  7904  		old_disks = mddev->raid_disks - mddev->delta_disks;
+91adb56473febe NeilBrown            2009-03-31  7905  		/* reshape_position must be on a new-stripe boundary, and one
+91adb56473febe NeilBrown            2009-03-31  7906  		 * further up in new geometry must map after here in old
+91adb56473febe NeilBrown            2009-03-31  7907  		 * geometry.
+05256d9884d327 NeilBrown            2015-07-15  7908  		 * If the chunk sizes are different, then as we perform reshape
+05256d9884d327 NeilBrown            2015-07-15  7909  		 * in units of the largest of the two, reshape_position needs
+05256d9884d327 NeilBrown            2015-07-15  7910  		 * be a multiple of the largest chunk size times new data disks.
+91adb56473febe NeilBrown            2009-03-31  7911  		 */
+91adb56473febe NeilBrown            2009-03-31  7912  		here_new = mddev->reshape_position;
+05256d9884d327 NeilBrown            2015-07-15  7913  		chunk_sectors = max(mddev->chunk_sectors, mddev->new_chunk_sectors);
+05256d9884d327 NeilBrown            2015-07-15  7914  		new_data_disks = mddev->raid_disks - max_degraded;
+05256d9884d327 NeilBrown            2015-07-15  7915  		if (sector_div(here_new, chunk_sectors * new_data_disks)) {
+cc6167b4f3b3ca NeilBrown            2016-11-02  7916  			pr_warn("md/raid:%s: reshape_position not on a stripe boundary\n",
+cc6167b4f3b3ca NeilBrown            2016-11-02  7917  				mdname(mddev));
+c567c86b90d471 Yu Kuai              2023-06-22  7918  			return -EINVAL;
+91adb56473febe NeilBrown            2009-03-31  7919  		}
+05256d9884d327 NeilBrown            2015-07-15  7920  		reshape_offset = here_new * chunk_sectors;
+91adb56473febe NeilBrown            2009-03-31  7921  		/* here_new is the stripe we will write to */
+91adb56473febe NeilBrown            2009-03-31  7922  		here_old = mddev->reshape_position;
+05256d9884d327 NeilBrown            2015-07-15  7923  		sector_div(here_old, chunk_sectors * (old_disks-max_degraded));
+91adb56473febe NeilBrown            2009-03-31  7924  		/* here_old is the first stripe that we might need to read
+91adb56473febe NeilBrown            2009-03-31  7925  		 * from */
+67ac6011db5d2b NeilBrown            2009-08-13  7926  		if (mddev->delta_disks == 0) {
+67ac6011db5d2b NeilBrown            2009-08-13  7927  			/* We cannot be sure it is safe to start an in-place
+b5254dd5fdd9ab NeilBrown            2012-05-21  7928  			 * reshape.  It is only safe if user-space is monitoring
+67ac6011db5d2b NeilBrown            2009-08-13  7929  			 * and taking constant backups.
+67ac6011db5d2b NeilBrown            2009-08-13  7930  			 * mdadm always starts a situation like this in
+67ac6011db5d2b NeilBrown            2009-08-13  7931  			 * readonly mode so it can take control before
+67ac6011db5d2b NeilBrown            2009-08-13  7932  			 * allowing any writes.  So just check for that.
+67ac6011db5d2b NeilBrown            2009-08-13  7933  			 */
+b5254dd5fdd9ab NeilBrown            2012-05-21  7934  			if (abs(min_offset_diff) >= mddev->chunk_sectors &&
+b5254dd5fdd9ab NeilBrown            2012-05-21  7935  			    abs(min_offset_diff) >= mddev->new_chunk_sectors)
+b5254dd5fdd9ab NeilBrown            2012-05-21  7936  				/* not really in-place - so OK */;
+b5254dd5fdd9ab NeilBrown            2012-05-21  7937  			else if (mddev->ro == 0) {
+cc6167b4f3b3ca NeilBrown            2016-11-02  7938  				pr_warn("md/raid:%s: in-place reshape must be started in read-only mode - aborting\n",
+0c55e02259115c NeilBrown            2010-05-03  7939  					mdname(mddev));
+c567c86b90d471 Yu Kuai              2023-06-22  7940  				return -EINVAL;
+67ac6011db5d2b NeilBrown            2009-08-13  7941  			}
+2c810cddc44d6f NeilBrown            2012-05-21  7942  		} else if (mddev->reshape_backwards
+05256d9884d327 NeilBrown            2015-07-15  7943  		    ? (here_new * chunk_sectors + min_offset_diff <=
+05256d9884d327 NeilBrown            2015-07-15  7944  		       here_old * chunk_sectors)
+05256d9884d327 NeilBrown            2015-07-15  7945  		    : (here_new * chunk_sectors >=
+05256d9884d327 NeilBrown            2015-07-15  7946  		       here_old * chunk_sectors + (-min_offset_diff))) {
+91adb56473febe NeilBrown            2009-03-31  7947  			/* Reading from the same stripe as writing to - bad */
+cc6167b4f3b3ca NeilBrown            2016-11-02  7948  			pr_warn("md/raid:%s: reshape_position too early for auto-recovery - aborting.\n",
+0c55e02259115c NeilBrown            2010-05-03  7949  				mdname(mddev));
+c567c86b90d471 Yu Kuai              2023-06-22  7950  			return -EINVAL;
+91adb56473febe NeilBrown            2009-03-31  7951  		}
+cc6167b4f3b3ca NeilBrown            2016-11-02  7952  		pr_debug("md/raid:%s: reshape will continue\n", mdname(mddev));
+91adb56473febe NeilBrown            2009-03-31  7953  		/* OK, we should be able to continue; */
+91adb56473febe NeilBrown            2009-03-31  7954  	} else {
+91adb56473febe NeilBrown            2009-03-31  7955  		BUG_ON(mddev->level != mddev->new_level);
+91adb56473febe NeilBrown            2009-03-31  7956  		BUG_ON(mddev->layout != mddev->new_layout);
+664e7c413f1e90 Andre Noll           2009-06-18  7957  		BUG_ON(mddev->chunk_sectors != mddev->new_chunk_sectors);
+91adb56473febe NeilBrown            2009-03-31  7958  		BUG_ON(mddev->delta_disks != 0);
+91adb56473febe NeilBrown            2009-03-31  7959  	}
+245f46c2c221ef NeilBrown            2009-03-31  7960  
+3418d036c81dcb Artur Paszkiewicz    2017-03-09  7961  	if (test_bit(MD_HAS_JOURNAL, &mddev->flags) &&
+3418d036c81dcb Artur Paszkiewicz    2017-03-09  7962  	    test_bit(MD_HAS_PPL, &mddev->flags)) {
+3418d036c81dcb Artur Paszkiewicz    2017-03-09  7963  		pr_warn("md/raid:%s: using journal device and PPL not allowed - disabling PPL\n",
+3418d036c81dcb Artur Paszkiewicz    2017-03-09  7964  			mdname(mddev));
+3418d036c81dcb Artur Paszkiewicz    2017-03-09  7965  		clear_bit(MD_HAS_PPL, &mddev->flags);
+ddc088238cd698 Pawel Baldysiak      2017-08-16  7966  		clear_bit(MD_HAS_MULTIPLE_PPLS, &mddev->flags);
+3418d036c81dcb Artur Paszkiewicz    2017-03-09  7967  	}
+3418d036c81dcb Artur Paszkiewicz    2017-03-09  7968  
+245f46c2c221ef NeilBrown            2009-03-31  7969  	if (mddev->private == NULL)
+91adb56473febe NeilBrown            2009-03-31  7970  		conf = setup_conf(mddev);
+245f46c2c221ef NeilBrown            2009-03-31  7971  	else
+245f46c2c221ef NeilBrown            2009-03-31  7972  		conf = mddev->private;
+91adb56473febe NeilBrown            2009-03-31  7973  
+c567c86b90d471 Yu Kuai              2023-06-22  7974  	if (IS_ERR(conf))
+c567c86b90d471 Yu Kuai              2023-06-22  7975  		return PTR_ERR(conf);
+91adb56473febe NeilBrown            2009-03-31  7976  
+486b0f7bcd64be Song Liu             2016-08-19  7977  	if (test_bit(MD_HAS_JOURNAL, &mddev->flags)) {
+486b0f7bcd64be Song Liu             2016-08-19  7978  		if (!journal_dev) {
+cc6167b4f3b3ca NeilBrown            2016-11-02  7979  			pr_warn("md/raid:%s: journal disk is missing, force array readonly\n",
+7dde2ad3c5b4af Shaohua Li           2015-10-08  7980  				mdname(mddev));
+7dde2ad3c5b4af Shaohua Li           2015-10-08  7981  			mddev->ro = 1;
+7dde2ad3c5b4af Shaohua Li           2015-10-08  7982  			set_disk_ro(mddev->gendisk, 1);
+907a99c314a5a6 Li Nan               2025-07-22  7983  		} else if (mddev->resync_offset == MaxSector)
+486b0f7bcd64be Song Liu             2016-08-19  7984  			set_bit(MD_JOURNAL_CLEAN, &mddev->flags);
+7dde2ad3c5b4af Shaohua Li           2015-10-08  7985  	}
+7dde2ad3c5b4af Shaohua Li           2015-10-08  7986  
+b5254dd5fdd9ab NeilBrown            2012-05-21  7987  	conf->min_offset_diff = min_offset_diff;
+44693154398272 Yu Kuai              2023-05-23  7988  	rcu_assign_pointer(mddev->thread, conf->thread);
+44693154398272 Yu Kuai              2023-05-23  7989  	rcu_assign_pointer(conf->thread, NULL);
+91adb56473febe NeilBrown            2009-03-31  7990  	mddev->private = conf;
+91adb56473febe NeilBrown            2009-03-31  7991  
+17045f52ac76d9 NeilBrown            2011-12-23  7992  	for (i = 0; i < conf->raid_disks && conf->previous_raid_disks;
+17045f52ac76d9 NeilBrown            2011-12-23  7993  	     i++) {
+ad8606702f2689 Yu Kuai              2023-11-25  7994  		rdev = conf->disks[i].rdev;
+17045f52ac76d9 NeilBrown            2011-12-23  7995  		if (!rdev)
+c148ffdcda00b6 NeilBrown            2009-11-13  7996  			continue;
+ad8606702f2689 Yu Kuai              2023-11-25  7997  		if (conf->disks[i].replacement &&
+17045f52ac76d9 NeilBrown            2011-12-23  7998  		    conf->reshape_progress != MaxSector) {
+17045f52ac76d9 NeilBrown            2011-12-23  7999  			/* replacements and reshape simply do not mix. */
+cc6167b4f3b3ca NeilBrown            2016-11-02  8000  			pr_warn("md: cannot handle concurrent replacement and reshape.\n");
+17045f52ac76d9 NeilBrown            2011-12-23  8001  			goto abort;
+17045f52ac76d9 NeilBrown            2011-12-23  8002  		}
+7bc436121e557b Tom Rix              2023-03-27  8003  		if (test_bit(In_sync, &rdev->flags))
+2f115882499f3e NeilBrown            2010-06-17  8004  			continue;
+c148ffdcda00b6 NeilBrown            2009-11-13  8005  		/* This disc is not fully in-sync.  However if it
+c148ffdcda00b6 NeilBrown            2009-11-13  8006  		 * just stored parity (beyond the recovery_offset),
+c148ffdcda00b6 NeilBrown            2009-11-13  8007  		 * when we don't need to be concerned about the
+c148ffdcda00b6 NeilBrown            2009-11-13  8008  		 * array being dirty.
+c148ffdcda00b6 NeilBrown            2009-11-13  8009  		 * When reshape goes 'backwards', we never have
+c148ffdcda00b6 NeilBrown            2009-11-13  8010  		 * partially completed devices, so we only need
+c148ffdcda00b6 NeilBrown            2009-11-13  8011  		 * to worry about reshape going forwards.
+c148ffdcda00b6 NeilBrown            2009-11-13  8012  		 */
+c148ffdcda00b6 NeilBrown            2009-11-13  8013  		/* Hack because v0.91 doesn't store recovery_offset properly. */
+c148ffdcda00b6 NeilBrown            2009-11-13  8014  		if (mddev->major_version == 0 &&
+c148ffdcda00b6 NeilBrown            2009-11-13  8015  		    mddev->minor_version > 90)
+c148ffdcda00b6 NeilBrown            2009-11-13  8016  			rdev->recovery_offset = reshape_offset;
+c148ffdcda00b6 NeilBrown            2009-11-13  8017  
+c148ffdcda00b6 NeilBrown            2009-11-13  8018  		if (rdev->recovery_offset < reshape_offset) {
+c148ffdcda00b6 NeilBrown            2009-11-13  8019  			/* We need to check old and new layout */
+c148ffdcda00b6 NeilBrown            2009-11-13  8020  			if (!only_parity(rdev->raid_disk,
+c148ffdcda00b6 NeilBrown            2009-11-13  8021  					 conf->algorithm,
+c148ffdcda00b6 NeilBrown            2009-11-13  8022  					 conf->raid_disks,
+c148ffdcda00b6 NeilBrown            2009-11-13  8023  					 conf->max_degraded))
+c148ffdcda00b6 NeilBrown            2009-11-13  8024  				continue;
+c148ffdcda00b6 NeilBrown            2009-11-13  8025  		}
+c148ffdcda00b6 NeilBrown            2009-11-13  8026  		if (!only_parity(rdev->raid_disk,
+c148ffdcda00b6 NeilBrown            2009-11-13  8027  				 conf->prev_algo,
+c148ffdcda00b6 NeilBrown            2009-11-13  8028  				 conf->previous_raid_disks,
+c148ffdcda00b6 NeilBrown            2009-11-13  8029  				 conf->max_degraded))
+c148ffdcda00b6 NeilBrown            2009-11-13  8030  			continue;
+c148ffdcda00b6 NeilBrown            2009-11-13  8031  		dirty_parity_disks++;
+c148ffdcda00b6 NeilBrown            2009-11-13  8032  	}
+91adb56473febe NeilBrown            2009-03-31  8033  
+17045f52ac76d9 NeilBrown            2011-12-23  8034  	/*
+17045f52ac76d9 NeilBrown            2011-12-23  8035  	 * 0 for a fully functional array, 1 or 2 for a degraded array.
+17045f52ac76d9 NeilBrown            2011-12-23  8036  	 */
+2e38a37f23c98d Song Liu             2017-01-24  8037  	mddev->degraded = raid5_calc_degraded(conf);
+91adb56473febe NeilBrown            2009-03-31  8038  
+674806d62fb02a NeilBrown            2010-06-16  8039  	if (has_failed(conf)) {
+cc6167b4f3b3ca NeilBrown            2016-11-02  8040  		pr_crit("md/raid:%s: not enough operational devices (%d/%d failed)\n",
+02c2de8cc83588 NeilBrown            2006-10-03  8041  			mdname(mddev), mddev->degraded, conf->raid_disks);
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8042  		goto abort;
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8043  	}
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8044  
+91adb56473febe NeilBrown            2009-03-31  8045  	/* device size must be a multiple of chunk size */
+c5eec74f252dfb Guoqing Jiang        2020-12-16  8046  	mddev->dev_sectors &= ~((sector_t)mddev->chunk_sectors - 1);
+91adb56473febe NeilBrown            2009-03-31  8047  	mddev->resync_max_sectors = mddev->dev_sectors;
+91adb56473febe NeilBrown            2009-03-31  8048  
+c148ffdcda00b6 NeilBrown            2009-11-13  8049  	if (mddev->degraded > dirty_parity_disks &&
+907a99c314a5a6 Li Nan               2025-07-22  8050  	    mddev->resync_offset != MaxSector) {
+4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8051  		if (test_bit(MD_HAS_PPL, &mddev->flags))
+4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8052  			pr_crit("md/raid:%s: starting dirty degraded array with PPL.\n",
+4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8053  				mdname(mddev));
+4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8054  		else if (mddev->ok_start_degraded)
+cc6167b4f3b3ca NeilBrown            2016-11-02  8055  			pr_crit("md/raid:%s: starting dirty degraded array - data corruption possible.\n",
+6ff8d8ec06690f NeilBrown            2006-01-06  8056  				mdname(mddev));
+6ff8d8ec06690f NeilBrown            2006-01-06  8057  		else {
+cc6167b4f3b3ca NeilBrown            2016-11-02  8058  			pr_crit("md/raid:%s: cannot start dirty degraded array.\n",
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8059  				mdname(mddev));
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8060  			goto abort;
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8061  		}
+6ff8d8ec06690f NeilBrown            2006-01-06  8062  	}
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8063  
 cc6167b4f3b3ca NeilBrown            2016-11-02  8064  	pr_info("md/raid:%s: raid level %d active with %d out of %d devices, algorithm %d\n",
 cc6167b4f3b3ca NeilBrown            2016-11-02  8065  		mdname(mddev), conf->level,
 ^1da177e4c3f41 Linus Torvalds       2005-04-16  8066  		mddev->raid_disks-mddev->degraded, mddev->raid_disks,
@@ -60,9 +316,6 @@ f63f17350e5373 Christoph Hellwig    2024-03-03  8092  			goto abort;
 01fce9e38c0e92 Yu Kuai              2026-01-12  8098  
 845b9e229fe071 Artur Paszkiewicz    2017-04-04  8099  	if (log_init(conf, journal_dev, raid5_has_ppl(conf)))
 5aabf7c49d9ebe Song Liu             2016-11-17 @8100  		goto abort;
-
-Presumably we should propagate the error code from log_init()?
-
 5c7e81c3de9eb3 Shaohua Li           2015-08-13  8101  
 ^1da177e4c3f41 Linus Torvalds       2005-04-16  8102  	return 0;
 ^1da177e4c3f41 Linus Torvalds       2005-04-16  8103  abort:
@@ -73,6 +326,7 @@ Presumably we should propagate the error code from log_init()?
 cc6167b4f3b3ca NeilBrown            2016-11-02  8108  	pr_warn("md/raid:%s: failed to run raid set.\n", mdname(mddev));
 f63f17350e5373 Christoph Hellwig    2024-03-03  8109  	return ret;
 ^1da177e4c3f41 Linus Torvalds       2005-04-16  8110  }
+^1da177e4c3f41 Linus Torvalds       2005-04-16  8111  
 
 -- 
 0-DAY CI Kernel Test Service
diff --git a/a/content_digest b/N1/content_digest
index e1472e5..609b629 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,26 +1,37 @@
- "ref\020260112042857.2334264-6-yukuai@fnnas.com\0"
- "From\0Dan Carpenter <dan.carpenter@linaro.org>\0"
+ "From\0kernel test robot <lkp@intel.com>\0"
  "Subject\0Re: [PATCH v4 05/11] md/raid5: make sure max_sectors is not less than io_opt\0"
- "Date\0Tue, 13 Jan 2026 08:06:05 +0300\0"
- "To\0oe-kbuild@lists.linux.dev"
-  Yu Kuai <yukuai@fnnas.com>
-  linux-raid@vger.kernel.org
- " linan122@huawei.com\0"
+ "Date\0Tue, 13 Jan 2026 06:15:30 +0800\0"
+ "To\0oe-kbuild@lists.linux.dev\0"
  "Cc\0lkp@intel.com"
-  oe-kbuild-all@lists.linux.dev
- " yukuai@fnnas.com\0"
+ " Dan Carpenter <error27@gmail.com>\0"
  "\00:1\0"
  "b\0"
+ "BCC: lkp@intel.com\n"
+ "CC: oe-kbuild-all@lists.linux.dev\n"
+ "In-Reply-To: <20260112042857.2334264-6-yukuai@fnnas.com>\n"
+ "References: <20260112042857.2334264-6-yukuai@fnnas.com>\n"
+ "TO: Yu Kuai <yukuai@fnnas.com>\n"
+ "TO: linux-raid@vger.kernel.org\n"
+ "TO: linan122@huawei.com\n"
+ "CC: yukuai@fnnas.com\n"
+ "\n"
  "Hi Yu,\n"
  "\n"
  "kernel test robot noticed the following build warnings:\n"
  "\n"
+ "[auto build test WARNING on linus/master]\n"
+ "[also build test WARNING on v6.19-rc5 next-20260109]\n"
+ "[cannot apply to song-md/md-next]\n"
+ "[If your patch is applied to the wrong git tree, kindly drop us a note.\n"
+ "And when submitting patch, we suggest to use '--base' as documented in\n"
  "https://git-scm.com/docs/git-format-patch#_base_tree_information]\n"
  "\n"
  "url:    https://github.com/intel-lab-lkp/linux/commits/Yu-Kuai/md-merge-mddev-has_superblock-into-mddev_flags/20260112-123233\n"
  "base:   linus/master\n"
  "patch link:    https://lore.kernel.org/r/20260112042857.2334264-6-yukuai%40fnnas.com\n"
  "patch subject: [PATCH v4 05/11] md/raid5: make sure max_sectors is not less than io_opt\n"
+ ":::::: branch date: 18 hours ago\n"
+ ":::::: commit date: 18 hours ago\n"
  "config: i386-randconfig-141-20260113 (https://download.01.org/0day-ci/archive/20260113/202601130531.LGfcZsa4-lkp@intel.com/config)\n"
  "compiler: gcc-14 (Debian 14.2.0-19) 14.2.0\n"
  "smatch version: v0.5.0-8985-g2614ff1a\n"
@@ -28,14 +39,254 @@
  "If you fix the issue in a separate patch/commit (i.e. not just a new version of\n"
  "the same patch/commit), kindly add following tags\n"
  "| Reported-by: kernel test robot <lkp@intel.com>\n"
- "| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>\n"
+ "| Reported-by: Dan Carpenter <error27@gmail.com>\n"
  "| Closes: https://lore.kernel.org/r/202601130531.LGfcZsa4-lkp@intel.com/\n"
  "\n"
  "New smatch warnings:\n"
  "drivers/md/raid5.c:8100 raid5_run() warn: missing error code 'ret'\n"
  "\n"
+ "Old smatch warnings:\n"
+ "drivers/md/raid5.c:2880 raid5_end_write_request() error: uninitialized symbol 'rdev'.\n"
+ "drivers/md/raid5.c:2885 raid5_end_write_request() error: uninitialized symbol 'rdev'.\n"
+ "drivers/md/raid5.c:8580 raid5_start_reshape() warn: mixing irq and irqsave\n"
+ "\n"
  "vim +/ret +8100 drivers/md/raid5.c\n"
  "\n"
+ "16ef510139315a Christoph Hellwig    2020-09-24  7829  \n"
+ "849674e4fb175e Shaohua Li           2016-01-20  7830  static int raid5_run(struct mddev *mddev)\n"
+ "91adb56473febe NeilBrown            2009-03-31  7831  {\n"
+ "d1688a6d5515f1 NeilBrown            2011-10-11  7832  \tstruct r5conf *conf;\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  7833  \tint dirty_parity_disks = 0;\n"
+ "3cb03002000f13 NeilBrown            2011-10-11  7834  \tstruct md_rdev *rdev;\n"
+ "713cf5a63954bd Shaohua Li           2015-08-13  7835  \tstruct md_rdev *journal_dev = NULL;\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  7836  \tsector_t reshape_offset = 0;\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7837  \tint i;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7838  \tlong long min_offset_diff = 0;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7839  \tint first = 1;\n"
+ "f63f17350e5373 Christoph Hellwig    2024-03-03  7840  \tint ret = -EIO;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7841  \n"
+ "907a99c314a5a6 Li Nan               2025-07-22  7842  \tif (mddev->resync_offset != MaxSector)\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7843  \t\tpr_notice(\"md/raid:%s: not clean -- starting background reconstruction\\n\",\n"
+ "8c6ac868b107ed Andre Noll           2009-06-18  7844  \t\t\t  mdname(mddev));\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7845  \n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7846  \trdev_for_each(rdev, mddev) {\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7847  \t\tlong long diff;\n"
+ "713cf5a63954bd Shaohua Li           2015-08-13  7848  \n"
+ "f2076e7d0643d1 Shaohua Li           2015-10-08  7849  \t\tif (test_bit(Journal, &rdev->flags)) {\n"
+ "713cf5a63954bd Shaohua Li           2015-08-13  7850  \t\t\tjournal_dev = rdev;\n"
+ "f2076e7d0643d1 Shaohua Li           2015-10-08  7851  \t\t\tcontinue;\n"
+ "f2076e7d0643d1 Shaohua Li           2015-10-08  7852  \t\t}\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7853  \t\tif (rdev->raid_disk < 0)\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7854  \t\t\tcontinue;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7855  \t\tdiff = (rdev->new_data_offset - rdev->data_offset);\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7856  \t\tif (first) {\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7857  \t\t\tmin_offset_diff = diff;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7858  \t\t\tfirst = 0;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7859  \t\t} else if (mddev->reshape_backwards &&\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7860  \t\t\t diff < min_offset_diff)\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7861  \t\t\tmin_offset_diff = diff;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7862  \t\telse if (!mddev->reshape_backwards &&\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7863  \t\t\t diff > min_offset_diff)\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7864  \t\t\tmin_offset_diff = diff;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7865  \t}\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7866  \n"
+ "230b55fa8d6400 NeilBrown            2017-10-17  7867  \tif ((test_bit(MD_HAS_JOURNAL, &mddev->flags) || journal_dev) &&\n"
+ "230b55fa8d6400 NeilBrown            2017-10-17  7868  \t    (mddev->bitmap_info.offset || mddev->bitmap_info.file)) {\n"
+ "230b55fa8d6400 NeilBrown            2017-10-17  7869  \t\tpr_notice(\"md/raid:%s: array cannot have both journal and bitmap\\n\",\n"
+ "230b55fa8d6400 NeilBrown            2017-10-17  7870  \t\t\t  mdname(mddev));\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7871  \t\treturn -EINVAL;\n"
+ "230b55fa8d6400 NeilBrown            2017-10-17  7872  \t}\n"
+ "230b55fa8d6400 NeilBrown            2017-10-17  7873  \n"
+ "91adb56473febe NeilBrown            2009-03-31  7874  \tif (mddev->reshape_position != MaxSector) {\n"
+ "91adb56473febe NeilBrown            2009-03-31  7875  \t\t/* Check that we can continue the reshape.\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7876  \t\t * Difficulties arise if the stripe we would write to\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7877  \t\t * next is at or after the stripe we would read from next.\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7878  \t\t * For a reshape that changes the number of devices, this\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7879  \t\t * is only possible for a very short time, and mdadm makes\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7880  \t\t * sure that time appears to have past before assembling\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7881  \t\t * the array.  So we fail if that time hasn't passed.\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7882  \t\t * For a reshape that keeps the number of devices the same\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7883  \t\t * mdadm must be monitoring the reshape can keeping the\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7884  \t\t * critical areas read-only and backed up.  It will start\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7885  \t\t * the array in read-only mode, so we check for that.\n"
+ "91adb56473febe NeilBrown            2009-03-31  7886  \t\t */\n"
+ "91adb56473febe NeilBrown            2009-03-31  7887  \t\tsector_t here_new, here_old;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7888  \t\tint old_disks;\n"
+ "18b0033491f584 Andre Noll           2009-03-31  7889  \t\tint max_degraded = (mddev->level == 6 ? 2 : 1);\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7890  \t\tint chunk_sectors;\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7891  \t\tint new_data_disks;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7892  \n"
+ "713cf5a63954bd Shaohua Li           2015-08-13  7893  \t\tif (journal_dev) {\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7894  \t\t\tpr_warn(\"md/raid:%s: don't support reshape with journal - aborting.\\n\",\n"
+ "713cf5a63954bd Shaohua Li           2015-08-13  7895  \t\t\t\tmdname(mddev));\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7896  \t\t\treturn -EINVAL;\n"
+ "713cf5a63954bd Shaohua Li           2015-08-13  7897  \t\t}\n"
+ "713cf5a63954bd Shaohua Li           2015-08-13  7898  \n"
+ "88ce4930e2b803 NeilBrown            2009-03-31  7899  \t\tif (mddev->new_level != mddev->level) {\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7900  \t\t\tpr_warn(\"md/raid:%s: unsupported reshape required - aborting.\\n\",\n"
+ "91adb56473febe NeilBrown            2009-03-31  7901  \t\t\t\tmdname(mddev));\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7902  \t\t\treturn -EINVAL;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7903  \t\t}\n"
+ "91adb56473febe NeilBrown            2009-03-31  7904  \t\told_disks = mddev->raid_disks - mddev->delta_disks;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7905  \t\t/* reshape_position must be on a new-stripe boundary, and one\n"
+ "91adb56473febe NeilBrown            2009-03-31  7906  \t\t * further up in new geometry must map after here in old\n"
+ "91adb56473febe NeilBrown            2009-03-31  7907  \t\t * geometry.\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7908  \t\t * If the chunk sizes are different, then as we perform reshape\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7909  \t\t * in units of the largest of the two, reshape_position needs\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7910  \t\t * be a multiple of the largest chunk size times new data disks.\n"
+ "91adb56473febe NeilBrown            2009-03-31  7911  \t\t */\n"
+ "91adb56473febe NeilBrown            2009-03-31  7912  \t\there_new = mddev->reshape_position;\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7913  \t\tchunk_sectors = max(mddev->chunk_sectors, mddev->new_chunk_sectors);\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7914  \t\tnew_data_disks = mddev->raid_disks - max_degraded;\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7915  \t\tif (sector_div(here_new, chunk_sectors * new_data_disks)) {\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7916  \t\t\tpr_warn(\"md/raid:%s: reshape_position not on a stripe boundary\\n\",\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7917  \t\t\t\tmdname(mddev));\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7918  \t\t\treturn -EINVAL;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7919  \t\t}\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7920  \t\treshape_offset = here_new * chunk_sectors;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7921  \t\t/* here_new is the stripe we will write to */\n"
+ "91adb56473febe NeilBrown            2009-03-31  7922  \t\there_old = mddev->reshape_position;\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7923  \t\tsector_div(here_old, chunk_sectors * (old_disks-max_degraded));\n"
+ "91adb56473febe NeilBrown            2009-03-31  7924  \t\t/* here_old is the first stripe that we might need to read\n"
+ "91adb56473febe NeilBrown            2009-03-31  7925  \t\t * from */\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7926  \t\tif (mddev->delta_disks == 0) {\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7927  \t\t\t/* We cannot be sure it is safe to start an in-place\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7928  \t\t\t * reshape.  It is only safe if user-space is monitoring\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7929  \t\t\t * and taking constant backups.\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7930  \t\t\t * mdadm always starts a situation like this in\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7931  \t\t\t * readonly mode so it can take control before\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7932  \t\t\t * allowing any writes.  So just check for that.\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7933  \t\t\t */\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7934  \t\t\tif (abs(min_offset_diff) >= mddev->chunk_sectors &&\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7935  \t\t\t    abs(min_offset_diff) >= mddev->new_chunk_sectors)\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7936  \t\t\t\t/* not really in-place - so OK */;\n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7937  \t\t\telse if (mddev->ro == 0) {\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7938  \t\t\t\tpr_warn(\"md/raid:%s: in-place reshape must be started in read-only mode - aborting\\n\",\n"
+ "0c55e02259115c NeilBrown            2010-05-03  7939  \t\t\t\t\tmdname(mddev));\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7940  \t\t\t\treturn -EINVAL;\n"
+ "67ac6011db5d2b NeilBrown            2009-08-13  7941  \t\t\t}\n"
+ "2c810cddc44d6f NeilBrown            2012-05-21  7942  \t\t} else if (mddev->reshape_backwards\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7943  \t\t    ? (here_new * chunk_sectors + min_offset_diff <=\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7944  \t\t       here_old * chunk_sectors)\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7945  \t\t    : (here_new * chunk_sectors >=\n"
+ "05256d9884d327 NeilBrown            2015-07-15  7946  \t\t       here_old * chunk_sectors + (-min_offset_diff))) {\n"
+ "91adb56473febe NeilBrown            2009-03-31  7947  \t\t\t/* Reading from the same stripe as writing to - bad */\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7948  \t\t\tpr_warn(\"md/raid:%s: reshape_position too early for auto-recovery - aborting.\\n\",\n"
+ "0c55e02259115c NeilBrown            2010-05-03  7949  \t\t\t\tmdname(mddev));\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7950  \t\t\treturn -EINVAL;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7951  \t\t}\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7952  \t\tpr_debug(\"md/raid:%s: reshape will continue\\n\", mdname(mddev));\n"
+ "91adb56473febe NeilBrown            2009-03-31  7953  \t\t/* OK, we should be able to continue; */\n"
+ "91adb56473febe NeilBrown            2009-03-31  7954  \t} else {\n"
+ "91adb56473febe NeilBrown            2009-03-31  7955  \t\tBUG_ON(mddev->level != mddev->new_level);\n"
+ "91adb56473febe NeilBrown            2009-03-31  7956  \t\tBUG_ON(mddev->layout != mddev->new_layout);\n"
+ "664e7c413f1e90 Andre Noll           2009-06-18  7957  \t\tBUG_ON(mddev->chunk_sectors != mddev->new_chunk_sectors);\n"
+ "91adb56473febe NeilBrown            2009-03-31  7958  \t\tBUG_ON(mddev->delta_disks != 0);\n"
+ "91adb56473febe NeilBrown            2009-03-31  7959  \t}\n"
+ "245f46c2c221ef NeilBrown            2009-03-31  7960  \n"
+ "3418d036c81dcb Artur Paszkiewicz    2017-03-09  7961  \tif (test_bit(MD_HAS_JOURNAL, &mddev->flags) &&\n"
+ "3418d036c81dcb Artur Paszkiewicz    2017-03-09  7962  \t    test_bit(MD_HAS_PPL, &mddev->flags)) {\n"
+ "3418d036c81dcb Artur Paszkiewicz    2017-03-09  7963  \t\tpr_warn(\"md/raid:%s: using journal device and PPL not allowed - disabling PPL\\n\",\n"
+ "3418d036c81dcb Artur Paszkiewicz    2017-03-09  7964  \t\t\tmdname(mddev));\n"
+ "3418d036c81dcb Artur Paszkiewicz    2017-03-09  7965  \t\tclear_bit(MD_HAS_PPL, &mddev->flags);\n"
+ "ddc088238cd698 Pawel Baldysiak      2017-08-16  7966  \t\tclear_bit(MD_HAS_MULTIPLE_PPLS, &mddev->flags);\n"
+ "3418d036c81dcb Artur Paszkiewicz    2017-03-09  7967  \t}\n"
+ "3418d036c81dcb Artur Paszkiewicz    2017-03-09  7968  \n"
+ "245f46c2c221ef NeilBrown            2009-03-31  7969  \tif (mddev->private == NULL)\n"
+ "91adb56473febe NeilBrown            2009-03-31  7970  \t\tconf = setup_conf(mddev);\n"
+ "245f46c2c221ef NeilBrown            2009-03-31  7971  \telse\n"
+ "245f46c2c221ef NeilBrown            2009-03-31  7972  \t\tconf = mddev->private;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7973  \n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7974  \tif (IS_ERR(conf))\n"
+ "c567c86b90d471 Yu Kuai              2023-06-22  7975  \t\treturn PTR_ERR(conf);\n"
+ "91adb56473febe NeilBrown            2009-03-31  7976  \n"
+ "486b0f7bcd64be Song Liu             2016-08-19  7977  \tif (test_bit(MD_HAS_JOURNAL, &mddev->flags)) {\n"
+ "486b0f7bcd64be Song Liu             2016-08-19  7978  \t\tif (!journal_dev) {\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  7979  \t\t\tpr_warn(\"md/raid:%s: journal disk is missing, force array readonly\\n\",\n"
+ "7dde2ad3c5b4af Shaohua Li           2015-10-08  7980  \t\t\t\tmdname(mddev));\n"
+ "7dde2ad3c5b4af Shaohua Li           2015-10-08  7981  \t\t\tmddev->ro = 1;\n"
+ "7dde2ad3c5b4af Shaohua Li           2015-10-08  7982  \t\t\tset_disk_ro(mddev->gendisk, 1);\n"
+ "907a99c314a5a6 Li Nan               2025-07-22  7983  \t\t} else if (mddev->resync_offset == MaxSector)\n"
+ "486b0f7bcd64be Song Liu             2016-08-19  7984  \t\t\tset_bit(MD_JOURNAL_CLEAN, &mddev->flags);\n"
+ "7dde2ad3c5b4af Shaohua Li           2015-10-08  7985  \t}\n"
+ "7dde2ad3c5b4af Shaohua Li           2015-10-08  7986  \n"
+ "b5254dd5fdd9ab NeilBrown            2012-05-21  7987  \tconf->min_offset_diff = min_offset_diff;\n"
+ "44693154398272 Yu Kuai              2023-05-23  7988  \trcu_assign_pointer(mddev->thread, conf->thread);\n"
+ "44693154398272 Yu Kuai              2023-05-23  7989  \trcu_assign_pointer(conf->thread, NULL);\n"
+ "91adb56473febe NeilBrown            2009-03-31  7990  \tmddev->private = conf;\n"
+ "91adb56473febe NeilBrown            2009-03-31  7991  \n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  7992  \tfor (i = 0; i < conf->raid_disks && conf->previous_raid_disks;\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  7993  \t     i++) {\n"
+ "ad8606702f2689 Yu Kuai              2023-11-25  7994  \t\trdev = conf->disks[i].rdev;\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  7995  \t\tif (!rdev)\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  7996  \t\t\tcontinue;\n"
+ "ad8606702f2689 Yu Kuai              2023-11-25  7997  \t\tif (conf->disks[i].replacement &&\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  7998  \t\t    conf->reshape_progress != MaxSector) {\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  7999  \t\t\t/* replacements and reshape simply do not mix. */\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  8000  \t\t\tpr_warn(\"md: cannot handle concurrent replacement and reshape.\\n\");\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  8001  \t\t\tgoto abort;\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  8002  \t\t}\n"
+ "7bc436121e557b Tom Rix              2023-03-27  8003  \t\tif (test_bit(In_sync, &rdev->flags))\n"
+ "2f115882499f3e NeilBrown            2010-06-17  8004  \t\t\tcontinue;\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8005  \t\t/* This disc is not fully in-sync.  However if it\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8006  \t\t * just stored parity (beyond the recovery_offset),\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8007  \t\t * when we don't need to be concerned about the\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8008  \t\t * array being dirty.\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8009  \t\t * When reshape goes 'backwards', we never have\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8010  \t\t * partially completed devices, so we only need\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8011  \t\t * to worry about reshape going forwards.\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8012  \t\t */\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8013  \t\t/* Hack because v0.91 doesn't store recovery_offset properly. */\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8014  \t\tif (mddev->major_version == 0 &&\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8015  \t\t    mddev->minor_version > 90)\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8016  \t\t\trdev->recovery_offset = reshape_offset;\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8017  \n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8018  \t\tif (rdev->recovery_offset < reshape_offset) {\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8019  \t\t\t/* We need to check old and new layout */\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8020  \t\t\tif (!only_parity(rdev->raid_disk,\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8021  \t\t\t\t\t conf->algorithm,\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8022  \t\t\t\t\t conf->raid_disks,\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8023  \t\t\t\t\t conf->max_degraded))\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8024  \t\t\t\tcontinue;\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8025  \t\t}\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8026  \t\tif (!only_parity(rdev->raid_disk,\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8027  \t\t\t\t conf->prev_algo,\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8028  \t\t\t\t conf->previous_raid_disks,\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8029  \t\t\t\t conf->max_degraded))\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8030  \t\t\tcontinue;\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8031  \t\tdirty_parity_disks++;\n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8032  \t}\n"
+ "91adb56473febe NeilBrown            2009-03-31  8033  \n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  8034  \t/*\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  8035  \t * 0 for a fully functional array, 1 or 2 for a degraded array.\n"
+ "17045f52ac76d9 NeilBrown            2011-12-23  8036  \t */\n"
+ "2e38a37f23c98d Song Liu             2017-01-24  8037  \tmddev->degraded = raid5_calc_degraded(conf);\n"
+ "91adb56473febe NeilBrown            2009-03-31  8038  \n"
+ "674806d62fb02a NeilBrown            2010-06-16  8039  \tif (has_failed(conf)) {\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  8040  \t\tpr_crit(\"md/raid:%s: not enough operational devices (%d/%d failed)\\n\",\n"
+ "02c2de8cc83588 NeilBrown            2006-10-03  8041  \t\t\tmdname(mddev), mddev->degraded, conf->raid_disks);\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8042  \t\tgoto abort;\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8043  \t}\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8044  \n"
+ "91adb56473febe NeilBrown            2009-03-31  8045  \t/* device size must be a multiple of chunk size */\n"
+ "c5eec74f252dfb Guoqing Jiang        2020-12-16  8046  \tmddev->dev_sectors &= ~((sector_t)mddev->chunk_sectors - 1);\n"
+ "91adb56473febe NeilBrown            2009-03-31  8047  \tmddev->resync_max_sectors = mddev->dev_sectors;\n"
+ "91adb56473febe NeilBrown            2009-03-31  8048  \n"
+ "c148ffdcda00b6 NeilBrown            2009-11-13  8049  \tif (mddev->degraded > dirty_parity_disks &&\n"
+ "907a99c314a5a6 Li Nan               2025-07-22  8050  \t    mddev->resync_offset != MaxSector) {\n"
+ "4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8051  \t\tif (test_bit(MD_HAS_PPL, &mddev->flags))\n"
+ "4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8052  \t\t\tpr_crit(\"md/raid:%s: starting dirty degraded array with PPL.\\n\",\n"
+ "4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8053  \t\t\t\tmdname(mddev));\n"
+ "4536bf9ba2d034 Artur Paszkiewicz    2017-03-09  8054  \t\telse if (mddev->ok_start_degraded)\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  8055  \t\t\tpr_crit(\"md/raid:%s: starting dirty degraded array - data corruption possible.\\n\",\n"
+ "6ff8d8ec06690f NeilBrown            2006-01-06  8056  \t\t\t\tmdname(mddev));\n"
+ "6ff8d8ec06690f NeilBrown            2006-01-06  8057  \t\telse {\n"
+ "cc6167b4f3b3ca NeilBrown            2016-11-02  8058  \t\t\tpr_crit(\"md/raid:%s: cannot start dirty degraded array.\\n\",\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8059  \t\t\t\tmdname(mddev));\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8060  \t\t\tgoto abort;\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8061  \t\t}\n"
+ "6ff8d8ec06690f NeilBrown            2006-01-06  8062  \t}\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8063  \n"
  "cc6167b4f3b3ca NeilBrown            2016-11-02  8064  \tpr_info(\"md/raid:%s: raid level %d active with %d out of %d devices, algorithm %d\\n\",\n"
  "cc6167b4f3b3ca NeilBrown            2016-11-02  8065  \t\tmdname(mddev), conf->level,\n"
  "^1da177e4c3f41 Linus Torvalds       2005-04-16  8066  \t\tmddev->raid_disks-mddev->degraded, mddev->raid_disks,\n"
@@ -73,9 +324,6 @@
  "01fce9e38c0e92 Yu Kuai              2026-01-12  8098  \n"
  "845b9e229fe071 Artur Paszkiewicz    2017-04-04  8099  \tif (log_init(conf, journal_dev, raid5_has_ppl(conf)))\n"
  "5aabf7c49d9ebe Song Liu             2016-11-17 @8100  \t\tgoto abort;\n"
- "\n"
- "Presumably we should propagate the error code from log_init()?\n"
- "\n"
  "5c7e81c3de9eb3 Shaohua Li           2015-08-13  8101  \n"
  "^1da177e4c3f41 Linus Torvalds       2005-04-16  8102  \treturn 0;\n"
  "^1da177e4c3f41 Linus Torvalds       2005-04-16  8103  abort:\n"
@@ -86,9 +334,10 @@
  "cc6167b4f3b3ca NeilBrown            2016-11-02  8108  \tpr_warn(\"md/raid:%s: failed to run raid set.\\n\", mdname(mddev));\n"
  "f63f17350e5373 Christoph Hellwig    2024-03-03  8109  \treturn ret;\n"
  "^1da177e4c3f41 Linus Torvalds       2005-04-16  8110  }\n"
+ "^1da177e4c3f41 Linus Torvalds       2005-04-16  8111  \n"
  "\n"
  "-- \n"
  "0-DAY CI Kernel Test Service\n"
  https://github.com/intel/lkp-tests/wiki
 
-3fdbc810032302be86d1a99a36232f530e8d9416634947280cd1a44c9abf907c
+a61c071b9768ee3ff7a8e63c29e8d5eb24422d6b1057e197669a03686b629407

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.