fscrypt: replace get_ino_and_lblk_bits with just has_32bit_inodes
authorEric Biggers <ebiggers@google.com>
Mon, 25 Sep 2023 05:54:50 +0000 (22:54 -0700)
committerEric Biggers <ebiggers@google.com>
Tue, 26 Sep 2023 05:34:33 +0000 (22:34 -0700)
commit7a0263dc904f3467f474e4088ae092eda9a5a99b
treec79494d5324cf7a800b0c7071e50e144eec83a81
parentf0904e8bc3c513e9fd50bdca5365f998578177a0
fscrypt: replace get_ino_and_lblk_bits with just has_32bit_inodes

Now that fs/crypto/ computes the filesystem's lblk_bits from its maximum
file size, it is no longer necessary for filesystems to provide
lblk_bits via fscrypt_operations::get_ino_and_lblk_bits.

It is still necessary for fs/crypto/ to retrieve ino_bits from the
filesystem.  However, this is used only to decide whether inode numbers
fit in 32 bits.  Also, ino_bits is static for all relevant filesystems,
i.e. it doesn't depend on the filesystem instance.

Therefore, in the interest of keeping things as simple as possible,
replace 'get_ino_and_lblk_bits' with a flag 'has_32bit_inodes'.  This
can always be changed back to a function if a filesystem needs it to be
dynamic, but for now a static flag is all that's needed.

Link: https://lore.kernel.org/r/20230925055451.59499-5-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
fs/crypto/policy.c
fs/ext4/crypto.c
fs/f2fs/super.c
include/linux/fscrypt.h