Messages in this thread | | | Date | Thu, 19 Feb 2004 16:17:14 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: Eureka! (was Re: UTF-8 and case-insensitivity) |
| |
On Fri, 20 Feb 2004, Jamie Lokier wrote: > > Will your proposal eliminate Samba's positive cache as well?
Samba has to work on different kernels, so they'll have to have their own code anyway. Whether they want to turn it off or not if better alternatives are found is up to them. Right now it appears that what Tridge wants is a WNT dcache, and since he's not going to get it, I guess the whole discussion is moot.
> What I like about my idea is that no windows_equivalent_strncasecmp() > needs to go into the kernel. I.e. no need for a Samba-specific module. > > The other thing I like is that DN_IGNORE_SELF would be useful for > other applications too.
I agree. It might even be acceptable not as a new flag, but as a modification to existing behaviour. I can't imagine that a file manager is all that interested in seeing the changes it itself does be reported back to it. And I don't really know of any other uses of dnotify.
(That said, clearly it's better to just have a new flag, since that way there is no possibility of anything breaking).
On the other hand, even with a nice dnotify infrastructure, you simply _cannot_ get absolute atomicity guarantees. Because by the time you actually execute the "mv" operation, another process may create a new file with the "same" name (ie different name, but comparing the same ignoring case) on another CPU. By the time you get the dnotify, it's too late, and the move will have happened, and undoing the operation (and hiding it from the client) may well be impossible - possibly because another process creating a file with the old name.
NOTE! Even an in-kernel implementation fundamentally cannot fix this race on something like NFS. So the in-kernel version would only help for local filesystems that the kernel has exclusive write access to.
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/
| |