Messages in this thread | | | Subject | Re: [RFC] atomic create+open | From | Trond Myklebust <> | Date | Thu, 06 Oct 2005 13:07:27 -0400 |
| |
to den 06.10.2005 Klokka 19:02 (+0200) skreiv Miklos Szeredi: > > The reason why we do it as a lookup intent is because this has to be > > atomic lookup+create+open in order to be at all useful to NFS. > > > > Just doing create+open atomically is worthless since it leaves you with > > a bunch of races where someone on the server can create, say, a symlink > > between the RPC call to lookup and the RPC call that creates the file. > > That's easy to solve: filesystem returns -EAGAIN, namei_open() redoes > the lookup and continues with the resolving. There would have to be > some safeguard counter to avoid infinite loops.
Yech.
> Filesystem could even populate the dentry with the symlink in > ->open_create() to optimize away the relookup.
Better.
> Do you see a problem with that?
No, but what value does an extra function call add then when you already have lookup intents?
Cheers, Trond
- 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/
| |