linux/fs/notify
Jan Kara 04662cab59 fsnotify: Lock object list with connector lock
So far list of marks attached to an object (inode / vfsmount) was
protected by i_lock or mnt_root->d_lock. This dictates that the list
must be empty before the object can be destroyed although the list is
now anchored in the fsnotify_mark_connector structure. Protect the list
by a spinlock in the fsnotify_mark_connector structure to decouple
lifetime of a list of marks from a lifetime of the object. This also
simplifies the code quite a bit since we don't have to differentiate
between inode and vfsmount lists in quite a few places anymore.

Reviewed-by: Miklos Szeredi <mszeredi@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
2017-04-10 17:37:35 +02:00
..
dnotify fsnotify: Move locking into fsnotify_recalc_mask() 2017-04-10 17:37:35 +02:00
fanotify fanotify: Move recalculation of inode / vfsmount mask under mark_mutex 2017-04-03 16:56:40 +02:00
inotify inotify: Remove inode pointers from debug messages 2017-04-03 16:56:34 +02:00
fdinfo.c fsnotify: Move object pointer to fsnotify_mark_connector 2017-04-10 17:37:35 +02:00
fdinfo.h fs: Convert show_fdinfo functions to void 2014-11-05 14:13:23 -05:00
fsnotify.c fsnotify: Move mark list head from object into dedicated structure 2017-04-10 17:37:34 +02:00
fsnotify.h fsnotify: Remove indirection from fsnotify_detach_mark() 2017-04-10 17:37:35 +02:00
group.c fsnotify: convert notification_mutex to a spinlock 2016-10-07 18:46:26 -07:00
inode_mark.c fsnotify: Remove indirection from fsnotify_detach_mark() 2017-04-10 17:37:35 +02:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
Makefile fs, notify: add procfs fdinfo helper 2012-12-17 17:15:28 -08:00
mark.c fsnotify: Lock object list with connector lock 2017-04-10 17:37:35 +02:00
notification.c fsnotify: clean up spinlock assertions 2016-10-07 18:46:26 -07:00
vfsmount_mark.c fsnotify: Remove indirection from fsnotify_detach_mark() 2017-04-10 17:37:35 +02:00