[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