* [PATCH] md: fix sync_completed reporting for very large drives (>2TB)
@ 2011-01-04 15:44 Rémi Rérolle
2011-01-11 10:37 ` Rémi Rérolle
0 siblings, 1 reply; 3+ messages in thread
From: Rémi Rérolle @ 2011-01-04 15:44 UTC (permalink / raw)
To: linux-raid; +Cc: Rémi Rérolle
From: Rémi Rérolle <rrerolle@lacie.com>
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.
Signed-off-by: Rémi Rérolle <rrerolle@lacie.com>
---
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);
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] md: fix sync_completed reporting for very large drives (>2TB)
2011-01-04 15:44 [PATCH] md: fix sync_completed reporting for very large drives (>2TB) Rémi Rérolle
@ 2011-01-11 10:37 ` Rémi Rérolle
2011-01-11 11:01 ` NeilBrown
0 siblings, 1 reply; 3+ messages in thread
From: Rémi Rérolle @ 2011-01-11 10:37 UTC (permalink / raw)
To: Rémi Rérolle; +Cc: linux-raid, neilb
Le 04/01/2011 16:44, Rémi Rérolle a écrit :
> From: Rémi Rérolle<rrerolle@lacie.com>
>
> 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@lacie.com>
> ---
> 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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] md: fix sync_completed reporting for very large drives (>2TB)
2011-01-11 10:37 ` Rémi Rérolle
@ 2011-01-11 11:01 ` NeilBrown
0 siblings, 0 replies; 3+ messages in thread
From: NeilBrown @ 2011-01-11 11:01 UTC (permalink / raw)
To: Rémi Rérolle; +Cc: Rémi Rérolle, linux-raid
On Tue, 11 Jan 2011 11:37:54 +0100 Rémi Rérolle <rrerolle@lacie.com> wrote:
> Le 04/01/2011 16:44, Rémi Rérolle a écrit :
> > From: Rémi Rérolle<rrerolle@lacie.com>
> >
> > 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@lacie.com>
> > ---
> > 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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-01-11 11:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-04 15:44 [PATCH] md: fix sync_completed reporting for very large drives (>2TB) Rémi Rérolle
2011-01-11 10:37 ` Rémi Rérolle
2011-01-11 11:01 ` NeilBrown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).