From 41570fde5d9cc087e98d0ebba4e13753c71d3bc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sun, 24 Dec 2017 23:56:03 +0000 Subject: [PATCH 1/2] Set FAT12 MBR/GPT partition type. --- src/plugins/sfdisk/sfdiskpartitiontable.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/sfdisk/sfdiskpartitiontable.cpp b/src/plugins/sfdisk/sfdiskpartitiontable.cpp index 8ca59b8..4e7bc59 100644 --- a/src/plugins/sfdisk/sfdiskpartitiontable.cpp +++ b/src/plugins/sfdisk/sfdiskpartitiontable.cpp @@ -165,6 +165,7 @@ static struct { { FileSystem::Ext3, { QLatin1String("0FC63DAF-8483-4772-8E79-3D69D8477DE4"), QLatin1String("83") } }, { FileSystem::Ext4, { QLatin1String("0FC63DAF-8483-4772-8E79-3D69D8477DE4"), QLatin1String("83") } }, { FileSystem::LinuxSwap, { QLatin1String("0657FD6D-A4AB-43C4-84E5-0933C84B4F4F"), QLatin1String("82") } }, + { FileSystem::Fat12, { QLatin1String("EBD0A0A2-B9E5-4433-87C0-68B6B72699C7"), QLatin1String("6") } }, { FileSystem::Fat16, { QLatin1String("EBD0A0A2-B9E5-4433-87C0-68B6B72699C7"), QLatin1String("6") } }, { FileSystem::Fat32, { QLatin1String("EBD0A0A2-B9E5-4433-87C0-68B6B72699C7"), QLatin1String("7") } }, { FileSystem::Nilfs2, { QLatin1String("0FC63DAF-8483-4772-8E79-3D69D8477DE4"), QLatin1String("83") } }, From 590b531863bc0267b5ab3d5ef21a28fb716ee5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Mon, 25 Dec 2017 00:11:13 +0000 Subject: [PATCH 2/2] Commit partition table when closing Sfdisk backend device. --- src/plugins/sfdisk/sfdiskdevice.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/plugins/sfdisk/sfdiskdevice.cpp b/src/plugins/sfdisk/sfdiskdevice.cpp index f373df7..2869a79 100644 --- a/src/plugins/sfdisk/sfdiskdevice.cpp +++ b/src/plugins/sfdisk/sfdiskdevice.cpp @@ -31,6 +31,7 @@ SfdiskDevice::SfdiskDevice(const Device& d) : SfdiskDevice::~SfdiskDevice() { + close(); } bool SfdiskDevice::open() @@ -50,19 +51,16 @@ bool SfdiskDevice::close() if (isExclusive()) setExclusive(false); + CoreBackendPartitionTable* ptable = new SfdiskPartitionTable(m_device); + ptable->commit(); + delete ptable; + return true; } CoreBackendPartitionTable* SfdiskDevice::openPartitionTable() { - CoreBackendPartitionTable* ptable = new SfdiskPartitionTable(m_device); - - if (ptable == nullptr || !ptable->open()) { - delete ptable; - ptable = nullptr; - } - - return ptable; + return new SfdiskPartitionTable(m_device); } bool SfdiskDevice::createPartitionTable(Report& report, const PartitionTable& ptable)