From 2181ea2edc3154945a484fe3dca47fa00f0f4753 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sun, 31 Aug 2003 04:33:12 -0700 Subject: [PATCH] large dev_t 12/12 oops fix From: viro@parcelfarce.linux.theplanet.co.uk On Wed, Aug 27, 2003 at 01:46:37AM -0700, Andrew Morton wrote: > > LILO seems to be oopsing in HDIO_GETGEO ioctl for some reason, in > generic_ide_ioctl(). > > I'm not sure quite why though. Could one of your patches affected this > area? The last one (fix for hd_struct handling). The fix follows: --- include/linux/genhd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 623baf2fd239..460ef0362ab5 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -197,7 +197,7 @@ extern void rand_initialize_disk(struct gendisk *disk); static inline sector_t get_start_sect(struct block_device *bdev) { - return bdev->bd_part->start_sect; + return bdev->bd_contains == bdev ? 0 : bdev->bd_part->start_sect; } static inline sector_t get_capacity(struct gendisk *disk) { -- cgit v1.2.3