kernel_samsung_a53x/fs/notify
Amir Goldstein a835cba552 fsnotify: allow adding an inode mark without pinning inode
[ Upstream commit c3638b5b13740fa31762d414bbce8b7a694e582a ]

fsnotify_add_mark() and variants implicitly take a reference on inode
when attaching a mark to an inode.

Make that behavior opt-out with the mark flag FSNOTIFY_MARK_FLAG_NO_IREF.

Instead of taking the inode reference when attaching connector to inode
and dropping the inode reference when detaching connector from inode,
take the inode reference on attach of the first mark that wants to hold
an inode reference and drop the inode reference on detach of the last
mark that wants to hold an inode reference.

Backends can "upgrade" an existing mark to take an inode reference, but
cannot "downgrade" a mark with inode reference to release the refernce.

This leaves the choice to the backend whether or not to pin the inode
when adding an inode mark.

This is intended to be used when adding a mark with ignored mask that is
used for optimization in cases where group can afford getting unneeded
events and reinstate the mark with ignored mask when inode is accessed
again after being evicted.

Link: https://lore.kernel.org/r/20220422120327.3459282-12-amir73il@gmail.com
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 12:27:55 +01:00
..
dnotify dnotify: use fsnotify group lock helpers 2024-11-19 12:27:55 +01:00
fanotify fsnotify: pass flags argument to fsnotify_alloc_group() 2024-11-19 12:27:55 +01:00
inotify inotify: use fsnotify group lock helpers 2024-11-19 12:27:55 +01:00
fdinfo.c fsnotify: create helpers for group mark_mutex lock 2024-11-19 12:27:55 +01:00
fdinfo.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fsnotify.c inotify: move control flags from mask to mark flags 2024-11-19 12:27:55 +01:00
fsnotify.h fsnotify: count all objects with attached connectors 2024-11-19 12:27:44 +01:00
group.c fsnotify: create helpers for group mark_mutex lock 2024-11-19 12:27:55 +01:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mark.c fsnotify: allow adding an inode mark without pinning inode 2024-11-19 12:27:55 +01:00
notification.c fsnotify: Pass group argument to free_event 2024-11-19 12:27:46 +01:00