• Eric Biggers's avatar
    ext4: add support for IV_INO_LBLK_64 encryption policies · b925acb8
    Eric Biggers authored
    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: default avatarTheodore Ts'o <tytso@mit.edu>
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    b925acb8
ext4.h 118 KB