]> git.baikalelectronics.ru Git - kernel.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)
commit99b24ea39971af54237a3cc59e079d8be41c2c3c
treea60000768b7455c72cdf7aebb623191506d11634
parent5b7279b1b1a7020ede16b04c135dcb29331c2cc5
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