diff mbox

[17/18] Fix sun partition numbering

Message ID 1444333491-16265-18-git-send-email-bmarzins@redhat.com (mailing list archive)
State Not Applicable, archived
Delegated to: Benjamin Marzinski
Headers show

Commit Message

Benjamin Marzinski Oct. 8, 2015, 7:44 p.m. UTC
On Sun labeled devices, the kpartx partition numbers weren't agreeing
with the underlying device partition numbers.  This is because kpartx
doesn't count slices with no sectors, when determining the numbering.
This patch counts these empty slices, so the numbering comes out the
same.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
---
 kpartx/sun.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Hannes Reinecke Oct. 12, 2015, 7:11 a.m. UTC | #1
On 10/08/2015 09:44 PM, Benjamin Marzinski wrote:
> On Sun labeled devices, the kpartx partition numbers weren't agreeing
> with the underlying device partition numbers.  This is because kpartx
> doesn't count slices with no sectors, when determining the numbering.
> This patch counts these empty slices, so the numbering comes out the
> same.
> 
> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
> ---
>  kpartx/sun.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/kpartx/sun.c b/kpartx/sun.c
> index 3d88b21..b8c023b 100644
> --- a/kpartx/sun.c
> +++ b/kpartx/sun.c
> @@ -82,8 +82,6 @@ read_sun_pt(int fd, struct slice all, struct slice *sp, int ns) {
>  	for(i=0, n=0; i<SUN_DISK_MAXPARTITIONS; i++) {
>  		s = &l->partitions[i];
>  
> -		if (s->num_sectors == 0)
> -			continue;
>  		if (n < ns) {
>  			sp[n].start = offset +
>  				be32_to_cpu(s->start_cylinder) * be16_to_cpu(l->nsect) * be16_to_cpu(l->ntrks);
> 
A-ha. If you say so.

Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
diff mbox

Patch

diff --git a/kpartx/sun.c b/kpartx/sun.c
index 3d88b21..b8c023b 100644
--- a/kpartx/sun.c
+++ b/kpartx/sun.c
@@ -82,8 +82,6 @@  read_sun_pt(int fd, struct slice all, struct slice *sp, int ns) {
 	for(i=0, n=0; i<SUN_DISK_MAXPARTITIONS; i++) {
 		s = &l->partitions[i];
 
-		if (s->num_sectors == 0)
-			continue;
 		if (n < ns) {
 			sp[n].start = offset +
 				be32_to_cpu(s->start_cylinder) * be16_to_cpu(l->nsect) * be16_to_cpu(l->ntrks);