Re: [PATCH] ovl: set I_CREATING on inode being created

From: Linus Torvalds
Date: Wed Aug 22 2018 - 10:53:23 EST


On Wed, Aug 22, 2018 at 1:55 AM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
>
> + spin_lock(&inode->i_lock);
> + inode->i_state |= I_CREATING;
> + spin_unlock(&inode->i_lock);
> +

Why is that spinlock protection there?

Isn't this a new inode that cannot possibly be reached any other way yet?

NOTE! This is a question. Maybe there is something I missed, and there
*are* other ways to reach that inode. But if that's true, isn't it
already too late to set I_CREATING?

So I'd like some clarification on this point before applying it. It's
possible that the spinlock is required, I just want to understand why.

Linus