Commit Graph

194 Commits

Author SHA1 Message Date
Adriaan de Groot
18a1f459db Partition: reduce code duplications 2017-07-12 05:54:22 -04:00
Adriaan de Groot
7d49255a78 Partitions: use an enum with clear semantics instead of bool 2017-07-12 05:41:29 -04:00
Adriaan de Groot
730e0d885f Partitions: use KPMCore-defined default backend 2017-07-12 05:17:34 -04:00
Adriaan de Groot
55c6cfa1ca Partitions: improve wording of debug messages 2017-07-12 04:57:22 -04:00
Adriaan de Groot
102bed1805 Partitions: split device-listing (and winnowing) into separate source file.
The grab-list-of-writable-devices code is usable for the partition module, but
also useful for welcome module, so reduce its footprint.
2017-07-12 04:52:52 -04:00
Adriaan de Groot
5bf03cc515 Partitions: shuffle some device-detection code off to PartUtils.cpp 2017-07-11 06:27:19 -04:00
Adriaan de Groot
aeb0cd0d3f Partitions: drop devices with mounted partitions.
FIXES #639
2017-07-11 06:27:19 -04:00
Adriaan de Groot
cc7631dd99 Partitions: code-formatting 2017-07-11 06:27:19 -04:00
Adriaan de Groot
232bbe18bc Be more verbose while scanning devices 2017-07-04 05:32:05 -04:00
Adriaan de Groot
8ea14d7957 Release: add copyright to files I've touched 2017-06-21 08:27:10 -04:00
Adriaan de Groot
46a2503c87 PartitionModule: skip nullptr devices, and report count
FIXES #686
2017-06-14 12:24:32 -04:00
Adriaan de Groot
92a2c7aa70 PartitionModule: avoid nullptr crashes
Fix up iterator code so that it handles nullptr better.
This avoids part of #686.
2017-06-14 12:24:32 -04:00
Adriaan de Groot
e92d82c5db Cleanup: add copyright lines 2017-06-12 09:59:04 -04:00
Adriaan de Groot
5382a510a9 Cleanup: switch to C++11 user-defined literals 2017-06-12 04:51:55 -04:00
Adriaan de Groot
829f72363e Cleanup: remove duplicate #define 2017-06-12 03:32:22 -04:00
Rohan Garg
bba2f65079
Add additional variables to help improve readability 2017-04-20 01:38:30 +02:00
Teo Mrnjavac
80beb87ae9 Documentation++ 2017-03-03 12:32:44 +01:00
Teo Mrnjavac
6c7cdb5f50 Documentation++ 2017-03-01 13:35:06 +01:00
Teo Mrnjavac
3aebb79d30 Add optional config value neverCreateSwap in partition module.
CAL-458 #close The feature has landed in master, please test.
2017-02-09 18:08:47 +01:00
Teo Mrnjavac
4f1317d1b7 Force the correct flags for EFI system partition. 2017-01-12 16:52:22 +01:00
Teo Mrnjavac
40eba50821 Improve debug output. 2016-12-23 14:17:57 +01:00
Teo Mrnjavac
244b4dff83 Improve debug output. 2016-12-23 14:03:47 +01:00
Teo Mrnjavac
457172df66 Do not dereference nullptr. 2016-12-13 12:17:07 +01:00
Teo Mrnjavac
45315e6ae9 Improve debug output for bootloader code path. 2016-12-02 18:36:02 +01:00
Teo Mrnjavac
2230cd6941 Use the LUKS filesystem's outer UUID for the color index. 2016-11-30 17:26:49 +01:00
Kevin Kofler
1548fe4810 [partition] Use FlagEsp instead of sgdisk to scan for ESPs.
Address an old FIXME in
PartitionCoreModule::scanForEfiSystemPartitions(): Check the FlagEsp on
the Partition object (that KPMcore has been supporting since 2.1.0)
instead of running sgdisk.
2016-10-29 01:09:14 +02:00
Kevin Kofler
5377003f89 Set the ESP flag in partition rather than bootloader.
The manual partitioning setup was already requiring the user to check
the ESP flag for the EFI System Partition. Now the autopartitioning also
sets it directly (a one-line change). The sgdisk call in the bootloader
module is thus no longer necessary (it was only a workaround because
kpmcore < 2.1.0 did not support FlagEsp), so remove that snippet.

This fixes configurations such as NVME disks where splitting boot_device
into boot_device[-1:] and boot_device[:-1] is not the correct split
(because the partition gets a 2-letter suffix) (reported by demmm on
IRC).
2016-10-29 00:52:38 +02:00
Chantara Tith
64db6d5ba1 Use device's immutable copy instead of rescanning. 2016-09-11 16:20:50 +07:00
Teo Mrnjavac
c316d22b08 Keep an immutable copy for every scanned Device* to avoid rescans. 2016-09-09 11:28:39 +02:00
Teo Mrnjavac
464336d609 Assert on nullptr Device*. 2016-09-09 11:28:39 +02:00
Chantara Tith
aa10fe982a API Changes, logicalSectorSize -> logicalSize, totalSectors -> totalLogical. 2016-09-09 11:28:39 +02:00
Teo Mrnjavac
cbb2162ee9 Merge pull request #255 from stikonas/master
Port away from most cases of Q_FOREACH to C++11 ranged for loop.
2016-09-02 15:14:25 +02:00
Teo Mrnjavac
6c928e0404 Exclude ISO9660 volumes. 2016-09-02 15:12:48 +02:00
Teo Mrnjavac
ad219e1b8e Exclude loop devices with mounted children from devices list. 2016-09-02 12:08:00 +02:00
Andrius Štikonas
9f0ca042fe Port away from most cases of Q_FOREACH to C++11 ranged for loop.
In order to avoid deep copies, Qt containers over which we iterate must be const
The remaining unported cases require qAsConst (Qt 5.7) or std::as_const (C++17)
2016-09-01 16:46:14 +01:00
Teo Mrnjavac
849137c20b Use UUIDs instead of paths to match osprober entries with partitions. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
811261258b Try to load filesystem UUIDs into the OsproberEntryList structure. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
f13f6a1faf Add filesystem UUID to OsproberEntry structure. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
18b6e56271 nullptr safety. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
754cfc78b3 Make che color cache indexed by UUID instead of by path. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
003456594e Try with new enumeration but no cache reset. 2016-07-27 16:55:22 +02:00
Teo Mrnjavac
1da4360ed6 Go on with colors enumeration even when there's a new partition. 2016-07-27 16:53:17 +02:00
Teo Mrnjavac
c08eecbbaf Invalidate colors cache on delete. 2016-07-27 16:49:53 +02:00
Teo Mrnjavac
9f1f3a8f54 Add invalidateCache to ColorUtils. 2016-07-27 16:49:13 +02:00
Teo Mrnjavac
45ed210192 Add OsproberHomePartitionPathRole to PartitionModel. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
be3070ca48 Populate /home partition path, if any. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
1443b335d3 OsproberEntry.cpp be gone! 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
5fe5b8a4f3 Add some guesswork to acquire a part node from a fstab entry for /home. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
f2f5a18984 Reading a system's fstab lines into the osprober entries list. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
098aa5546c Add struct FstabEntry to OsproberEntry.h. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
2951c88990 Init filesystems asynchronously. 2016-07-20 13:02:04 +02:00
Teo Mrnjavac
45f6e6c55b Rearrange asynchronous scan in PartitionCoreModule a bit. 2016-07-19 13:04:00 +02:00
Teo Mrnjavac
f5ff716369 Make everything obey the default filesystem type setting. 2016-06-10 15:22:21 +02:00
Teo Mrnjavac
e84108e234 Add encryption support in PartitionActions::doReplacePartition. 2016-06-03 16:39:28 +02:00
Teo Mrnjavac
a252f7ff32 Debug output. 2016-05-12 14:01:38 +02:00
Teo Mrnjavac
167b4fc0a2 Exclude zram from devices list. 2016-05-09 16:18:03 +02:00
Teo Mrnjavac
759ccae9f6 Tentative LUKS support for EraseAutopartition.
Partitioning only, install doesn't work yet.
2016-05-06 18:59:51 +02:00
Teo Mrnjavac
0dfe627d52 Add KPMHelpers::createNewEncryptedPartition. 2016-05-06 18:59:51 +02:00
Chantara Tith
fd8c131b26 implement free-space partition replace install 2016-03-18 17:09:50 +07:00
Teo Mrnjavac
4f5230fc63 Revert "Temporarily allow read-only devices."
This reverts commit fc4a8b8628.
2016-03-15 18:07:45 +01:00
Teo Mrnjavac
fc4a8b8628 Temporarily allow read-only devices.
This way the KPMcore libpartedbackend scanner won't filter out Parted
devices of type UNKNOWN.
CAL-349
2016-03-15 16:45:48 +01:00
Teo Mrnjavac
a0055534a1 Disallow replace/resize on free space.
CAL-359 #close
2016-03-10 12:58:10 +01:00
Teo Mrnjavac
7d5795a6fd Empty path should yield nullptr Partition. 2016-03-10 12:43:00 +01:00
Teo Mrnjavac
24c1bf429e Don't fail when trying to replace unallocated space. 2016-03-10 12:33:19 +01:00
Teo Mrnjavac
be9ec27350 Make findPartitionByMountPoint public. 2016-03-09 12:52:43 +01:00
Teo Mrnjavac
e9d2312002 PCM::createPartition now includes SetPartFlagsJob.
Also remove outstanding SetPartFlagsJobs when deleting a new partition.
2016-03-08 16:25:43 +01:00
Teo Mrnjavac
cb9a984b11 setPartitionFlags in PartitionCoreModule. 2016-03-08 12:50:45 +01:00
Teo Mrnjavac
c233fb3b2d Allow setting flags when creating a partition. 2016-03-08 12:50:45 +01:00
Teo Mrnjavac
7d8b8eb7a6 Improve debug output for device detection. 2016-03-01 18:20:11 +01:00
Teo Mrnjavac
64498ea71b Keep the EFI system partitions model up to date with reverts. 2016-02-19 17:04:16 +01:00
Teo Mrnjavac
5372245aed Copyright statements. 2016-02-12 17:19:30 +01:00
Teo Mrnjavac
a9c6b47e5e Check whether a new primary partition can be created in canBeResized. 2016-02-12 16:36:50 +01:00
Teo Mrnjavac
935c4816d3 New partition replace check. 2016-02-12 15:02:49 +01:00
Teo Mrnjavac
01eede3f6e Split out a canBeResized overload that takes a Partition*. 2016-02-11 16:52:21 +01:00
Teo Mrnjavac
0cff1cd7ec Add deviceReverted signal to PCM and emit it. 2016-01-05 18:45:59 +01:00
Teo Mrnjavac
eb485f55c0 Make sure the Extended partition role doesn't carry over on replace. 2015-12-31 17:33:13 +01:00
Teo Mrnjavac
a1e4667ebe New revertAllDevices operation in PCM. 2015-12-30 17:27:13 +01:00
Vedant Agarwala
66d378d338 Showing a tooltip on hover in Partition Labels
Tooltip has partition path, file system type, size of partition
2015-12-30 17:27:13 +01:00
Teo Mrnjavac
9847b8efa9 Try to invalidate whole PartitionModel on replace. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
fbb293c15a Back to QFutureWatcher, but we allocate/destroy it ourselves.
This reverts commit c64eef54f6584b26f14933f0c8e600d5ad2dacbb.
2015-12-30 17:27:13 +01:00
Teo Mrnjavac
d635709833 Maybe a plain QTimer is enough. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
dbef198bac Add asynchronous device revert. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
16d10afcde Revert "Trying out something really horrible."
This reverts commit 10d622b0339697c57d4072b34052e657136145a5.
2015-12-30 17:27:13 +01:00
Teo Mrnjavac
bd573233ec Trying out something really horrible. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
ace0d30eb4 PCM::createImmutableDeviceCopy can be static. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
157a3f8ed2 devicePath != partitionPath. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
8e8fcf936c Debug info. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
ad2ce6b6d4 Refresh model on forgetChanges. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
4859431fe9 Maybe the deviceNode check isn't necessary. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
015aeb6b07 Debug output. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
423c9ccfb7 Reset the partition model before swapping the new Device into the DM. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
0a0a0d58e0 PartitionCoreModule::revertDevice. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
fe5ab75e82 Whitespace. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
0bf2389b1a Add swapDevice to DeviceModel. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
1d553407b9 And remove swapDevice from BootLoaderModel. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
cbbaa8b592 swapDevice in BootLoaderModel. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
5655b4f1da Add PartitionPathRole to PartitionModel. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
b663ce5f74 Add PartitionPtrRole to PartitionModel. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
df13b3ba08 Add separate FileSystemTypeRole to PM, and output FS PrettyNames. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
2986625cfd PrettyName generator for FileSystem::Type. 2015-12-30 17:27:13 +01:00