--- evms-2.5.5/plugins/disk/localdskmgr.c.~1~ 2006-11-08 04:13:57.000000000 -0800 +++ evms-2.5.5/plugins/disk/localdskmgr.c 2006-11-08 04:14:18.000000000 -0800 @@ -1655,6 +1655,22 @@ get_kernel_geometry(disk); } + if (disk->geometry.heads == 0) { + LOG_DEBUG("Disk %s: Heads is zero. Resetting to 255.\n", + disk->name); + disk->geometry.heads = 255; + } + if (disk->geometry.sectors_per_track == 0) { + LOG_DEBUG("Disk %s: Sectors-per-track is zero. Resetting to 63.\n", + disk->name); + disk->geometry.sectors_per_track = 63; + } + if (disk->geometry.bytes_per_sector == 0) { + LOG_DEBUG("Disk %s: Sector-size is zero. Resetting to 512.\n", + disk->name); + disk->geometry.bytes_per_sector = EVMS_VSECTOR_SIZE; + } + disk->geometry.cylinders = disk->size / (disk->geometry.heads * disk->geometry.sectors_per_track *