提交 92b4678e 编写于 作者: E Eric Paris

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: NEric Paris <eparis@redhat.com>
上级 f72adfd5
...@@ -225,7 +225,6 @@ int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, ...@@ -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, ...@@ -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, ...@@ -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);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册