]> git.itanic.dy.fi Git - linux-stable/commit
fs: Lock moved directories
authorJan Kara <jack@suse.cz>
Thu, 1 Jun 2023 10:58:25 +0000 (12:58 +0200)
committerChristian Brauner <brauner@kernel.org>
Fri, 2 Jun 2023 13:00:18 +0000 (15:00 +0200)
commit28eceeda130f5058074dd007d9c59d2e8bc5af2e
tree1b2ccadf12dbd14e5690640972a7916de73cbf8f
parentf23ce757185319886ca80c4864ce5f81ac6cc9e9
fs: Lock moved directories

When a directory is moved to a different directory, some filesystems
(udf, ext4, ocfs2, f2fs, and likely gfs2, reiserfs, and others) need to
update their pointer to the parent and this must not race with other
operations on the directory. Lock the directories when they are moved.
Although not all filesystems need this locking, we perform it in
vfs_rename() because getting the lock ordering right is really difficult
and we don't want to expose these locking details to filesystems.

CC: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Message-Id: <20230601105830.13168-5-jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Documentation/filesystems/directory-locking.rst
fs/namei.c