mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-05-21 21:30:48 -05:00
Linux: Reduce minimal size requirement for BTRFS support to 16 MiB by using mixed mode for volumes whose size is less than 109 MiB
This commit is contained in:
@@ -258,7 +258,10 @@ namespace VeraCrypt
|
||||
|
||||
case Step::FormatOptions:
|
||||
{
|
||||
VolumeFormatOptionsWizardPage *page = new VolumeFormatOptionsWizardPage (GetPageParent(), VolumeSize, SectorSize,
|
||||
shared_ptr <VolumeLayout> layout ((OuterVolume || SelectedVolumeType != VolumeType::Hidden)? (VolumeLayout*) new VolumeLayoutV2Normal() : (VolumeLayout*) new VolumeLayoutV2Hidden());
|
||||
uint64 filesystemSize = layout->GetMaxDataSize (VolumeSize);
|
||||
|
||||
VolumeFormatOptionsWizardPage *page = new VolumeFormatOptionsWizardPage (GetPageParent(), filesystemSize, SectorSize,
|
||||
SelectedVolumePath.IsDevice() && (OuterVolume || SelectedVolumeType != VolumeType::Hidden), OuterVolume, LargeFilesSupport);
|
||||
|
||||
page->SetPageTitle (_("Format Options"));
|
||||
@@ -484,6 +487,9 @@ namespace VeraCrypt
|
||||
|
||||
shared_ptr <VolumeInfo> volume = Core->MountVolume (mountOptions);
|
||||
finally_do_arg (shared_ptr <VolumeInfo>, volume, { Core->DismountVolume (finally_arg, true); });
|
||||
|
||||
shared_ptr <VolumeLayout> layout((volume->Type == VolumeType::Normal)? (VolumeLayout*) new VolumeLayoutV2Normal() : (VolumeLayout*) new VolumeLayoutV2Hidden());
|
||||
uint64 filesystemSize = layout->GetMaxDataSize (VolumeSize);
|
||||
|
||||
Thread::Sleep (2000); // Try to prevent race conditions caused by OS
|
||||
|
||||
@@ -527,7 +533,14 @@ namespace VeraCrypt
|
||||
args.push_back ("-f");
|
||||
|
||||
if (SelectedFilesystemType == VolumeCreationOptions::FilesystemType::Btrfs)
|
||||
{
|
||||
args.push_back ("-f");
|
||||
if (filesystemSize < VC_MIN_LARGE_BTRFS_VOLUME_SIZE)
|
||||
{
|
||||
// use mixed mode for small BTRFS volumes
|
||||
args.push_back ("-M");
|
||||
}
|
||||
}
|
||||
|
||||
args.push_back (string (virtualDevice));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user