summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@suse.de>2009-12-17 21:24:27 -0500
committerEric Paris <eparis@redhat.com>2010-07-28 09:58:57 -0400
commit2504c5d63b811b71bbaa8d5d5af163e698f4df1f (patch)
tree4ff736af6b00fd5cbf0cd6a4d6bbcadb6dde9bd8 /fs
parentba643f04cdda170215c8820acd3e201936fc512d (diff)
downloadlinux-3.10-2504c5d63b811b71bbaa8d5d5af163e698f4df1f.tar.gz
linux-3.10-2504c5d63b811b71bbaa8d5d5af163e698f4df1f.tar.bz2
linux-3.10-2504c5d63b811b71bbaa8d5d5af163e698f4df1f.zip
fsnotify/vfsmount: add fsnotify fields to struct vfsmount
This patch adds the list and mask fields needed to support vfsmount marks. These are the same fields fsnotify needs on an inode. They are not used, just declared and we note where the cleanup hook should be (the function is not yet defined) Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/namespace.c4
-rw-r--r--fs/notify/fsnotify.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 88058de59c7..a2d681a6b5e 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -29,6 +29,7 @@
#include <linux/log2.h>
#include <linux/idr.h>
#include <linux/fs_struct.h>
+#include <linux/fsnotify.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
#include "pnode.h"
@@ -150,6 +151,9 @@ struct vfsmount *alloc_vfsmnt(const char *name)
INIT_LIST_HEAD(&mnt->mnt_share);
INIT_LIST_HEAD(&mnt->mnt_slave_list);
INIT_LIST_HEAD(&mnt->mnt_slave);
+#ifdef CONFIG_FSNOTIFY
+ INIT_HLIST_HEAD(&mnt->mnt_fsnotify_marks);
+#endif
#ifdef CONFIG_SMP
mnt->mnt_writers = alloc_percpu(int);
if (!mnt->mnt_writers)
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c
index 60e84fd338d..e0bf86953e1 100644
--- a/fs/notify/fsnotify.c
+++ b/fs/notify/fsnotify.c
@@ -163,9 +163,7 @@ static bool needed_by_vfsmount(__u32 test_mask, struct vfsmount *mnt)
if (!mnt)
return false;
- /* hook in this when mnt->mnt_fsnotify_mask is defined */
- /* return (test_mask & path->mnt->mnt_fsnotify_mask); */
- return false;
+ return (test_mask & mnt->mnt_fsnotify_mask);
}
/*
* This is the main call to fsnotify. The VFS calls into hook specific functions