Commit Graph

367 Commits

Author SHA1 Message Date
Caio Carvalho 213162c1a8 Updating mdadm.conf file information after creation. 2018-08-14 12:18:22 +02:00
Caio Carvalho be89331db0 Initial RAID deactivation support. 2018-08-14 01:51:09 +02:00
Caio Carvalho 6ddb69b661 Avoiding -1B size for inactive RAID. 2018-08-13 09:53:07 -03:00
Caio Carvalho 51d295ca5d Changing eraseDeviceMDSuperblock call in software RAID creation 2018-08-08 16:44:46 -03:00
Caio Carvalho fed87159da Initial Software RAID creation. 2018-07-31 16:21:51 -03:00
Andrius Štikonas 4fcbb540e0 Fix unallocated space calculation in the presence of LVM RAID partitions.
BUG: 396776
2018-07-24 21:39:55 +01:00
Caio Carvalho 4b723be585 Adding LvmDevice::s_OrphanPVs shared list to store PVs paths that are member of VGs that will be deleted soon. 2018-07-23 13:34:40 -03:00
Caio Carvalho 64419caa8d Add chunk size for RAID 1 arrays. 2018-07-16 15:39:47 -03:00
Caio Carvalho c1e393240b Using QFile instead of calling ExternalCommand to read /proc/mdstat and mdadm.conf files. 2018-07-15 19:38:33 -03:00
Caio Carvalho 3fd221f794 Ranged-for in availableInConf const copy.
All the scanned devices should be added to devices list.
2018-07-15 16:36:43 -03:00
Caio Carvalho a508cfbc83 Avoiding pointer comparison. 2018-07-15 15:51:23 -03:00
Caio Carvalho e761c131d0 Changing prettyName for RAID devices with Resync/Recovery status. 2018-07-15 13:21:12 -03:00
Caio Carvalho f3fac7eac7 Add SoftwareRAID::Status enum.
Check for RAID before modelCommand in SfdiskBackend::scanDevice.
2018-07-15 13:11:50 -03:00
Caio Carvalho fae6cd4d61 RAID 0 devices don't need to check for resync/recovery progress. 2018-07-15 12:10:19 -03:00
Caio Carvalho dff99ffcf5 Support RAID devices which are in resync/recovery process after its creation/assemble.
Revert modelCommand.output().trimmed().isEmpty() check in SfdiskBackend::scanDevice.
2018-07-15 12:06:54 -03:00
Caio Carvalho a0b9a93b6b Support inactive RAID devices. 2018-07-15 10:31:27 -03:00
Andrius Štikonas f572681684 Partially revert 252b108660.
That commit broke LVM support.
2018-07-15 00:28:38 +01:00
Andrius Štikonas 252b108660 Abort LVM scanning when lvdisplay command fails. 2018-07-14 13:19:15 +01:00
Caio Carvalho aa23ecdc3c Software RAID devices can be created containing '/' character after 'md'. (e.g. /dev/md/alpha0) 2018-07-13 19:33:08 -03:00
Caio Carvalho 6803d6bc67 Including RAID level in SoftwareRAID device pretty name. 2018-07-13 17:56:13 -03:00
Caio Carvalho b3e0dbe15a Adding full command option for detail and stop Software RAID. 2018-07-13 16:20:38 -03:00
Caio Carvalho d8602817f0 Adding reassemble method for SoftwareRAID. 2018-07-12 14:38:52 -03:00
Caio Carvalho 3f7c5ca722 Reassemble Software RAID when commit partition table. 2018-07-12 14:08:24 -03:00
Andrius Štikonas b11b73b1e5 Remove extra semicolon after Q_UNUSED. 2018-07-12 00:12:43 +01:00
Caio Carvalho e2f88dbbf9 Including SoftwareRAID attributes getters. 2018-07-11 12:03:44 -03:00
Caio Carvalho a2d601d512 Checking for SoftwareRAID_Device type in partition table job. 2018-07-11 12:01:26 -03:00
Caio Carvalho ab7def5e7d Changing HardwareRAID_Device to FakeRAID_Device. 2018-07-11 11:57:56 -03:00
Caio Carvalho ae8987b82c Sfdisk always creates RAID logical partitions with a 'p' character before partition number. 2018-07-10 23:03:21 -03:00
Caio Carvalho 04a5e2914d Correctly showing Software RAID device partition table. 2018-07-10 19:09:22 -03:00
Caio Carvalho c03c0ddc15 Including src/core/raid subdirectory. 2018-07-09 20:48:52 -03:00
Caio Carvalho 998b1292c0 SoftwareRAID initial implementation. 2018-07-09 20:01:34 -03:00
Andrius Štikonas 0dd5ac25fd Revert "Remove deprecated attribute for now."
This reverts commit 4bcf9288e6.
2018-06-16 19:35:09 +01:00
Andrius Štikonas dc248c3011 Merge branch 'master' into kauth 2018-06-15 20:40:29 +01:00
Caio Carvalho 9e6cf4063a - Refactoring LVM::pvList to be a class with static QList<LvmPV> attribute instead of extern instance.
- Moving LVM VG verification in canShrink, canMove, canGrow to isLVMPVinNewlyVG method at ResizeOperation.
- Don't grow LVM PVs that are being targeted by CreateVolumeGroupOperations.
2018-05-09 04:09:17 -03:00
Andrius Štikonas dcfb9f181f Use more C++11 initializer lists. 2018-04-23 00:09:46 +03:00
Andrius Štikonas 07458efb91 Make sure system is informed about the change of file system label. 2018-04-13 15:54:51 +03:00
Andrius Štikonas fc4133233b Revert "Try to workaround systemd automounting."
This reverts commit 9cc583e7d5.
2018-04-13 01:06:32 +03:00
Andrius Štikonas 4bcf9288e6 Remove deprecated attribute for now.
Not available on current Neon.
2018-04-12 15:16:49 +03:00
Andrius Štikonas 0263e45251 Merge branch 'master' into kauth 2018-04-12 13:48:06 +03:00
Andrius Štikonas 4773023f75 Add migration documentation for deprecated enum values. 2018-04-12 13:47:33 +03:00
Andrius Štikonas db40442744 d-pointerize Operation class. 2018-04-11 03:52:46 +03:00
Andrius Štikonas 9cc583e7d5 Try to workaround systemd automounting. 2018-04-10 23:26:44 +03:00
Andrius Štikonas dda5ddd3e6 Fix more memory leaks in SmartDiskInformation. 2018-04-09 16:16:02 +01:00
Andrius Štikonas a9a637454a Fix a memory leak in SmartParser.
CC: caiojcarvalho@gmail.com
2018-04-09 16:07:44 +01:00
Andrius Štikonas 492e3beb18 Reuse SmartStatus::SelfTestStatus enum. 2018-04-09 15:37:46 +01:00
Andrius Štikonas b5d0b500cf Reuse SmartStatus::Overall enum for SmartDiskInformation. 2018-04-09 15:27:07 +01:00
Andrius Štikonas 622def3b56 Convert more enums to scoped enums. 2018-04-09 15:14:34 +01:00
Andrius Štikonas df449ac3d4 Mark old enum values as deprecated. 2018-04-09 13:42:36 +01:00
Andrius Štikonas ee2688d4d9 Merge branch 'master' into kauth 2018-04-09 12:44:14 +01:00
Andrius Štikonas f389306964 Make sure deprecated Partition::State enums have the same values as the new ones. 2018-04-09 12:32:46 +01:00
Andrius Štikonas b42b41bdea Add a shorter Partition::State enum names.
Will be converted to enum class later.
2018-04-09 03:46:05 +01:00
Andrius Štikonas 87f0d9d0a7 micro-optimization: QStringLiteral->QLatin1Char 2018-04-09 03:18:12 +01:00
Andrius Štikonas 844f7b3d59 LvmDevice: switch away from manual pointers. 2018-04-09 03:14:30 +01:00
Andrius Štikonas 3ccd04e675 Switch Device::Type enum to enum class. 2018-04-09 02:57:45 +01:00
Andrius Štikonas 1021e375b4 Create a new d-pointer when copying Device class.
Fixes a crash in Calamares
2018-04-09 02:45:24 +01:00
Andrius Štikonas 7e8bab3b4e d-pointerize LvmDevice class. 2018-04-09 02:40:24 +01:00
Andrius Štikonas df364bdc7c Reuse the d-pointer of the base class Device for the child class DiskDevice. 2018-04-09 00:35:06 +01:00
Andrius Štikonas 210dea15de Use smart pointer for SmartStatus.
Fixes a memory leak.
2018-04-08 14:58:02 +01:00
Andrius Štikonas a71be700ba d-pointerize Device class. 2018-04-08 14:45:59 +01:00
Andrius Štikonas 17c8772240 Explicitely specify the scope of enum. 2018-04-07 19:54:30 +01:00
Andrius Štikonas 876c037ebf Use strongly typed enum for SmartAttributeUnit. 2018-04-05 23:06:52 +01:00
Andrius Štikonas 63cea60ff1 Replace std::array with std::vector
Less efficient but helps with keeping ABI stable
2018-04-05 21:52:17 +01:00
Andrius Štikonas 54be18e8ad Deprecate cyllinder and head count. 2018-04-02 14:12:35 +01:00
Andrius Štikonas cfa853a931 d-pointerize DiskDevice class. 2018-04-02 13:46:53 +01:00
Andrius Štikonas 0b6d91bbdb Do not install some private smart include files. 2018-04-02 13:13:16 +01:00
Andrius Štikonas 398e9c3df5 d-pointerize FstabEntry class 2018-04-01 18:46:26 +01:00
Andrius Štikonas 2527b3ecc3 Merge branch 'master' into kauth 2018-03-31 20:30:05 +01:00
Andrius Štikonas c1f4b36305 Fix mutex logic for cancelling operations. 2018-03-31 20:17:43 +01:00
Andrius Štikonas 1500eeb625 Use std::unique_ptr for CoreBackendDevices 2018-03-31 14:44:40 +01:00
Andrius Štikonas e3aae714a2 Remove unnecessary whitespace. 2018-03-24 18:27:00 +00:00
Caio Carvalho f8f25dc82a - Changing SmartQuirkDatabase to store QString instead of char*.
- Changing quirkDatabase function to return QVector<SmartQuirkDatabase> instead of SmartQuirkDatabase*.
2018-03-24 15:17:30 -03:00
Andrius Štikonas ac6dc0eb87 Remove backend readData/writeData functions. 2018-02-06 16:48:02 +00:00
Andrius Štikonas 2641730c0c Merge branch 'master' into kauth 2018-02-04 15:56:38 +00:00
Andrius Štikonas 469855f7f7 Add missing variables to Partition class copy constructor. 2018-02-04 15:21:58 +00:00
Andrius Štikonas f2b7f2bd9b Use const char* instead of QString in Fstab::findBlkIdDevice
Thansk to: Adriaan de Groot
2018-01-31 17:02:59 +00:00
Andrius Štikonas f98dbcc208 Only use libblkid on Linux. 2018-01-31 16:58:00 +00:00
Andrius Štikonas 838150d439 Do not use blkid cache. 2018-01-31 16:53:34 +00:00
Andrius Štikonas c50006ed22 Fix #include issues in smart code.
CC: caiojcarvalho@gmail.com
2018-01-31 16:12:11 +00:00
Andrius Štikonas 9ea7cab92a Merge branch 'master' into kauth 2018-01-31 15:15:25 +00:00
Andrius Štikonas dd709fc8a9 Remove unnecessary extra LIBKPMCORE_EXPORT macros. 2018-01-27 13:15:19 +00:00
Huzaifa Faruqui e42a5c9289 Implement copyblocks function in KAuth helper.
Switch BackupFileSystemJob to thenew copyblocks function.

Reviewed and cleaned up by: Andrius Štikonas
2018-01-24 15:22:42 +00:00
Caio Carvalho a3d43e159f Removing LIBKPMCORE_EXPORT from SmartParser and adding SMART support dependencies to testsmart in cmake 2018-01-21 01:41:59 -03:00
Caio Carvalho 49c0c39f4b - Including SMART support test
- Adding export macro to SmartParser
2018-01-20 21:56:10 -03:00
Andrius Štikonas 1c024c6b29 Fix a typo in the comment. 2018-01-11 21:59:18 +01:00
Caio Carvalho 0190d32cf6 Including doxygen comments to the new SMART support classes 2018-01-11 17:38:53 -03:00
Andrius Štikonas a135c86ba1 Use QStringLiteral instead of QString::fromLocal8Bit 2018-01-11 14:17:55 +01:00
Andrius Štikonas ed7c5b1c77 Use long command line option for smartctl. 2018-01-11 12:00:52 +01:00
Andrius Štikonas 790553aa0b Merge branch 'smart' into kauth 2018-01-11 11:31:18 +01:00
Caio Carvalho 44fae61d4f - Removing libatasmart dependency from CMakeLists.txt
- Changing getQuirk regular expression evaluation to use QRegularExpression instead of QRegExp
2018-01-09 19:34:20 -03:00
Caio Carvalho d71731141c - Changed m_Quirk variable in SmartAttributeParsedData to SmartQuirk value instead of reference
- Changed smartctl call to use ExternalCommand class instead of QProcess
- Changed Q_FOREACH to C++11 ranged based for
- Changed quint64 json parsing
2018-01-09 01:35:59 -03:00
Caio Carvalho 8177fb9738 Adding smart JSON output support 2018-01-08 17:59:48 -03:00
Andrius Štikonas f20bea9bf8 Merge branch 'sfdisk' into kauth 2017-12-24 23:40:06 +00:00
Andrius Štikonas 3e7e9d8955 Sort partitions by first sector. 2017-12-21 23:16:12 +00:00
Andrius Štikonas 3a691edb4a Do not install copy source/target device headers. 2017-12-15 19:33:11 +00:00
Andrius Štikonas 8264c87ab8 Cleanup unnecessary includes. 2017-12-10 18:44:54 +00:00
Andrius Štikonas 27462bcddb Remove workaround to access user dbus session as root. 2017-12-10 18:09:03 +00:00
Andrius Štikonas 906a89c16d Use ExternalCommand to copy fstab file to its final location. 2017-12-10 17:36:39 +00:00
Andrius Štikonas d2f13ff4cc QFile->QTemporaryFile. 2017-12-10 17:36:39 +00:00
Andrius Štikonas 41473119b1 backend: provide more information about backend device.
Pass Device object, not just deviceNode string when opening Core Backend Device
2017-12-06 21:33:31 +00:00
Andrius Štikonas 6996687123 Merge branch 'master' into sfdisk 2017-12-03 12:38:43 +00:00