On Tue, 2006-09-05 at 11:37 +0100, David Howells wrote: > Ian Kent <raven@xxxxxxxxxx> wrote: > > > > As long as you don't rely on stat...mkdir working. That can go wrong if the > > > dentry gets booted from the dcache by memory pressure in the "...". > > > > I'm not clear on your point here. > > I was wondering if you were going to rely on stat() forcing the dentry to be > correctly initialised before you did mkdir(), but it seems not. > > > If I stat a path and it exists then all is good and I'm done. > > If I stat a path and I get something other than ENOENT then all is bad > > and I return fail. > > Otherwise I can just attempt to create the directory and fail if all is > > bad with that. > > Okay, I suppose. But that still doesn't seem to deal with the case of creating > a directory on the client that then overlays a symlink on the server that you > can't yet access. We're largely performing user space actions at this point. Wouldn't the subsequent call to mount(8) catch that? > > You may also get ENOENT because you stat a symlink, though you'll get EEXIST > from mkdir, even if there's nothing at the far end. Don't think this is something I need to care about either. I can't mount on a symlink so the error return would be the correct way to deal with it. Ian - 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