On Mon, Sep 29, 2014 at 8:59 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > Now RCU lookup starts. And on another CPU we move the first dentry over > the third one. copy_name() is called, it decrements the refcount down > to 1 (__d_free() hasn't happened yet) and doesn't schedule any freeing. Ahh. If we were to do *all* of the copy-name name freeing under RCU, we'd be ok. But we don't. We do the refcount decrement immediately (and have to, if we want to have the rcu/refcount union). Yeah, good call, although I find that doubvle rcu grace period for the common case to be very annoying. Ugh. I'm starting to be sorry I ever suggested this cleanup. Maybe we're better off with the horrid hack (which is equivalent to what we did before) after all. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html