mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* cciss update [4/8] cylinder calculation fix
@ 2004-08-10 16:07 mikem
  0 siblings, 0 replies; only message in thread
From: mikem @ 2004-08-10 16:07 UTC (permalink / raw)
  To: akpm, axboe; +Cc: linux-kernel


Patch 4 of 8

This patch fixes our cylinder calculations. Without his fix the number
of cylinders maxes out at 65535.
Aplies against 2.6.8-rc4. Please apply patches in order.

Thanks,
mikem
-------------------------------------------------------------------------------
diff -burpN lx268-rc3-p003/drivers/block/cciss.c lx268-rc3/drivers/block/cciss.c
--- lx268-rc3-p003/drivers/block/cciss.c	2004-08-05 10:40:00.865910000 -0500
+++ lx268-rc3/drivers/block/cciss.c	2004-08-05 11:16:03.222182640 -0500
@@ -1470,6 +1470,8 @@ static void cciss_geometry_inquiry(int c
 			drv->sectors = 32; // Sectors per track
 			drv->cylinders = total_size / 255 / 32;
 		} else {
+			unsigned int t;
+
 			drv->block_size = block_size;
 			drv->nr_blocks = total_size;
 			drv->heads = inq_buff->data_byte[6];
@@ -1477,6 +1479,10 @@ static void cciss_geometry_inquiry(int c
 			drv->cylinders = (inq_buff->data_byte[4] & 0xff) << 8;
 			drv->cylinders += inq_buff->data_byte[5];
 			drv->raid_level = inq_buff->data_byte[8];
+			t = drv->heads * drv->sectors;
+			if (t > 1) {
+				drv->cylinders = total_size/t;
+			}
 		}
 	} else { /* Get geometry failed */
 		printk(KERN_WARNING "cciss: reading geometry failed, "

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-08-10 16:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-10 16:07 cciss update [4/8] cylinder calculation fix mikem

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®