aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2018-09-01 03:41:13 -0400
committerJan Kara <jack@suse.cz>2018-09-03 09:16:11 -0400
commitd54f4fba889b205e9cd8239182ca5d27d0ac3bc2 (patch)
tree2b0e5b709d0663942520d6aa830a7cd517db804d /include/uapi/linux
parent60f7ed8c7c4d06aeda448c6da74621552ee739aa (diff)
fanotify: add API to attach/detach super block mark
Add another mark type flag FAN_MARK_FILESYSTEM for add/remove/flush of super block mark type. A super block watch gets all events on the filesystem, regardless of the mount from which the mark was added, unless an ignore mask exists on either the inode or the mount where the event was generated. Only one of FAN_MARK_MOUNT and FAN_MARK_FILESYSTEM mark type flags may be provided to fanotify_mark() or no mark type flag for inode mark. Cc: <linux-api@vger.kernel.org> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/fanotify.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/include/uapi/linux/fanotify.h b/include/uapi/linux/fanotify.h
index 74247917de04..ad81234d1919 100644
--- a/include/uapi/linux/fanotify.h
+++ b/include/uapi/linux/fanotify.h
@@ -27,7 +27,7 @@
27#define FAN_CLOEXEC 0x00000001 27#define FAN_CLOEXEC 0x00000001
28#define FAN_NONBLOCK 0x00000002 28#define FAN_NONBLOCK 0x00000002
29 29
30/* These are NOT bitwise flags. Both bits are used togther. */ 30/* These are NOT bitwise flags. Both bits are used together. */
31#define FAN_CLASS_NOTIF 0x00000000 31#define FAN_CLASS_NOTIF 0x00000000
32#define FAN_CLASS_CONTENT 0x00000004 32#define FAN_CLASS_CONTENT 0x00000004
33#define FAN_CLASS_PRE_CONTENT 0x00000008 33#define FAN_CLASS_PRE_CONTENT 0x00000008
@@ -47,19 +47,27 @@
47#define FAN_MARK_REMOVE 0x00000002 47#define FAN_MARK_REMOVE 0x00000002
48#define FAN_MARK_DONT_FOLLOW 0x00000004 48#define FAN_MARK_DONT_FOLLOW 0x00000004
49#define FAN_MARK_ONLYDIR 0x00000008 49#define FAN_MARK_ONLYDIR 0x00000008
50#define FAN_MARK_MOUNT 0x00000010 50/* FAN_MARK_MOUNT is 0x00000010 */
51#define FAN_MARK_IGNORED_MASK 0x00000020 51#define FAN_MARK_IGNORED_MASK 0x00000020
52#define FAN_MARK_IGNORED_SURV_MODIFY 0x00000040 52#define FAN_MARK_IGNORED_SURV_MODIFY 0x00000040
53#define FAN_MARK_FLUSH 0x00000080 53#define FAN_MARK_FLUSH 0x00000080
54/* FAN_MARK_FILESYSTEM is 0x00000100 */
55
56/* These are NOT bitwise flags. Both bits can be used togther. */
57#define FAN_MARK_INODE 0x00000000
58#define FAN_MARK_MOUNT 0x00000010
59#define FAN_MARK_FILESYSTEM 0x00000100
60#define FAN_MARK_TYPE_MASK (FAN_MARK_INODE | FAN_MARK_MOUNT | \
61 FAN_MARK_FILESYSTEM)
54 62
55#define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD |\ 63#define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD |\
56 FAN_MARK_REMOVE |\ 64 FAN_MARK_REMOVE |\
57 FAN_MARK_DONT_FOLLOW |\ 65 FAN_MARK_DONT_FOLLOW |\
58 FAN_MARK_ONLYDIR |\ 66 FAN_MARK_ONLYDIR |\
59 FAN_MARK_MOUNT |\
60 FAN_MARK_IGNORED_MASK |\ 67 FAN_MARK_IGNORED_MASK |\
61 FAN_MARK_IGNORED_SURV_MODIFY |\ 68 FAN_MARK_IGNORED_SURV_MODIFY |\
62 FAN_MARK_FLUSH) 69 FAN_MARK_FLUSH|\
70 FAN_MARK_TYPE_MASK)
63 71
64/* 72/*
65 * All of the events - we build the list by hand so that we can add flags in 73 * All of the events - we build the list by hand so that we can add flags in