fuse: keep inode->i_blkbits constant
authorJoanne Koong <joannelkoong@gmail.com>
Thu, 7 Aug 2025 17:50:15 +0000 (10:50 -0700)
committerChristian Brauner <brauner@kernel.org>
Mon, 11 Aug 2025 12:51:50 +0000 (14:51 +0200)
commit542ede096e48436dbd70869640c0d88180565933
tree6f0559b31b9bf51bc21370c5940322841cb759ef
parentbef2981bad91d4714b1edf86e95f23bf57496d86
fuse: keep inode->i_blkbits constant

With fuse now using iomap for writeback handling, inode blkbits changes
are problematic because iomap relies on inode->i_blkbits for its
internal bitmap logic. Currently we change inode->i_blkbits in fuse to
match the attr->blksize value passed in by the server.

This commit keeps inode->i_blkbits constant in fuse. Any attr->blksize
values passed in by the server will not update inode->i_blkbits. The
client-side behavior for stat is unaffected, stat will still reflect the
blocksize passed in by the server.

Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Link: https://lore.kernel.org/20250807175015.515192-1-joannelkoong@gmail.com
Fixes: ef7e7cbb32 ("fuse: use iomap for writeback")
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/fuse/inode.c