Display LUKS copy capability (#774818)

Users will expect to see that copying of LUKS is available in the File
System Support dialog, even if technically what is implemented is
copying of the file system within an open encryption mapping.  There is
no other reason to do this change as these two previous commits have
fully enabled copying of encrypted content:
    Implement copy operation of encrypted file systems (#774814)
    Preview copy operation of encrypted file systems (#774818)

Set LUKS .copy capability so that the dialog shows copying availability,
but then disallow copying of closed LUKS.  (Checking for the capability
and performing copying the content of an open LUKS encryption mapping is
inherent in Win_GParted::set_valid_operations() and GParted_Core::copy()
in the way that they access the block device containing the file system,
whether encrypted or not).

Bug 774818 - Implement LUKS read-write actions NOT requiring a
             passphrase
This commit is contained in:
Mike Fleetwood 2016-12-07 16:26:11 +00:00 committed by Curtis Gedak
parent 56859e1d6d
commit e31fa783a8
2 changed files with 10 additions and 2 deletions

View File

@ -1242,8 +1242,11 @@ void Win_GParted::set_valid_operations()
if ( (fs .grow || fs .shrink || fs .move ) && ! devices[ current_device ] .readonly )
allow_resize( true ) ;
//only allow copying of real partitions
if ( selected_partition_ptr->status == STAT_REAL && fs_cap.copy )
// Only allow copying of real partitions, excluding closed encryption
// (which are only copied while open).
if ( selected_partition_ptr->status == STAT_REAL &&
selected_filesystem.filesystem != FS_LUKS &&
fs_cap.copy )
allow_copy( true ) ;
//only allow labelling of real partitions that support labelling

View File

@ -28,6 +28,11 @@ FS luks::get_filesystem_support()
fs.busy = FS::EXTERNAL;
fs.read = FS::EXTERNAL;
// Setting .copy is just for displaying in the File System Support dialog.
// (Copying of encrypted content is only performed while open).
fs.copy = FS::GPARTED;
fs.online_read = FS::EXTERNAL;
return fs;