Re: [PATCH] md: fix sync_completed reporting for very large drives (>2TB)

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

 



Le 04/01/2011 16:44, RÃmi RÃrolle a Ãcrit :
From: RÃmi RÃrolle<rrerolle@xxxxxxxxx>

The values exported in the sync_completed file are unsigned long, which
overflows with very large drives, resulting in wrong values reported.

Since sync_completed uses sectors as unit, we'll start getting wrong
values with components larger than 2TB.

This patch simply replaces the use of unsigned long by unsigned long long.


Hi Neil,

What is the status for this patch ?

Thanks in advance!

Signed-off-by: RÃmi RÃrolle<rrerolle@xxxxxxxxx>
---
  drivers/md/md.c |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index 175c424..ea46b3b 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3912,7 +3912,7 @@ static struct md_sysfs_entry md_sync_speed = __ATTR_RO(sync_speed);
  static ssize_t
  sync_completed_show(mddev_t *mddev, char *page)
  {
-	unsigned long max_sectors, resync;
+	unsigned long long max_sectors, resync;

  	if (!test_bit(MD_RECOVERY_RUNNING,&mddev->recovery))
  		return sprintf(page, "none\n");
@@ -3923,7 +3923,7 @@ sync_completed_show(mddev_t *mddev, char *page)
  		max_sectors = mddev->dev_sectors;

  	resync = mddev->curr_resync_completed;
-	return sprintf(page, "%lu / %lu\n", resync, max_sectors);
+	return sprintf(page, "%llu / %llu\n", resync, max_sectors);
  }

  static struct md_sysfs_entry md_sync_completed = __ATTR_RO(sync_completed);

--
RÃmi
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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