From: Trond Myklebust This will allow rpc.gssd to use inotify instead of dnotify in order to locate new rpc upcall pipes. This also requires the exporting of __audit_inode_child(), which is used by fsnotify_create() and fsnotify_mkdir(). Ccing David Woodhouse. Cc: David Woodhouse Signed-off-by: Trond Myklebust Cc: "David S. Miller" Signed-off-by: Andrew Morton --- kernel/auditsc.c | 1 + net/sunrpc/rpc_pipe.c | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff -puN kernel/auditsc.c~sunrpc-convert-rpc_pipefs-to-use-the-generic-filesystem-notification-hooks kernel/auditsc.c --- a/kernel/auditsc.c~sunrpc-convert-rpc_pipefs-to-use-the-generic-filesystem-notification-hooks +++ a/kernel/auditsc.c @@ -1736,6 +1736,7 @@ add_names: context->names[idx].ino = (unsigned long)-1; } } +EXPORT_SYMBOL_GPL(__audit_inode_child); /** * auditsc_get_stamp - get local copies of audit_context values diff -puN net/sunrpc/rpc_pipe.c~sunrpc-convert-rpc_pipefs-to-use-the-generic-filesystem-notification-hooks net/sunrpc/rpc_pipe.c --- a/net/sunrpc/rpc_pipe.c~sunrpc-convert-rpc_pipefs-to-use-the-generic-filesystem-notification-hooks +++ a/net/sunrpc/rpc_pipe.c @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include @@ -586,6 +586,7 @@ rpc_populate(struct dentry *parent, if (S_ISDIR(mode)) inc_nlink(dir); d_add(dentry, inode); + fsnotify_create(dir, dentry); } mutex_unlock(&dir->i_mutex); return 0; @@ -607,7 +608,7 @@ __rpc_mkdir(struct inode *dir, struct de inode->i_ino = iunique(dir->i_sb, 100); d_instantiate(dentry, inode); inc_nlink(dir); - inode_dir_notify(dir, DN_CREATE); + fsnotify_mkdir(dir, dentry); return 0; out_err: printk(KERN_WARNING "%s: %s failed to allocate inode for dentry %s\n", @@ -749,7 +750,7 @@ rpc_mkpipe(struct dentry *parent, const rpci->flags = flags; rpci->ops = ops; rpci->nkern_readwriters = 1; - inode_dir_notify(dir, DN_CREATE); + fsnotify_create(dir, dentry); dget(dentry); out: mutex_unlock(&dir->i_mutex); _