Skip to content
rfjakob edited this page Feb 13, 2020 · 23 revisions

On-Disk-Format Compatability

gocryptfs uses ext4-style feature flags to add new functionality or better security to the on-disk-format. These are stored in gocryptfs.conf as FeatureFlags. When a new feature flag is added, gocryptfs will continue to support mounting older filesystems that do not have this flag set.

However, from time to time major gocryptfs revisions will drop support for very old filesystems. This keeps the gocryptfs code base clean and maintainable. Users are encouraged to upgrade their filesystems (see below for how) as the new features often improve security.

As seen on the tables below, v1.0 was the only version so far to drop support for very old filesystems (v0.6 and lower).

Supported versions (v0.7 and later)
can be mounted on ▶ v0.7, v0.8 v0.9, v0.10, v0.11,
v1.0, v1.1, v1.2
v1.1, v1.2 v1.3 and later
created by feature flags
v0.7, v0.8 DEG Y Y Y Y
v0.9, v0.10, v0.11,
v1.0, v1.1, v1.2
DEGL - Y Y Y
v1.1, v1.2
(reverse mode)
DEGLA - - Y Y
v1.3 and later DEGLRAH & DEGLRH - - - Y
Historical versions (v0.6 and earlier)
can be mounted on ▶ v0.4 v0.5 v0.6 v0.7, v0.8 v0.9, v0.10 v0.11 v0.12 v1.0+
created by feature flags
v0.4 - Y Y Y Y Y W RO -
v0.5 D - Y Y Y Y W RO -
v0.6 DE - - Y Y Y W RO -

Feature flags:

  • D = DirIV
  • E = EMENames
  • G = GCMIV128
  • L = LongNames
  • A = AESSIV
  • H = HKDF
  • R = Raw64

Support flags:

  • Y = full functionality
  • W = a warning is printed on mount, otherwise full functionality
  • RO = can only be mounted read-only
  • - = can not be mounted

Upgrading

Upgrading a filesystem simply means creating a new filesystem and copying all the data over. See the "Upgrading" page for more information.