summaryrefslogtreecommitdiffstats
path: root/fs/bad_inode.c
diff options
context:
space:
mode:
authorIan Kent <raven@themaw.net>2022-10-18 04:32:42 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-10-20 13:54:26 +0200
commitaa1d058d48f292aa138e33ad12b7b4d18b5407cd (patch)
treeb217058e2baa1422788a68bf13a628d41110bde3 /fs/bad_inode.c
parentUSB: make devnode() callback in usb_class_driver take a const * (diff)
downloadlinux-aa1d058d48f292aa138e33ad12b7b4d18b5407cd.tar.xz
linux-aa1d058d48f292aa138e33ad12b7b4d18b5407cd.zip
kernfs: dont take i_lock on inode attr read
The kernfs write lock is held when the kernfs node inode attributes are updated. Therefore, when either kernfs_iop_getattr() or kernfs_iop_permission() are called the kernfs node inode attributes won't change. Consequently concurrent kernfs_refresh_inode() calls always copy the same values from the kernfs node. So there's no need to take the inode i_lock to get consistent values for generic_fillattr() and generic_permission(), the kernfs read lock is sufficient. Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Ian Kent <raven@themaw.net> Link: https://lore.kernel.org/r/166606036215.13363.1288735296954908554.stgit@donald.themaw.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/bad_inode.c')
0 files changed, 0 insertions, 0 deletions