[PATCH] [POWERPC] Fix viodasd geometry calculations.

Christoph Hellwig hch at lst.de
Wed May 30 20:21:14 EST 2007


On Tue, May 29, 2007 at 04:06:54PM +1000, Stephen Rothwell wrote:
> Commit a885c8c4316e1c1d2d2c8755da3f3d14f852528d that introduced the
> getgeo block device method changed the fallback number of sectors and
> introduced a bug into the fallback cylinder number calculation.

Looking at the patch I can confirm that it introduced this abitrary
changes and your patch reverts it to the original.

ACK.

> 
> Thanks to Rusty Russell for noticing this.
> 
> Signed-off-by: Stephen Rothwell <sfr at canb.auug.org.au>
> ---
>  drivers/block/viodasd.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> Paul, this is not too urgent as in most (all) cases the fallbacks will
> not be taken.
> 
> -- 
> Cheers,
> Stephen Rothwell                    sfr at canb.auug.org.au
> 
> diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c
> index 68592c3..dae3991 100644
> --- a/drivers/block/viodasd.c
> +++ b/drivers/block/viodasd.c
> @@ -252,10 +252,10 @@ static int viodasd_getgeo(struct block_device *bdev, struct hd_geometry *geo)
>  	struct gendisk *disk = bdev->bd_disk;
>  	struct viodasd_device *d = disk->private_data;
>  
> -	geo->sectors = d->sectors ? d->sectors : 0;
> +	geo->sectors = d->sectors ? d->sectors : 32;
>  	geo->heads = d->tracks ? d->tracks  : 64;
>  	geo->cylinders = d->cylinders ? d->cylinders :
> -		get_capacity(disk) / (geo->cylinders * geo->heads);
> +		get_capacity(disk) / (geo->sectors * geo->heads);
>  
>  	return 0;
>  }
> -- 
> 1.5.1.4
---end quoted text---



More information about the Linuxppc-dev mailing list