Messages in this thread | | | From | Linus Torvalds <> | Date | Tue, 11 Jan 2011 10:13:32 -0800 | Subject | Re: [announce] vfs-scale git tree update |
| |
[ Added Ian to cc - the BUG_ON() in d_set_d_op() triggers on autofs4, see lkml thread for more details if you care ]
On Tue, Jan 11, 2011 at 9:57 AM, Alex Elder <aelder@sgi.com> wrote: > > Looking at it quickly, I don't think that would matter for > the case at hand. I.e., that might be safer but it doesn't > address the fact that these fields are getting initialized > multiple times.
You're right - without looking closer or thinking about it any more, I was thinking mkdir etc would create the new dentry, but it can easily be a pre-existing negative one. So it's not like mkdir is always going to be something new that can just be initialized.
So yeah, no race or anything like that required - just regular acceses.
That said, if we make sure that the d_op gets cleared (or the dentry dropped) when something turns negative, and a negative lookup never sets d_op, it should all basically work.
Can you figure out the exact sequence that causes this? Is it enough to just mount something once?
Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |