diff --git a/src/core/partitiontable.cpp b/src/core/partitiontable.cpp index 2dca846..b54be1a 100644 --- a/src/core/partitiontable.cpp +++ b/src/core/partitiontable.cpp @@ -317,6 +317,10 @@ Partition* createUnallocated(const Device& device, PartitionNode& parent, qint64 if (!parent.isRoot()) r |= PartitionRole::Logical; + // Mark unallocated space in LVM VG as LVM LV so that pasting can be easily disabled (it does not work yet) + if (device.type() == Device::LVM_Device) + r |= PartitionRole::Lvm_Lv; + if (!PartitionTable::getUnallocatedRange(device, parent, start, end)) return nullptr; diff --git a/src/ops/copyoperation.cpp b/src/ops/copyoperation.cpp index 8b0b857..5c516f2 100644 --- a/src/ops/copyoperation.cpp +++ b/src/ops/copyoperation.cpp @@ -314,6 +314,9 @@ bool CopyOperation::canPaste(const Partition* p, const Partition* source) if (p->roles().has(PartitionRole::Extended)) return false; + if (p->roles().has(PartitionRole::Lvm_Lv)) + return false; + if (p == source) return false;