#include "PhysicalPartition.h"
#define B_NOT_IMPLEMENTED B_ERROR
*/
PhysicalPartition::PhysicalPartition(uint16 number, uint32 start, uint32 length)
:
fNumber(number),
fStart(start),
fLength(length)
{
TRACE(("PhysicalPartition::PhysicalPartition: number = %d, start = %"
B_PRIu32 ",length = %" B_PRIu32 "\n", number, start, length));
}
*/
PhysicalPartition::~PhysicalPartition()
{
}
The given logical block is simply treated as an offset from the
start of the physical partition.
*/
status_t
PhysicalPartition::MapBlock(uint32 logicalBlock, off_t &physicalBlock)
{
TRACE(("PhysicalPartition::MapBlock: %" B_PRIu32 "\n", logicalBlock));
if (logicalBlock >= fLength) {
TRACE_ERROR(("PhysicalPartition::MapBlock: block %" B_PRIu32 " invalid"
",length = %" B_PRIu32 "\n", logicalBlock, fLength));
return B_BAD_ADDRESS;
} else {
physicalBlock = fStart + logicalBlock;
TRACE(("PhysicalPartition::MapBlock: block %" B_PRIu32 " mapped to %"
B_PRIdOFF "\n", logicalBlock, physicalBlock));
return B_OK;
}
}