Re: [PATCH V5 01/12] fs/xfs: Remove unnecessary initialization of i_rwsem

From: Ira Weiny
Date: Thu Feb 27 2020 - 12:25:52 EST


On Wed, Feb 26, 2020 at 09:24:31PM -0800, 'Ira Weiny' wrote:
> From: Ira Weiny <ira.weiny@xxxxxxxxx>
>
> xfs_reinit_inode() -> inode_init_always() already handles calling
> init_rwsem(i_rwsem). Doing so again is unneeded.
>
> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>

Ok... I'm going to blame exchange...

Dan just pointed out that I mist this response from Dave...

Saying this patch was wrong.

https://lore.kernel.org/lkml/20200221012625.GT10776@xxxxxxxxxxxxxxxxxxx/

Sorry, I need to read that email and look at it.

Ira

>
> ---
> New for V4:
>
> NOTE: This was found while ensuring the new i_aops_sem was properly
> handled. It seems like this is a layering violation so I think it is
> worth cleaning up so as to not confuse others.
> ---
> fs/xfs/xfs_icache.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c
> index 8dc2e5414276..836a1f09be03 100644
> --- a/fs/xfs/xfs_icache.c
> +++ b/fs/xfs/xfs_icache.c
> @@ -419,6 +419,7 @@ xfs_iget_cache_hit(
> spin_unlock(&ip->i_flags_lock);
> rcu_read_unlock();
>
> + ASSERT(!rwsem_is_locked(&inode->i_rwsem));
> error = xfs_reinit_inode(mp, inode);
> if (error) {
> bool wake;
> @@ -452,9 +453,6 @@ xfs_iget_cache_hit(
> ip->i_sick = 0;
> ip->i_checked = 0;
>
> - ASSERT(!rwsem_is_locked(&inode->i_rwsem));
> - init_rwsem(&inode->i_rwsem);
> -
> spin_unlock(&ip->i_flags_lock);
> spin_unlock(&pag->pag_ici_lock);
> } else {
> --
> 2.21.0
>