linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: Andre Noll <maan@systemlinux.org>
Cc: Peter Rabbitson <rabbit+list@rabbit.us>,
	LinuxRaid <linux-raid@vger.kernel.org>
Subject: Re: [PATCH] mdadm: Fix the used device size in mdadm -D output.
Date: Mon, 2 Feb 2009 10:04:45 +1100	[thread overview]
Message-ID: <18822.10893.62071.901769@notabene.brown> (raw)
In-Reply-To: message from Andre Noll on Tuesday January 27

On Tuesday January 27, maan@systemlinux.org wrote:
> On 19:33, Andre Noll wrote:
> > This is twice as much as it should be due to a bug in mdadm which bites
> > only for version1 superblocks. The patch below should fix it. However,
> > this might not be the most elegant solution because the real bug
> > is IMHO that get_component_size() multiplies the value from sysfs
> > (which is always in 1K units) by two, so it returns 2K units which
> > looks a bit weird.
> 
> This was of course a braino: Multiplying a value in 1K units by two
> yields 512byte units rather than 2K units, which is exactly what the
> comment to get_component_size() says ;)
> 
> That being said, I think my patch is correct and dividing the result
> by two in Detail() seems the best way to deal with the situation.
> So here's the patch again, this time with proper log message.

Thanks Andre.
Your patch is good... but I really like to use "sectors" as often as
possible.
So I've changed it to leave 'dsize' as sectors, but device it by 2, or
shift by 9, as appropriate.

Thanks,
NeilBrown


> 
> Andre
> 
> commit 2e9fd78bd09bf332ac86f2d288a0e7c3c1c3df4f
> Author: Andre Noll <maan@systemlinux.org>
> Date:   Tue Jan 27 08:49:15 2009 +0100
> 
>     Fix the used device size in mdadm -D output.
>     
>     As get_component_size() returns the number of used sectors of a
>     device while mdadm is supposed to print this size in kilobytes,
>     we have to divide the return value of get_component_size() by two.
>     
>     Signed-off-by: Andre Noll <maan@systemlinux.org>
> 
> diff --git a/Detail.c b/Detail.c
> index 3cee66f..cef1abb 100644
> --- a/Detail.c
> +++ b/Detail.c
> @@ -195,7 +195,7 @@ int Detail(char *dev, int brief, int export, int test, char *homehost)
>  		if (array.level >= 1) {
>  			if (array.major_version != 0 &&
>  			    (larray_size >= 0xFFFFFFFFULL|| array.size == 0)) {
> -				unsigned long long dsize = get_component_size(fd);
> +				unsigned long long dsize = get_component_size(fd) / 2; /* KB */
>  				if (dsize > 0)
>  					printf("  Used Dev Size : %llu%s\n",
>  					       dsize,
> -- 
> The only person who always got his work done by Friday was Robinson Crusoe

  reply	other threads:[~2009-02-01 23:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-26 15:14 [PATCH 0/2] md: More block -> sector conversions Andre Noll
2009-01-26 15:14 ` [PATCH 1/2] md: Make mddev->size sector-based Andre Noll
2009-01-26 15:14 ` [PATCH 2/2] md: Represent raid device size in sectors Andre Noll
2009-01-26 15:31 ` [PATCH 0/2] md: More block -> sector conversions Peter Rabbitson
2009-01-26 16:08   ` Andre Noll
2009-01-26 17:26     ` Peter Rabbitson
2009-01-26 18:33       ` Andre Noll
2009-01-27  7:52         ` [PATCH] mdadm: Fix the used device size in mdadm -D output Andre Noll
2009-02-01 23:04           ` Neil Brown [this message]
2009-01-27  6:39 ` [PATCH 0/2] md: More block -> sector conversions Neil Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=18822.10893.62071.901769@notabene.brown \
    --to=neilb@suse.de \
    --cc=linux-raid@vger.kernel.org \
    --cc=maan@systemlinux.org \
    --cc=rabbit+list@rabbit.us \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).