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:
parent
f72adfd540
commit
92b4678efa
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue