fsnotify: drop two useless bools in the fnsotify main loop

The fsnotify main loop has 2 bools which indicated if we processed the
inode or vfsmount mark in that particular pass through the loop.  These
bool can we replaced with the inode_group and vfsmount_group variables
and actually make the code a little easier to understand.

Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
Eric Paris 2010-08-27 21:42:11 -04:00
parent f72adfd540
commit 92b4678efa

View file

@ -225,7 +225,6 @@ int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is,
struct fsnotify_event *event = NULL; struct fsnotify_event *event = NULL;
struct vfsmount *mnt; struct vfsmount *mnt;
int idx, ret = 0; int idx, ret = 0;
bool used_inode, used_vfsmount;
/* global tests shouldn't care about events on child only the specific event */ /* global tests shouldn't care about events on child only the specific event */
__u32 test_mask = (mask & ~FS_EVENT_ON_CHILD); __u32 test_mask = (mask & ~FS_EVENT_ON_CHILD);
@ -260,7 +259,6 @@ int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is,
} }
while (inode_node || vfsmount_node) { while (inode_node || vfsmount_node) {
used_inode = used_vfsmount = false;
inode_group = vfsmount_group = NULL; inode_group = vfsmount_group = NULL;
if (inode_node) { if (inode_node) {
@ -279,23 +277,22 @@ int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is,
/* handle inode */ /* handle inode */
send_to_group(to_tell, NULL, inode_mark, NULL, mask, data, send_to_group(to_tell, NULL, inode_mark, NULL, mask, data,
data_is, cookie, file_name, &event); data_is, cookie, file_name, &event);
used_inode = true; /* we didn't use the vfsmount_mark */
vfsmount_group = NULL;
} else if (vfsmount_group > inode_group) { } else if (vfsmount_group > inode_group) {
send_to_group(to_tell, mnt, NULL, vfsmount_mark, mask, data, send_to_group(to_tell, mnt, NULL, vfsmount_mark, mask, data,
data_is, cookie, file_name, &event); data_is, cookie, file_name, &event);
used_vfsmount = true; inode_group = NULL;
} else { } else {
send_to_group(to_tell, mnt, inode_mark, vfsmount_mark, send_to_group(to_tell, mnt, inode_mark, vfsmount_mark,
mask, data, data_is, cookie, file_name, mask, data, data_is, cookie, file_name,
&event); &event);
used_vfsmount = true;
used_inode = true;
} }
if (used_inode) if (inode_group)
inode_node = srcu_dereference(inode_node->next, inode_node = srcu_dereference(inode_node->next,
&fsnotify_mark_srcu); &fsnotify_mark_srcu);
if (used_vfsmount) if (vfsmount_group)
vfsmount_node = srcu_dereference(vfsmount_node->next, vfsmount_node = srcu_dereference(vfsmount_node->next,
&fsnotify_mark_srcu); &fsnotify_mark_srcu);
} }