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

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

 



On Tue, 11 Jan 2011 11:37:54 +0100 Rémi Rérolle <rrerolle@xxxxxxxxx> wrote:

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

Perfect timing!!

The status is that I had completely forgotten about it, but I have just been
assembling some md patches for the current merge window, so I have just added
your patch - it should appear in -next in a day or so and go to Linus by the
end of the week.

Thanks!

NeilBrown


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

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