]> asedeno.scripts.mit.edu Git - linux.git/commit
ext4: add support for IV_INO_LBLK_64 encryption policies
authorEric Biggers <ebiggers@google.com>
Thu, 24 Oct 2019 21:54:37 +0000 (14:54 -0700)
committerEric Biggers <ebiggers@google.com>
Wed, 6 Nov 2019 20:34:42 +0000 (12:34 -0800)
commitb925acb8f83d7ce3582b34018c05aae1be666abf
treea60000768b7455c72cdf7aebb623191506d11634
parentb103fb7653fff09e7a6fb6ba9398a41584e7ae36
ext4: add support for IV_INO_LBLK_64 encryption policies

IV_INO_LBLK_64 encryption policies have special requirements from the
filesystem beyond those of the existing encryption policies:

- Inode numbers must never change, even if the filesystem is resized.
- Inode numbers must be <= 32 bits.
- File logical block numbers must be <= 32 bits.

ext4 has 32-bit inode and file logical block numbers.  However,
resize2fs can re-number inodes when shrinking an ext4 filesystem.

However, typically the people who would want to use this format don't
care about filesystem shrinking.  They'd be fine with a solution that
just prevents the filesystem from being shrunk.

Therefore, add a new feature flag EXT4_FEATURE_COMPAT_STABLE_INODES that
will do exactly that.  Then wire up the fscrypt_operations to expose
this flag to fs/crypto/, so that it allows IV_INO_LBLK_64 policies when
this flag is set.

Acked-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
fs/ext4/ext4.h
fs/ext4/super.c