diff options
Diffstat (limited to 'sys/src/libdisk/disk.c')
-rw-r--r-- | sys/src/libdisk/disk.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/src/libdisk/disk.c b/sys/src/libdisk/disk.c index dadb92cf2..0ac988438 100644 --- a/sys/src/libdisk/disk.c +++ b/sys/src/libdisk/disk.c @@ -247,13 +247,17 @@ opensd(Disk *disk) disk->s = strtol(f[5], 0, 0); } } + if(nf >= 3 && strcmp(f[0], "alignment") == 0) { + disk->psecsize = strtol(f[1], 0, 0); + disk->physalign = strtol(f[2], 0, 0); + } if(nf >= 4 && strcmp(f[0], "part") == 0 && strcmp(f[1], disk->part) == 0) { disk->offset = strtoll(f[2], 0, 0); disk->secs = strtoll(f[3], 0, 0) - disk->offset; } } - + if (!disk->psecsize) disk->psecsize = disk->secsize; disk->size = disk->secs * disk->secsize; if(disk->size <= 0) { strcpy(disk->part, ""); |