lkml.org 
[lkml]   [2002]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] clipped disk reports clipped lba size

Since my BIOS does not support my disk (WD400) I had to clip to 33.8G. At boot time Linux (2.4.17) uses the lba size reported by the disk, that is 33.8 and does not allow me to access the rest of the disk.

The problem is that even though the whole disk can be used after clipping, Linux uses only the reported lba size even if I force the geometry.

Here is a patch to solve that. I am sure there is a more elegant solution, I guess we could add a "lba_size=" or something like that as a boot parameter.

The patch against 2.4.17 does this: if the geometry has been forced then use it to calculate the lba size and ignore the (possibly clipped) answer from the disk.

Eduardo.--- drivers/ide/ide-disk.c.orig Wed Jan 30 11:26:51 2002
+++ drivers/ide/ide-disk.c Wed Jan 30 11:30:26 2002
@@ -511,6 +511,12 @@

drive->select.b.lba = 0;

+ /* If the geometry has been forced recalculate lba_capacity */
+ if ((id->capability & 2) && lba_capacity_is_ok(id) &&
+ drive->forced_geom)
+ {
+ id->lba_capacity = drive->bios_head * drive->bios_sect * drive->bios_cyl;
+ }
/* Determine capacity, and use LBA if the drive properly supports it */
if ((id->capability & 2) && lba_capacity_is_ok(id)) {
capacity = id->lba_capacity;
\
 
 \ /
  Last update: 2005-03-22 13:15    [W:0.035 / U:1.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site