From: duguowei <duguowei@xxxxxxxxxx> Add a node of sysctl, which is current_user_instances. It shows current initialized group counts of system. Signed-off-by: duguowei <duguowei@xxxxxxxxxx> --- fs/notify/fanotify/fanotify_user.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c index c2255b440df9..39674fbffc4f 100644 --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c @@ -51,6 +51,8 @@ /* configurable via /proc/sys/fs/fanotify/ */ static int fanotify_max_queued_events __read_mostly; +/* current initialized group count */ +static int fanotify_user_instances __read_mostly; #ifdef CONFIG_SYSCTL @@ -86,6 +88,14 @@ static struct ctl_table fanotify_table[] = { .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO }, + { + .procname = "current_user_instances", + .data = &fanotify_user_instances, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = proc_dointvec_minmax, + .extra1 = SYSCTL_ZERO + }, { } }; @@ -905,6 +915,8 @@ static int fanotify_release(struct inode *ignored, struct file *file) /* matches the fanotify_init->fsnotify_alloc_group */ fsnotify_destroy_group(group); + fanotify_user_instances--; + return 0; } @@ -1459,6 +1471,8 @@ SYSCALL_DEFINE2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags) if (fd < 0) goto out_destroy_group; + fanotify_user_instances++; + return fd; out_destroy_group: -- 2.36.1