ignore partition info logical_block_size
This commit is contained in:
@@ -198,13 +198,16 @@ status_t Initialize(int fatbits, const char *device, const char *label, bool nop
|
|||||||
if (!isRawDevice && !hasPartitionInfo) {
|
if (!isRawDevice && !hasPartitionInfo) {
|
||||||
fprintf(stderr,"Warning: couldn't get partition information\n");
|
fprintf(stderr,"Warning: couldn't get partition information\n");
|
||||||
}
|
}
|
||||||
if ( (hasPartitionInfo && partitionInfo.logical_block_size != 512)
|
if ((hasBiosGeometry && biosGeometry.bytes_per_sector != 512)
|
||||||
|| (hasBiosGeometry && biosGeometry.bytes_per_sector != 512)
|
|
||||||
|| (hasDeviceGeometry && deviceGeometry.bytes_per_sector != 512)) {
|
|| (hasDeviceGeometry && deviceGeometry.bytes_per_sector != 512)) {
|
||||||
fprintf(stderr,"Error: block size not 512 bytes\n");
|
fprintf(stderr,"Error: geometry block size not 512 bytes\n");
|
||||||
close(fd);
|
close(fd);
|
||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
|
} else if (hasPartitionInfo && partitionInfo.logical_block_size != 512) {
|
||||||
|
printf("partition logical block size is not 512, it's %ld bytes\n",
|
||||||
|
partitionInfo.logical_block_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasDeviceGeometry && deviceGeometry.read_only) {
|
if (hasDeviceGeometry && deviceGeometry.read_only) {
|
||||||
fprintf(stderr,"Error: this is a read-only device\n");
|
fprintf(stderr,"Error: this is a read-only device\n");
|
||||||
close(fd);
|
close(fd);
|
||||||
@@ -321,7 +324,7 @@ status_t Initialize(int fatbits, const char *device, const char *label, bool nop
|
|||||||
uint8 biosDriveId;
|
uint8 biosDriveId;
|
||||||
|
|
||||||
// get bios drive-id, or use 0x80
|
// get bios drive-id, or use 0x80
|
||||||
if (B_OK != ioctl(fd, B_GET_BIOS_DRIVE_ID, &biosDriveId)) {
|
if (B_OK != ioctl(fd, B_GET_BIOS_DRIVE_ID, &biosDriveId, sizeof(biosDriveId))) {
|
||||||
biosDriveId = 0x80;
|
biosDriveId = 0x80;
|
||||||
} else {
|
} else {
|
||||||
printf("bios drive id: 0x%02x\n", (int)biosDriveId);
|
printf("bios drive id: 0x%02x\n", (int)biosDriveId);
|
||||||
|
|||||||
Reference in New Issue
Block a user