Messages in this thread | | | Date | Thu, 19 Feb 2004 18:29:48 +0000 | From | Jamie Lokier <> | Subject | Re: UTF-8 and case-insensitivity |
| |
Linus Torvalds wrote: > > > For example, the rule can be that _any_ regular dentry create will > > > invalidate all the "case-insensitive" dentries. Just to be simple about > > > it. > > > > If that's the rule, then with exactly the same algorithmic efficiency, > > readdir+dnotify can be used to maintain the cache in userspace > > instead. There is nothing gained by using the helper module in that case. > > Wrong. > Because the dnotify would trigger EVEN FOR SAMBA OPERATIONS.
Ah, I didn't know you meant "_any_ regular dentry create (except for Samba operations)".
To apply that rule, you either need alternate versions of rename() and other file syscalls, or something akin to a process-specific flag (set by the helper module) saying that this is a Samba process and dentry creation _by this process_ shouldn't invalidate case-insensitive dentries.
And if you have either of those, the bit of code which says "don't invalidate case-insenitive dentries because this is a Samba process" can just as easily say "don't send dnotify events to the current process".
And once you've done that, it's easier just to add a DN_IGNORE_SELF flag to dnotify meaning to ignore events caused by the current process, and forget about the helper module. That'd be useful for other programs, too.
-- Jamie - 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/
| |