]> 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)
commit2fd15ca3b15761a8ee2d199b1e9163eb6dc2a764
treeae01477e2f0e88d4d21014792372d063ee88f29e
parent953d6adb145300821e4b26ca3b8a8bb0311073ae
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