]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
fsnotify: rename fsnotify_groups to fsnotify_inode_groups
authorEric Paris <eparis@redhat.com>
Fri, 18 Dec 2009 02:24:23 +0000 (21:24 -0500)
committerEric Paris <eparis@redhat.com>
Wed, 28 Jul 2010 13:58:51 +0000 (09:58 -0400)
Simple renaming patch.  fsnotify is about to support mount point listeners
so I am renaming fsnotify_groups and fsnotify_mask to indicate these are lists
used only for groups which have watches on inodes.

Signed-off-by: Eric Paris <eparis@redhat.com>
fs/notify/fsnotify.c
fs/notify/fsnotify.h
fs/notify/group.c
include/linux/fsnotify_backend.h

index 806beede24a37cdabe2b730a3eac69c268b37ce2..23b5cfbeed50f70739ae24c7f6197ac6d64d2fd9 100644 (file)
@@ -148,10 +148,10 @@ void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, const
        /* global tests shouldn't care about events on child only the specific event */
        __u32 test_mask = (mask & ~FS_EVENT_ON_CHILD);
 
-       if (list_empty(&fsnotify_groups))
+       if (list_empty(&fsnotify_inode_groups))
                return;
 
-       if (!(test_mask & fsnotify_mask))
+       if (!(test_mask & fsnotify_inode_mask))
                return;
 
        if (!(test_mask & to_tell->i_fsnotify_mask))
@@ -162,7 +162,7 @@ void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, const
         * anything other than walk the list so it's crazy to pre-allocate.
         */
        idx = srcu_read_lock(&fsnotify_grp_srcu);
-       list_for_each_entry_rcu(group, &fsnotify_groups, group_list) {
+       list_for_each_entry_rcu(group, &fsnotify_inode_groups, inode_group_list) {
                if (test_mask & group->mask) {
                        if (!group->ops->should_send_event(group, to_tell, mask,
                                                           data, data_is))
index 4dc240824b2dfd620dca2f3783cf424e951f8f75..ec5aee43bdc5856caef154be76e5abded9e6c8dd 100644 (file)
@@ -8,10 +8,10 @@
 
 /* protects reads of fsnotify_groups */
 extern struct srcu_struct fsnotify_grp_srcu;
-/* all groups which receive fsnotify events */
-extern struct list_head fsnotify_groups;
-/* all bitwise OR of all event types (FS_*) for all fsnotify_groups */
-extern __u32 fsnotify_mask;
+/* all groups which receive inode fsnotify events */
+extern struct list_head fsnotify_inode_groups;
+/* all bitwise OR of all event types (FS_*) for all fsnotify_inode_groups */
+extern __u32 fsnotify_inode_mask;
 
 /* destroy all events sitting in this groups notification queue */
 extern void fsnotify_flush_notify(struct fsnotify_group *group);
index 1657349c30a63d5b29b46512daaa063cd7fe3d0a..c80809745312be8286c4efe48a5eb5f801444821 100644 (file)
@@ -33,9 +33,9 @@ static DEFINE_MUTEX(fsnotify_grp_mutex);
 /* protects reads while running the fsnotify_groups list */
 struct srcu_struct fsnotify_grp_srcu;
 /* all groups registered to receive filesystem notifications */
-LIST_HEAD(fsnotify_groups);
+LIST_HEAD(fsnotify_inode_groups);
 /* bitwise OR of all events (FS_*) interesting to some group on this system */
-__u32 fsnotify_mask;
+__u32 fsnotify_inode_mask;
 
 /*
  * When a new group registers or changes it's set of interesting events
@@ -48,10 +48,10 @@ void fsnotify_recalc_global_mask(void)
        int idx;
 
        idx = srcu_read_lock(&fsnotify_grp_srcu);
-       list_for_each_entry_rcu(group, &fsnotify_groups, group_list)
+       list_for_each_entry_rcu(group, &fsnotify_inode_groups, inode_group_list)
                mask |= group->mask;
        srcu_read_unlock(&fsnotify_grp_srcu, idx);
-       fsnotify_mask = mask;
+       fsnotify_inode_mask = mask;
 }
 
 /*
@@ -77,6 +77,17 @@ void fsnotify_recalc_group_mask(struct fsnotify_group *group)
                fsnotify_recalc_global_mask();
 }
 
+static void fsnotify_add_group(struct fsnotify_group *group)
+{
+       BUG_ON(!mutex_is_locked(&fsnotify_grp_mutex));
+
+       group->on_inode_group_list = 1;
+       /* being on the fsnotify_groups list holds one num_marks */
+       atomic_inc(&group->num_marks);
+
+       list_add_tail_rcu(&group->inode_group_list, &fsnotify_inode_groups);
+}
+
 /*
  * Final freeing of a group
  */
@@ -118,9 +129,9 @@ static void __fsnotify_evict_group(struct fsnotify_group *group)
 {
        BUG_ON(!mutex_is_locked(&fsnotify_grp_mutex));
 
-       if (group->on_group_list)
-               list_del_rcu(&group->group_list);
-       group->on_group_list = 0;
+       if (group->on_inode_group_list)
+               list_del_rcu(&group->inode_group_list);
+       group->on_inode_group_list = 0;
 }
 
 /*
@@ -186,10 +197,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
 
        mutex_lock(&fsnotify_grp_mutex);
 
-       list_add_rcu(&group->group_list, &fsnotify_groups);
-       group->on_group_list = 1;
-       /* being on the fsnotify_groups list holds one num_marks */
-       atomic_inc(&group->num_marks);
+       fsnotify_add_group(group);
 
        mutex_unlock(&fsnotify_grp_mutex);
 
index 58326049ab297292eee5479e9ba7775c0ecdabfb..21079ade5620de283b0ea4089ce4340e3a9ca2ca 100644 (file)
@@ -95,10 +95,10 @@ struct fsnotify_ops {
 struct fsnotify_group {
        /*
         * global list of all groups receiving events from fsnotify.
-        * anchored by fsnotify_groups and protected by either fsnotify_grp_mutex
+        * anchored by fsnotify_inode_groups and protected by either fsnotify_grp_mutex
         * or fsnotify_grp_srcu depending on write vs read.
         */
-       struct list_head group_list;
+       struct list_head inode_group_list;
 
        /*
         * Defines all of the event types in which this group is interested.
@@ -136,7 +136,7 @@ struct fsnotify_group {
        struct list_head mark_entries;  /* all inode mark entries for this group */
 
        /* prevents double list_del of group_list.  protected by global fsnotify_grp_mutex */
-       bool on_group_list;
+       bool on_inode_group_list;
 
        /* groups can define private fields here or use the void *private */
        union {