|
LinuxConf.eu wrapupLinuxConf.eu wrapupPosted Sep 13, 2007 10:58 UTC (Thu) by jengelh (subscriber, #33263)Parent article: LinuxConf.eu wrapup
>Every file has a backpointer to its containing directory - and, yes, multiply-linked files have backpointers to all of the directories in which they are found.
Hah finally inotify is going to shine.
(Log in to post comments)
LinuxConf.eu wrapup Posted Sep 13, 2007 21:11 UTC (Thu) by intgr (subscriber, #39733) [Link] How is it going to shine any more than it does now? inotify works at the VFS layer, so it works the same way regardless of the underlying file system.
LinuxConf.eu wrapup Posted Sep 13, 2007 21:34 UTC (Thu) by jengelh (subscriber, #33263) [Link] Yes, of course you are right, inotify is at the VFS. But the VFS is deep and shallow :-) static ssize_t foofs_write(struct file *filp, const char __user *buf, size_t len, off_t *ppos)
{
struct fooinode *ino = filp->f_dentry->d_inode->i_private;
struct dentry *de;
list_for_each_entry(de, ino->dentries, ...) {
fsnotify_modify(de);
}
return do_sync_write(filp, buf, len, ppos);
}
This is specific to foofs that it can actually trigger fsnotify_modify events on all dentries that reference the same inode, because only foofs has the 1:N mapping from inode:dentries. The regular case outside foofs only triggers an fsnotify_modify on the dentry you actually opened (see
|
Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.