GNOME Bugzilla – Bug 760080
Implement read-only LUKS support
Last modified: 2016-04-26 15:54:49 UTC
This bug is to track adding read-only LUKS support to GParted. Built on the top of the changes in: Bug 759726 - Implement Partition object polymorphism Reference: Bug 627701 - option to encrypt new partitions (using LUKS)
Created attachment 318227 [details] [review] LUKS read-only support (Draft 1) Hi Curtis, Here is the LUKS read-only patchset draft 1. It draft just because I haven't necessarily reviewed everything fully yet. It's here for you to play with and even review the code. Apply on top of current GIT master: 1) Implement Partition object polymorphism (Draft 1) bug 759726, attachment 317759 [details] [review] 2) [This] Implement read-only LUKS support (Draft 1) Thanks, Mike btrfs on luks issues -------------------- There is an issue with btrfs on top of LUKS. Depending on the version of btrfs-progs busy status, file system usage and multi-device membership can all break because "btrfs filesystem show" when given canonical dm-crypt names like /dev/mapper/NAME reports non-canonical /dev/dm-N names as being devices in that file system. Breaking on CentOS 6 w/ btrfs 0.20-rc1 (considered ancient) # cryptsetup luksFormat /dev/sdb9 # cryptsetup luksOpen /dev/sdb9 sdb9_crypt # mkfs.btrfs /dev/mapper/sdb9_crypt # btrfs filesystem show /dev/mapper/sdb9_crypt # ls -l /dev/mapper/sdb9_crypt lrwxrwxrwx. 1 root root 7 Jan 4 18:48 /dev/mapper/sdb9_crypt -> ../dm-3 # btrfs filesystem show /dev/dm-3 Label: none uuid: 8d04d10e-8075-42a7-b912-08bf2c475055 Total devices 1 FS bytes used 28.00KB devid 1 size 510.00MB used 12.00MB path /dev/dm-3 This works OK on CentOS 7 w/ btrfs 3.19.1 (still very old) and Fedora 23 w/ btrfs 4.2.2 (nearly current) ... # btrfs filesystem show /dev/mapper/sdb1_crypt Label: none uuid: 145afdf3-7b57-4e7d-8191-2c97030d8842 Total devices 1 FS bytes used 28.00KiB devid 1 size 1022.00MiB used 12.00MiB path /dev/mapper/sdb1_crypt There's another issue with btrfs on top of LUKS. After adding new devices into the btrfs and removing the mounting device twice the kernel starts reporting the non-canonical /dev/dm-N names as the mounting device, rather than the canonical /dev/mapper/NAME. This ends up breaking mount point determination for btrfs. This is on the latest Fedora 23 w/ btrfs 4.2.2 # cryptsetup luksOpen /dev/sdb1 sdb1_crypt # mkfs.btrfs /dev/mapper/sdb1_crypt # mount /dev/mapper/sdb1_crypt /mnt/1 # fgrep btrfs /proc/mounts /dev/mapper/sdb1_crypt /mnt/1 btrfs rw,seclabel,relatime,space_cache,subvolid=5,subvol=/ 0 0 # cryptsetup luksOpen /dev/sdb2 sdb2_crypt # btrfs device add /dev/mapper/sdb2_crypt /mnt/1 # btrfs filesystem show /dev/mapper/sdb1_crypt Label: none uuid: 178e2a05-d40f-435d-b0c0-be460b82e57a Total devices 2 FS bytes used 32.00KiB devid 1 size 1022.00MiB used 12.00MiB path /dev/mapper/sdb1_crypt devid 2 size 1022.00MiB used 0.00B path /dev/mapper/sdb2_crypt # btrfs device remove /dev/mapper/sdb1_crypt /mnt/1 # fgrep btrfs /proc/mounts /dev/mapper/sdb2_crypt /mnt/1 btrfs rw,seclabel,relatime,space_cache,subvolid=5,subvol=/ 0 0 # cryptsetup luksOpen /dev/sdb3 sdb3_crypt # btrfs device add /dev/mapper/sdb3_crypt /mnt/1 # btrfs filesystem show /dev/mapper/sdb2_crypt Label: none uuid: 178e2a05-d40f-435d-b0c0-be460b82e57a Total devices 2 FS bytes used 96.00KiB devid 2 size 1022.00MiB used 144.00MiB path /dev/mapper/sdb2_crypt devid 3 size 1022.00MiB used 0.00B path /dev/mapper/sdb3_crypt # btrfs device remove /dev/mapper/sdb2_crypt /mnt/1 # fgrep btrfs /proc/mounts /dev/dm-2 /mnt/1 btrfs rw,seclabel,relatime,space_cache,subvolid=5,subvol=/ 0 0 I'll make addressing this a separate patchset. We can add to the release notes that querying btrfs information is problematic on top of luks and doesn't always work. I see fixing these btrfs issues as not necessarily required for LUKS read-only support, but much more critical for LUKS read-write support.
Hi Curtis, There is no need to check the spelling at the moment. I'm doing a bit of wordsmithing so I can officially submit patchset v1. Thanks, Mike
Hi Mike, Thanks for your work on this patch set and the heads up not to worry about spelling yet. I will focus on testing the patch set. Curtis
Created attachment 318442 [details] [review] LUKS read-only support (v1) Hi Curtis, Here's patchset v1. Changes from patchset draft 1 in comment 1: * Some commit message and comment wordsmithing * bit of trivial code changes in LUKS_Info.cc and lvm2_pv::set_used_sectors() (You can always diff the patchset files). Also to re-iterate our previous position on releasing this code. Even if these patchsets pass with flying colours and we think they are ready for putting in GParted now, before the next GParted release and therefore included in the next Ubuntu LTS, we should wait. 1) They only add LUKS read-only support which doesn't provided much useful functionality to the users. 2) They do a lot of memory allocation which is always riskier. 3) Quite a bit of code has changed. Definitely better to pull them in after the next GParted release. Thanks, Mike
Created attachment 318537 [details] GParted screen shot with mounted and open LUKS encrypted ext2 partition Hi Mike, > Also to re-iterate our previous position on releasing this code. > Even if these patchsets pass with flying colours and we think they > are ready for putting in GParted now, before the next GParted > release and therefore included in the next Ubuntu LTS, we should > wait. Agreed. My testing to date has gone well. The attached screen shot shows the details for an active mounted encrypted ext2 partition. Following are the steps I used to perform this test. Note that I refreshed GParted along the way to see how the display of encrypted partitions changed. 1) Create an unformatted partition with GParted I created partition /dev/sde2 with size 10240 MiB. 2) Encrypt the partition sudo cryptsetup luksFormat /dev/sde2 -c aes -s 256 -h sha256 When prompted I entered uppercase YES to confirm, and a LUKS pass-phrase (vault). 3) Open the encrypted partition for use sudo cryptsetup luksOpen /dev/sde2 myvault When prompted I entered the above LUKS pass-phrase. 4) Format the partition with a file system sudo mkfs.ext2 -L "MyExt2LUKS" /dev/mapper/myvault 5) Mount the open encrypted partition sudo mkdir -p /mnt/myluksmnt sudo mount /dev/mapper/myvault /mnt/myluksmnt Note that this is where I took the screen shot. 6) Unmount the open encrypted partition sudo umount /mnt/myluksmnt 7) Close the encrypted partition sudo cryptsetup luksClose myvault Please note that I have yet to review the code and do sufficient regression testing. In terms of a GParted release, I think targeting Monday, January 18th 2016 would be good. Curtis
Hi Curtis, The most important question is: Is the presentation of the LUKS information correct? Is it what we need? Is it obvious enough that the file system is encrypted by the File System column containing the text "crypt-luks/FSTYPE"? Should we do something else? After that everything else is details. Mike
Hi Mike, Good questions. I will keep these in mind when reviewing the code. Currently other tasks including the 0.25.0 release are taking up much of my time. Curtis
Created attachment 319327 [details] Screenshots of main window showing different options for encrypted partition indication Hi Curtis, As per recent chat I asked a friend to look at the UI as it stands. Using "crypt-luks/fstype" in the File System column was subtle and took some strong hints before it was understood that it mean file system encrypted in LUKS. If sicking with this we will need some strong communication about what this means. Explain in the Release Notes, in the Manual and possibly even a Forum post. Attached is a screenshot panorama showing some different options for showing LUKS encryption in the main window. 1) File System = "crypt-luks/fstype" (as found in patchset v1) 2) File System = "[crypt-luks] fstype" 3) File System = "[LUKS] fstype" 4) Partition = "/dev/ptn# [LUKS]" Another option we had was to display the partition line in red when it is encrypted. Not even implementing this. Not suitable. Thanks, Mike
Hi Mike, Please pass along my thanks to your friend for providing feedback. Ideally we can pick something that is more readily understood and does not require deep explanation. I think the challenge with LUKS encryption is that it is so flexible. The encrypted area can be treated simply as a single file system, or more complexly as an entire disk device with it's own partition table and partitions. Previous work by Matthias on LUKS involved changes to the graphical layout of the disk and partitions. See the picture in: Bug 627701 comment 41 https://bugzilla.gnome.org/show_bug.cgi?id=627701#c41 I think that this might be considered by some to be overly complex. Another approach would be to list each encrypted partition "area" under devices. Then when an encrypted partition was selected as a device, the disk layout GUI would show the contents of said encrypted partitions. For example using your sample screen shots, encrypted partitions sdb5, sdb6, and sdb7 would only show that they are encrypted with LUKS and would also be listed as devices. Then if the "sdb6" device was selected, the disk layout GUI would show an ext4 file system with label "ext4-test2". I'm not sure what we would list as the partition. Perhaps "Whole Disk" or something like that. If I were to choose an implementation from the screen shots, I think that placing the encryption indicator on the partition (option 4) makes the most sense, e.g., [LUKS], or perhaps [crypt-luks] which sort of implies encryption to layfolk. An enhancement might be to improve indication of whether the partition encryption is locked or unlocked. Perhaps [LUKS - locked] and [LUKS - unlocked]. We could use a padlock icon, but I think we would have to come up with a different icon to indicate if a partition is mounted (currently we default to a stock GNOME icon that can be a key or a padlock). Regarding using red colour to indicate when it is encrypted, I agree that this would not be good by HIG. Colour can be used to enhance an indicator, but we should never depend on colours alone [1]. The information must be shown in another way so it is discernible by colour-blind people too. [1] https://developer.gnome.org/hig-book/unstable/design-color.html.en Curtis
Created attachment 319525 [details] GNOME (2) Disk Utility showing encrypted partitions Hi Curtis, You interpreted my question of what is the presentation of LUKS we should use a bit wider that I intended. I have already specifically limited the functionality being implemented to a one-to-one-to-one mapping of partition to encrypted volume to file system for many reasons: * It the most common case * It is what the distro installers that I test produce when enabling LUKS encryption * It is simpler to implement * Is is simpler for the users to understand * Follows from wanting to make encryption no more that a tick box on the create partition/file system dialog https://bugzilla.gnome.org/show_bug.cgi?id=627701#c52 Attached is a screen short of what GNOME (2) Disk Utility shows for a set of encrypted partitions, and what it's create a new partition and format with a file system dialog looks like. GParted currently supports file systems in partitions (and whole devices). We are now adding (LUKS) encrypted file systems in partitions. Therefore for me the encryption indication belongs in the "File System" column, or as a separate "Encrypted" column. Not in the partition column. I quite like the way text enclosed in square brackets stands out more. Might well stick with this. Thanks, Mike
Hi Mike, 'Sorry about adding confusion by increasing the scope. I am more than happy with a one-to-one mapping as this is much better than the current LUKS support of detection only. Also with a one-to-one mapping I agree that the "Encrypted" text does not need to be in the file system. In fact since it's one-to-one it could be placed in either and since you mentioned a preference for the file system column I am good with that. With that out of the way, my preference is (2) File System = "[crypt-luks] fstype". I will review the patch set with this in mind. Thanks, Curtis
Doh! 'Just reread this and I actually said the opposite of what I intended. s/in the file system/in the partition/ To sum up, I am good with the encrypted text in the file system column. Curtis
Hi Mike, So far Patch set v1 looks pretty good to me. I appreciate your comments and links as they help me follow your thoughts as each patch enhances the code base. My testing on kubuntu 12.04 has gone well. Do you have any planned changes to patch set v1? If not then I will begin testing on other distros. Thanks, Curtis The following list includes some very minor suggested changes. [P 01] Move DEV_MAPPER_PATH from DMRaid.h to Utils.h (#760080) - no change. [P 02] Add initial loading of LUKS mapping details (#760080) - no change. [P 03] Add busy detection of LUKS mapping (#760080) - minor suggestion for ascending alphabetical order: FS_LUKS comes before FS_LVM2_PV [P 04] Prevent crypt-luks appearing in the Create New dialog and Format menu (#760080) - no change. [P 05] Prevent Mount/Umount operation being available for LUKS (#760080) - no change. [P 06] Add loading of LUKS mapping offset and length (#760080) - no change. [P 07] Populate LUKS partition usage (#760080) - minor spelling mistake in luks::set_used_sectors( ... (encrypted) mapping does have a size and can be resize ^^ resized [P 08] Implement demand loading of LUKS_Info cache (#760080) - no change. [P 09] Refactor set_mountpoints() to be called per partition (#760080) - no change. [P 10] Populate active LUKS mountpoints with /dev/mapper/NAME entry (#760080) - no change. [P 11] Refactor set_used_sectors() to be called per partition (#760080) - no change. [P 12] Add PartitionLUKS class and create objects (#760080) - no change. [P 13] Populate encrypted Partition member inside PartitionLUKS (#760080) - no change. [P 14] Remove Partition::color member (#760080) - no change. [P 15] Display "crypt-luks/FSTYPE" in the File System column (#760080) - If you are in agreement perhaps change the indicator From: crypt-luks/FSTYPE To: [crypt-luks] FSTYPE I know this is longer but I think it is more noticable. - Optionally we could have a separate "Crypto" column that is only displayed when encrypted partitions are encounted. [P 16] Display encrypted file system colour correctly in the disk graphic (#760080) - no change. [P 17] Display GUI column Mount Point correctly for encrypted file systems (#760080) - no change. [P 18] Display the label of encrypted file systems (#760080) - no change. [P 19] Display usage of encrypted file systems (#760080) - Suggest updating partition with "_used=1" as follows: ...11111uuuuuuuuuu <- this->sectors_{used,unused=0,unallocated} ^^^^ used=1,unused=0,unallocated} I agree with noting this on the first occurrence only and in the legend. - Suggest formula notation change as follows ...total_unused = LUKS unused + Encrypted file system used ^^^^ unused [P 20] Add encryption section into the Information dialog (#760080) - no change. [P 21] Display messages for encrypted file systems (#760080) - duplicated "from" in commit message. which they are added and retrieved from from all. So ... ^^^^ ^^^^ - Minor word mistake in Partition.h comment // access from all copies within the derived object hierarchy. Hence ^^^^^^ accessible [P 22] Remove LUKS unsupported warning (#760080) - no change. [P 23] Prevent incorrect no usage values warning for crypt-luks/unknown (#760080) - no change. [P 24] Add LUKS read-only / dmsetup note to the README file (#760080) - no change. [P 25] Simplify code in Display_Info() by making use of Glib::build_path() - no change.
Created attachment 319702 [details] [review] LUKS read-only support (v2) Hi Curtis, So here's patchset v2 addressing your comments above. Note worthy changes are: [P 15] Display "crypt-luks/FSTYPE" in the File System column (#760080) - Now displays as "[crypt-luks] FSTYPE" - Will try a few more options and post screen shots to see if anything else looks better; "[Encrypted] FSTYPE" and Encryption column. [P 19] Display usage of encrypted file systems (#760080) > - Suggest updating partition with "_used=1" as follows: > ...11111uuuuuuuuuu <- this->sectors_{used,unused=0,unallocated} > ^^^^ > used=1,unused=0,unallocated} > I agree with noting this on the first occurrence only and in the > legend. "unused=0" was meant to indicate that for a LUKS mapping the number of unused sectors is 0 by definition. Nothing to do with the legend and using 0 to represent unused sectors in the ascii art. Since it must be confusing I have removed it as the calculation section still says LUKS unused is 0. All other spelling/grammar corrections made as you indicated. Thanks, Mike
Created attachment 319731 [details] Screenshots of main window showing more options for encrypted partition indication Hi Curtis, Attached are the screen shots of the extra options. Screen shots are: 1) File System = "[crypt-luks] fstype" (Patchset v2 implements this) 2) File System = "[Encrypted] fstype" 3) New Encryption column Thanks, Mike
Hi Mike, Thanks for the screen shots illustrating possible options. In my opinion the new encryption column makes for the cleanest presentation of the information and clearly states whether a volume is closed or open. The only disadvantage is the more information on the screen pushing other columns further right. Having said that the encryption column could be set to only display if encrypted volumes are encountered. What do you and your consultant think? Curtis
Hi Mike, I tested patch set v2 on various distros and encountered no problems. The distros I tested were: Debian 7 Fedora 12 <--- no longer supported. Still works! openSUSE 13.2 kubuntu 12.04 ubuntu 15.10 After testing I realized that I don't mind the "[crypt-luks] ntfs" notation in the file system column. Further it does take less space. How's that for flip-flopping on opinion. ;-) Curtis
Created attachment 319880 [details] [review] LUKS read-only support (v3) Hi Curtis, As discussed, my friend and I have had a look at the screen shots and used the builds of GParted. We are both in agreement; we prefer method (2) File System column with "[Encrypted] fstype". It shouts a lot more that the partition is encrypted. Also to link back to the list of file systems in the File System Support dialog a bit better I have added the type of encryption into the Partition Information dialog, mirroring how the file system type is reported. E.g. File System File system: xfs Label: test_xfs UUID: 38d54b88-62d5-4e4c-bfc1-01f9690f430a Status: Not mounted Encryption Encryption: crypt-luks <---- new line Path: /dev/mapper/sdb7_luks UUID: fe4a7959-557d-4ade-b049-b1ad64fdfeec Status: Open Attached is patchset v3 which implements these changes. Changed patches are: [P 15] Display "[Encrypted] FSTYPE" in the File System column (#760080) [P 20] Add encryption section into the Information dialog (#760080) Thanks, Mike
Hi Curtis, I have another thought. I think "crypt-luks" should be renamed to "luks". The format is named: Linux Unified Key Setup, aka LUKS. What do you think? Mike
Hi Mike, I agree regarding using luks and not crypt-luks. Are you planning some GParted manual updates too for the new "Encrypted" type? Curt
Hi Curtis, I've had a look at the Manual and there is no where which describes the contents of any of the columns in the main windows. My best suggestion would be to add a note to "Getting Started" > "The gparted Window" section towards the bottom, approximately: Encrypted file systems are identified with "[Encrypted]" in front of the type of the file system in the File System column. If you have any better options for the Manual let me know. When it comes to the release notes, I think something like this: This release adds read-only support for LUKS encrypted file systems. GParted can show the file system within an open LUKS encryption. However this release can not open or close the LUKS encryption and can not modify the encrypted file system within. Thanks, Mike
Hi Mike, As you correctly point out, the manual does not describe the contents of the columns so there isn't really any place for the "encrypted" description yet. I think if we need something specific for "Encrypted" partitions then perhaps we should wait until encrypted write support is added. Regarding the release notes, I have copied your suggested description so it is ready for the next release. Regarding using "encrypted" instead of "crypt-luks", were you in the process of updating patch set v3? Thanks, Curtis
Created attachment 320034 [details] [review] LUKS read-only support (v4) Hi Curtis, Here's patchset v4. Compared to v3 it adds this patch: [P 22] Rename file system from "crypt-luks" to "luks" (#760080) and updates one of the following patches and commit messages changing crypt-luks/unknown to luks/unknown. As we are leaving the manual alone for now I think this patchset is ready now. Thanks, Mike
Hi Mike, Thank you for the updated patch set v4. All looks good to me. If there are no objections then I will commit the dependency patchset: Implement Partition object polymorphism (v1) and this patch set: LUKS read-only support (v4) later tomorrow. Curtis
Hi Curtis, Here's an update for the release notes which mentions using "[Encrypted]" to identify them. This release adds read-only support for LUKS encrypted file systems. GParted identifies them with the addition of "[Encrypted]" and can show the file system within an open LUKS encrypted mapping. However this release can not open or close the LUKS encryption and can not modify the encrypted file system within. Thanks, Mike
Hi Mike, Thank you all your work on this enhancement and also for the updated release description. I have copied your suggested description so it is ready for the next release. Patch set (v4) from comment #23 has been committed to the git repository. The relevant git commits can be viewed at the following links: Move DEV_MAPPER_PATH from DMRaid.h to Utils.h (#760080) https://git.gnome.org/browse/gparted/commit/?id=1b55dfad5b271f1c9dc4ab1651cfe22cf923b7b4 Add initial loading of LUKS mapping details (#760080) https://git.gnome.org/browse/gparted/commit/?id=b77a6be76b904a95952f5d4e70a700eb10a3925f Add busy detection of LUKS mapping (#760080) https://git.gnome.org/browse/gparted/commit/?id=070d734e57e8c10cfc4264b34e8bd95bba7cf3ff Prevent crypt-luks appearing in the Create New dialog and Format menu (#760080) https://git.gnome.org/browse/gparted/commit/?id=e86e7b91b2bf05ad219704db6e00f04f5f05bc44 Prevent Mount/Umount operation being available for LUKS (#760080) https://git.gnome.org/browse/gparted/commit/?id=ae57f3cd4ea0c7bcca2f489f9aae689d2ff1d70b Add loading of LUKS mapping offset and length (#760080) https://git.gnome.org/browse/gparted/commit/?id=317e44405689270efb806e5bfdab5fec8e923055 Populate LUKS partition usage (#760080) https://git.gnome.org/browse/gparted/commit/?id=317114ffcb5543563cc4b36c54c6cecad270d29e Implement demand loading of LUKS_Info cache (#760080) https://git.gnome.org/browse/gparted/commit/?id=132091269cc1f8a492377e37e0e688816d2a0e07 Refactor set_mountpoints() to be called per partition (#760080) https://git.gnome.org/browse/gparted/commit/?id=1b731b93d71c6fecca598d6c5d5a100838db0bed Populate active LUKS mountpoints with /dev/mapper/NAME entry (#760080) https://git.gnome.org/browse/gparted/commit/?id=e9b893b4cbce9206c8aaee99aac9bc3dccaeff27 Refactor set_used_sectors() to be called per partition (#760080) https://git.gnome.org/browse/gparted/commit/?id=9fee0c57ea918ee6877df9036d6741a0955a8af3 Add PartitionLUKS class and create objects (#760080) https://git.gnome.org/browse/gparted/commit/?id=99ff0c762835a0d501abcb9c0bb9d128c1607330 Populate encrypted Partition member inside PartitionLUKS (#760080) https://git.gnome.org/browse/gparted/commit/?id=c9a2986fb9ea031cf11ecd426a764a6e71318c31 Remove Partition::color member (#760080) https://git.gnome.org/browse/gparted/commit/?id=6e294dda05cb6cfa4a69c6be6e71d758234d23a9 Display "[Encrypted] FSTYPE" in the File System column (#760080) https://git.gnome.org/browse/gparted/commit/?id=cb3cc505ce89d6f6fbb488defa826a389ae86cdc Display encrypted file system colour correctly in the disk graphic (#760080) https://git.gnome.org/browse/gparted/commit/?id=a58e85d1935f5596d38e89a6d2ffd49ca5f34dbe Display GUI column Mount Point correctly for encrypted file systems (#760080) https://git.gnome.org/browse/gparted/commit/?id=b45af51a92cfc0ce397245ffdf3cafdabf31889c Display the label of encrypted file systems (#760080) https://git.gnome.org/browse/gparted/commit/?id=38a790d7451241470989e18b66dd365eb3cf7754 Display usage of encrypted file systems (#760080) https://git.gnome.org/browse/gparted/commit/?id=cb24aa4be1f67487f4e42b8a486e5902cf618c5b Add encryption section into the Information dialog (#760080) https://git.gnome.org/browse/gparted/commit/?id=f91d7e19dd94614e09ce42ff21d33a6ce63d10c4 Display messages for encrypted file systems (#760080) https://git.gnome.org/browse/gparted/commit/?id=2d910494d3ef7d401fd4b9934bb3e4eb75d4510a Rename file system from "crypt-luks" to "luks" (#760080) https://git.gnome.org/browse/gparted/commit/?id=ad4191475a228a5db2d150597bb15a1f59d9284c Remove LUKS unsupported warning (#760080) https://git.gnome.org/browse/gparted/commit/?id=974668104df0d7a9d3d4b794bec8e0080022dd57 Prevent incorrect no usage values warning for luks/unknown (#760080) https://git.gnome.org/browse/gparted/commit/?id=40c2cdda0b9a106b45a131a116a5c58ea3f57cb0 Add LUKS read-only / dmsetup note to the README file (#760080) https://git.gnome.org/browse/gparted/commit/?id=835a5fb6d7d74c0f7c7f9a18b46dd5c885b424c7 Simplify code in Display_Info() by making use of Glib::build_path() https://git.gnome.org/browse/gparted/commit/?id=ee6dcf5a964f820e8049bc6809018294e3b196bf Curtis
This enhancement was included in the GParted 0.26.0 release on April 26, 2016.