[PATCH] imsm: change wrong size verification

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

 



Expectation that size is always rounded is incorrect.
Just confirm that size is smaller to be certain that update is safe.

Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxxxxxxxx>
---
 super-intel.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/super-intel.c b/super-intel.c
index 6617dd6d..a7052530 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -11817,12 +11817,12 @@ static int imsm_fix_size_mismatch(struct supertype *st, int subarray_index)
 		if (calc_size == d_size || dev->vol.migr_type == MIGR_GEN_MIGR)
 			continue;
 
-		/* There is a difference, verify that imsm_dev_size is
-		 * rounded correctly and push update.
+		/* There is a difference, confirm that imsm_dev_size is
+		 * smaller and push update.
 		 */
-		if (d_size != round_size_to_mb(d_size, disc_count)) {
-			dprintf("imsm: Size of volume %d is not rounded correctly\n",
-				 i);
+		if (d_size > calc_size) {
+			pr_err("imsm: dev size of subarray %d is incorrect\n",
+				i);
 			goto exit;
 		}
 		memset(&geo, 0, sizeof(struct geo_params));
-- 
2.26.2




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux