Remove HDIO_GETGEO_BIG which is dead (removed from 2.6) and was pointless back
authorRob Landley <rob@landley.net>
Wed, 3 May 2006 20:00:00 +0000 (20:00 -0000)
committerRob Landley <rob@landley.net>
Wed, 3 May 2006 20:00:00 +0000 (20:00 -0000)
in 2.4 (it fetched the same hd_geometry struct only with uint cylinders instead
of ushort cylinders: nothing that big has ever accurately reported gemoetry,
it's all LBA.

Also stop declaring the hd_geometry struct static: it's two chars, a short, and
a long for a grand total of 8 bytes.  That can go on the stack.

miscutils/hdparm.c

index 5c02a34..f237d32 100644 (file)
@@ -2143,21 +2143,13 @@ static void process_dev(char *devname)
        }
        if (verbose || get_geom)
        {
-               static const char msg[] = " geometry     = %u/%u/%u, sectors = %ld, start = %ld\n";
-               static struct hd_geometry g;
-#ifdef HDIO_GETGEO_BIG
-               static struct hd_big_geometry bg;
-#endif
-
                if (!bb_ioctl(fd, BLKGETSIZE, &parm, "BLKGETSIZE"))
                {
-#ifdef HDIO_GETGEO_BIG
-                       if (!bb_ioctl(fd, HDIO_GETGEO_BIG, &bg, "HDIO_GETGEO_BIG"))
-                               printf(msg, bg.cylinders, bg.heads, bg.sectors, parm, bg.start);
-                       else
-#endif
+                       struct hd_geometry g;
+
                        if (!bb_ioctl(fd, HDIO_GETGEO, &g, "HDIO_GETGEO"))
-                               printf(msg, g.cylinders, g.heads, g.sectors, parm, g.start);
+                               printf(" geometry     = %u/%u/%u, sectors = %ld, start = %ld\n",
+                                               g.cylinders, g.heads, g.sectors, parm, g.start);
                }
        }
 #ifdef HDIO_DRIVE_CMD