]> git.hungrycats.org Git - linux/commit
filelock: new helper: vfs_inode_has_locks
authorJeff Layton <jlayton@kernel.org>
Mon, 14 Nov 2022 13:33:09 +0000 (08:33 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2023 11:00:38 +0000 (12:00 +0100)
commit3034fe39dbc22a5b9cfbc9bdcfe051c98885bacb
tree42d3f03002404c68f4c04307a14f47de584c4025
parent437d4547b9b3dda631416bd70bcb38fd92750af2
filelock: new helper: vfs_inode_has_locks

[ Upstream commit ab1ddef98a715eddb65309ffa83267e4e84a571e ]

Ceph has a need to know whether a particular inode has any locks set on
it. It's currently tracking that by a num_locks field in its
filp->private_data, but that's problematic as it tries to decrement this
field when releasing locks and that can race with the file being torn
down.

Add a new vfs_inode_has_locks helper that just returns whether any locks
are currently held on the inode.

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Stable-dep-of: 461ab10ef7e6 ("ceph: switch to vfs_inode_has_locks() to fix file lock bug")
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/locks.c
include/linux/fs.h