]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: convert symlink external data block mapping to bdev
authorZhang Yi <yi.zhang@huawei.com>
Sun, 24 Apr 2022 14:09:36 +0000 (22:09 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 17 May 2022 18:17:40 +0000 (14:17 -0400)
commit0f488c1e59f523345bd71060ae90191b7b86a8e2
treeae01477e2f0e88d4d21014792372d063ee88f29e
parent5e72e23d6d53e053f80009c7e76c3773d29d01e2
ext4: convert symlink external data block mapping to bdev

Symlink's external data block is one kind of metadata block, and now
that almost all ext4 metadata block's page cache (e.g. directory blocks,
quota blocks...) belongs to bdev backing inode except the symlink. It
is essentially worked in data=journal mode like other regular file's
data block because probably in order to make it simple for generic VFS
code handling symlinks or some other historical reasons, but the logic
of creating external data block in ext4_symlink() is complicated. and it
also make things confused if user do not want to let the filesystem
worked in data=journal mode. This patch convert the final exceptional
case and make things clean, move the mapping of the symlink's external
data block to bdev like any other metadata block does.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://lore.kernel.org/r/20220424140936.1898920-3-yi.zhang@huawei.com
fs/ext4/inode.c
fs/ext4/namei.c
fs/ext4/symlink.c