From 8212a6097a720896b4cdbe516487ad47f4296599 Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Wed, 15 Mar 2017 09:48:11 +0100 Subject: fsnotify: Remove indirection from fsnotify_detach_mark() fsnotify_detach_mark() calls fsnotify_destroy_inode_mark() or fsnotify_destroy_vfsmount_mark() to remove mark from object list. These two functions are however very similar and differ only in the lock they use to protect the object list of marks. Simplify the code by removing the indirection and removing mark from the object list in a common function. Reviewed-by: Miklos Szeredi Reviewed-by: Amir Goldstein Signed-off-by: Jan Kara --- fs/notify/inode_mark.c | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'fs/notify/inode_mark.c') diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c index f05fc49b8242..080b6d8b9973 100644 --- a/fs/notify/inode_mark.c +++ b/fs/notify/inode_mark.c @@ -35,27 +35,6 @@ void fsnotify_recalc_inode_mask(struct inode *inode) fsnotify_recalc_mask(inode->i_fsnotify_marks); } -struct inode *fsnotify_destroy_inode_mark(struct fsnotify_mark *mark) -{ - struct inode *inode = mark->connector->inode; - bool empty; - - BUG_ON(!mutex_is_locked(&mark->group->mark_mutex)); - assert_spin_locked(&mark->lock); - - spin_lock(&inode->i_lock); - - hlist_del_init_rcu(&mark->obj_list); - empty = hlist_empty(&mark->connector->list); - mark->connector = NULL; - - spin_unlock(&inode->i_lock); - - fsnotify_recalc_mask(inode->i_fsnotify_marks); - - return empty ? inode : NULL; -} - /* * Given a group clear all of the inode marks associated with that group. */ -- cgit v1.2.3