Add missing SysV IPC stats to linprocfs(4). Fixes 'ipcs -l',
and also helps Oracle. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25669
This commit is contained in:
parent
7ce051e799
commit
978ffef22f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=363303
@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
#include <sys/sbuf.h>
|
#include <sys/sbuf.h>
|
||||||
#include <sys/sem.h>
|
#include <sys/sem.h>
|
||||||
|
#include <sys/shm.h>
|
||||||
#include <sys/smp.h>
|
#include <sys/smp.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/syscallsubr.h>
|
#include <sys/syscallsubr.h>
|
||||||
@ -1404,6 +1405,17 @@ linprocfs_doosbuild(PFS_FILL_ARGS)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Filler function for proc/sys/kernel/msgmax
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
linprocfs_domsgmax(PFS_FILL_ARGS)
|
||||||
|
{
|
||||||
|
|
||||||
|
sbuf_printf(sb, "%d\n", msginfo.msgmax);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Filler function for proc/sys/kernel/msgmni
|
* Filler function for proc/sys/kernel/msgmni
|
||||||
*/
|
*/
|
||||||
@ -1415,6 +1427,17 @@ linprocfs_domsgmni(PFS_FILL_ARGS)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Filler function for proc/sys/kernel/msgmnb
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
linprocfs_domsgmnb(PFS_FILL_ARGS)
|
||||||
|
{
|
||||||
|
|
||||||
|
sbuf_printf(sb, "%d\n", msginfo.msgmnb);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Filler function for proc/sys/kernel/pid_max
|
* Filler function for proc/sys/kernel/pid_max
|
||||||
*/
|
*/
|
||||||
@ -1438,6 +1461,39 @@ linprocfs_dosem(PFS_FILL_ARGS)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Filler function for proc/sys/kernel/shmall
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
linprocfs_doshmall(PFS_FILL_ARGS)
|
||||||
|
{
|
||||||
|
|
||||||
|
sbuf_printf(sb, "%lu\n", shminfo.shmall);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Filler function for proc/sys/kernel/shmmax
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
linprocfs_doshmmax(PFS_FILL_ARGS)
|
||||||
|
{
|
||||||
|
|
||||||
|
sbuf_printf(sb, "%lu\n", shminfo.shmmax);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Filler function for proc/sys/kernel/shmmni
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
linprocfs_doshmmni(PFS_FILL_ARGS)
|
||||||
|
{
|
||||||
|
|
||||||
|
sbuf_printf(sb, "%lu\n", shminfo.shmmni);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Filler function for proc/sys/kernel/tainted
|
* Filler function for proc/sys/kernel/tainted
|
||||||
*/
|
*/
|
||||||
@ -1837,6 +1893,7 @@ linprocfs_init(PFS_INIT_ARGS)
|
|||||||
|
|
||||||
/* /proc/sys/... */
|
/* /proc/sys/... */
|
||||||
sys = pfs_create_dir(root, "sys", NULL, NULL, NULL, 0);
|
sys = pfs_create_dir(root, "sys", NULL, NULL, NULL, 0);
|
||||||
|
|
||||||
/* /proc/sys/kernel/... */
|
/* /proc/sys/kernel/... */
|
||||||
dir = pfs_create_dir(sys, "kernel", NULL, NULL, NULL, 0);
|
dir = pfs_create_dir(sys, "kernel", NULL, NULL, NULL, 0);
|
||||||
pfs_create_file(dir, "osrelease", &linprocfs_doosrelease,
|
pfs_create_file(dir, "osrelease", &linprocfs_doosrelease,
|
||||||
@ -1845,12 +1902,22 @@ linprocfs_init(PFS_INIT_ARGS)
|
|||||||
NULL, NULL, NULL, PFS_RD);
|
NULL, NULL, NULL, PFS_RD);
|
||||||
pfs_create_file(dir, "version", &linprocfs_doosbuild,
|
pfs_create_file(dir, "version", &linprocfs_doosbuild,
|
||||||
NULL, NULL, NULL, PFS_RD);
|
NULL, NULL, NULL, PFS_RD);
|
||||||
|
pfs_create_file(dir, "msgmax", &linprocfs_domsgmax,
|
||||||
|
NULL, NULL, NULL, PFS_RD);
|
||||||
pfs_create_file(dir, "msgmni", &linprocfs_domsgmni,
|
pfs_create_file(dir, "msgmni", &linprocfs_domsgmni,
|
||||||
NULL, NULL, NULL, PFS_RD);
|
NULL, NULL, NULL, PFS_RD);
|
||||||
|
pfs_create_file(dir, "msgmnb", &linprocfs_domsgmnb,
|
||||||
|
NULL, NULL, NULL, PFS_RD);
|
||||||
pfs_create_file(dir, "pid_max", &linprocfs_dopid_max,
|
pfs_create_file(dir, "pid_max", &linprocfs_dopid_max,
|
||||||
NULL, NULL, NULL, PFS_RD);
|
NULL, NULL, NULL, PFS_RD);
|
||||||
pfs_create_file(dir, "sem", &linprocfs_dosem,
|
pfs_create_file(dir, "sem", &linprocfs_dosem,
|
||||||
NULL, NULL, NULL, PFS_RD);
|
NULL, NULL, NULL, PFS_RD);
|
||||||
|
pfs_create_file(dir, "shmall", &linprocfs_doshmall,
|
||||||
|
NULL, NULL, NULL, PFS_RD);
|
||||||
|
pfs_create_file(dir, "shmmax", &linprocfs_doshmmax,
|
||||||
|
NULL, NULL, NULL, PFS_RD);
|
||||||
|
pfs_create_file(dir, "shmmni", &linprocfs_doshmmni,
|
||||||
|
NULL, NULL, NULL, PFS_RD);
|
||||||
pfs_create_file(dir, "tainted", &linprocfs_dotainted,
|
pfs_create_file(dir, "tainted", &linprocfs_dotainted,
|
||||||
NULL, NULL, NULL, PFS_RD);
|
NULL, NULL, NULL, PFS_RD);
|
||||||
|
|
||||||
@ -1887,3 +1954,4 @@ MODULE_DEPEND(linprocfs, linux, 1, 1, 1);
|
|||||||
MODULE_DEPEND(linprocfs, procfs, 1, 1, 1);
|
MODULE_DEPEND(linprocfs, procfs, 1, 1, 1);
|
||||||
MODULE_DEPEND(linprocfs, sysvmsg, 1, 1, 1);
|
MODULE_DEPEND(linprocfs, sysvmsg, 1, 1, 1);
|
||||||
MODULE_DEPEND(linprocfs, sysvsem, 1, 1, 1);
|
MODULE_DEPEND(linprocfs, sysvsem, 1, 1, 1);
|
||||||
|
MODULE_DEPEND(linprocfs, sysvshm, 1, 1, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user