Re: [PATCH 1/2] kernfs: dont take i_lock on inode attr read
From: Miklos Szeredi
Date: Mon Oct 24 2022 - 04:51:17 EST
On Tue, 18 Oct 2022 at 04:32, Ian Kent <raven@xxxxxxxxxx> wrote:
>
> 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.
>
> Signed-off-by: Ian Kent <raven@xxxxxxxxxx>
Reviewed-by: Miklos Szeredi <mszeredi@xxxxxxxxxx>