mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #8262 from juhoeskeli/mbrblockdevice_align
Align MBRBlockDevice writes to underlying BlockDevice write sizepull/8280/head
commit
f1587b50d7
|
@ -73,6 +73,12 @@ static int partition_absolute(
|
||||||
{
|
{
|
||||||
// Allocate smallest buffer necessary to write MBR
|
// Allocate smallest buffer necessary to write MBR
|
||||||
uint32_t buffer_size = std::max<uint32_t>(bd->get_program_size(), sizeof(struct mbr_table));
|
uint32_t buffer_size = std::max<uint32_t>(bd->get_program_size(), sizeof(struct mbr_table));
|
||||||
|
|
||||||
|
// Prevent alignment issues
|
||||||
|
if(buffer_size % bd->get_program_size() != 0) {
|
||||||
|
buffer_size += bd->get_program_size() - (buffer_size % bd->get_program_size());
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t *buffer = new uint8_t[buffer_size];
|
uint8_t *buffer = new uint8_t[buffer_size];
|
||||||
|
|
||||||
// Check for existing MBR
|
// Check for existing MBR
|
||||||
|
|
Loading…
Reference in New Issue