inotify: move sysctl
Subsystems (2)
PATCH 1/3 inotify: move sysctl
Linus,
Attached patch moves the inotify sysctl knobs to "/proc/sys/fs/inotify" from "/proc/sys/fs". Also some related cleanup.
Patch is against current git tree. Please, apply.
Robert Love
Signed-off-by Robert Love <[email protected]>
fs/inotify.c | 49 +++++++++++++++++++++++++++++++++++++++++++---- include/linux/sysctl.h | 12 +++++------ kernel/sysctl.c | 51 ++++++++++--------------------------------------- 3 files changed, 62 insertions(+), 50 deletions(-)
fs/inotify.c +45 -4
@@ -45,8 +45,8 @@static struct vfsmount *inotify_mnt; -/* These are configurable via /proc/sys/inotify */ -int inotify_max_user_devices; +/* these are configurable via /proc/sys/fs/inotify/ */ +int inotify_max_user_instances;int inotify_max_user_watches;int inotify_max_queued_events;
@@ -125,6 +125,47 @@u32 mask;/* event mask for this watch */ }; +#ifdef CONFIG_SYSCTL + +#include <linux/sysctl.h> + +static int zero; + +ctl_table inotify_table[] = { + { + .ctl_name =INOTIFY_MAX_USER_INSTANCES , + .procname ="max_user_instances" , + .data = &inotify_max_user_instances, + .maxlen =sizeof (int ), + .mode =0644 , + .proc_handler = &proc_dointvec_minmax, + .strategy = &sysctl_intvec, + .extra1 = &zero, + }, + { + .ctl_name =INOTIFY_MAX_USER_WATCHES , + .procname ="max_user_watches" , + .data = &inotify_max_user_watches, + .maxlen =sizeof (int ), + .mode =0644 , + .proc_handler = &proc_dointvec_minmax, + .strategy = &sysctl_intvec, + .extra1 = &zero, + }, + { + .ctl_name =INOTIFY_MAX_QUEUED_EVENTS , + .procname ="max_queued_events" , + .data = &inotify_max_queued_events, + .maxlen =sizeof (int ), + .mode =0644 , + .proc_handler = &proc_dointvec_minmax, + .strategy = &sysctl_intvec, + .extra1 = &zero + }, + { .ctl_name =0 } +}; +#endif /* CONFIG_SYSCTL */ +static inline void get_inotify_dev (struct inotify_device *dev) {atomic_inc (&dev->count);
@@ -842,7 +883,7 @@ user =get_uid (current->user); -if (unlikely (atomic_read (&user->inotify_devs) >= inotify_max_user_devices)) { +if (unlikely (atomic_read (&user->inotify_devs) >= inotify_max_user_instances)) { ret = -EMFILE ; goto out_err; }
@@ -979,7 +1020,7 @@ inotify_mnt =kern_mount (&inotify_fs_type); inotify_max_queued_events =8192 ; - inotify_max_user_devices =128 ; + inotify_max_user_instances =8 ; inotify_max_user_watches =8192 ;atomic_set (&inotify_cookie,0 );
include/linux/sysctl.h +6 -6
@@ -61,8 +61,7 @@CTL_DEV =7 ,/* Devices */ CTL_BUS =8 ,/* Busses */ CTL_ABI =9 ,/* Binary emulation */ -CTL_CPU =10 ,/* CPU stuff (speed scaling, etc) */ - CTL_INOTIFY=11 /* Inotify */ + CTL_CPU=10 /* CPU stuff (speed scaling, etc) */ };/* CTL_BUS names: */
@@ -71,12 +70,12 @@ CTL_BUS_ISA=1 /* ISA */ }; -/* CTL_INOTIFY names: */ +/* /proc/sys/fs/inotify/ */ enum { -INOTIFY_MAX_USER_DEVICES =1 ,/* max number of inotify device instances per user */ -INOTIFY_MAX_USER_WATCHES =2 ,/* max number of inotify watches per user */ -INOTIFY_MAX_QUEUED_EVENTS =3 /* Max number of queued events per inotify device instance */ +INOTIFY_MAX_USER_INSTANCES =1 ,/* max instances per user */ +INOTIFY_MAX_USER_WATCHES =2 ,/* max watches per user */ +INOTIFY_MAX_QUEUED_EVENTS =3 /* max queued events per instance */ };/* CTL_KERN names: */
@@ -685,6 +684,7 @@FS_XFS =17 ,/* struct: control xfs parameters */ FS_AIO_NR =18 ,/* current system-wide number of aio requests */ FS_AIO_MAX_NR =19 ,/* system-wide maximum number of aio requests */ + FS_INOTIFY=20, /* inotify submenu */ };/* /proc/sys/fs/quota/ */
kernel/sysctl.c +11 -40
75 lines not on this page · raw message