[Glibc-bsd-commits] r3644 - in trunk/kfreebsd-9/debian: . patches
Robert Millan
rmh at alioth.debian.org
Thu Jul 28 23:36:50 UTC 2011
Author: rmh
Date: 2011-07-28 23:36:50 +0000 (Thu, 28 Jul 2011)
New Revision: 3644
Added:
trunk/kfreebsd-9/debian/patches/006_proc_swaps.diff
Modified:
trunk/kfreebsd-9/debian/changelog
trunk/kfreebsd-9/debian/patches/series
Log:
006_proc_swaps.diff: Implement /proc/swaps.
Modified: trunk/kfreebsd-9/debian/changelog
===================================================================
--- trunk/kfreebsd-9/debian/changelog 2011-07-28 23:02:36 UTC (rev 3643)
+++ trunk/kfreebsd-9/debian/changelog 2011-07-28 23:36:50 UTC (rev 3644)
@@ -2,8 +2,9 @@
* Make regex kludge even more strict. This should finally fix FTBFS
on any-i386.
+ * 006_proc_swaps.diff: Implement /proc/swaps.
- -- Robert Millan <rmh at debian.org> Wed, 27 Jul 2011 17:10:44 +0200
+ -- Robert Millan <rmh at debian.org> Fri, 29 Jul 2011 01:36:18 +0200
kfreebsd-9 (9.0~svn224413-1) experimental; urgency=low
Added: trunk/kfreebsd-9/debian/patches/006_proc_swaps.diff
===================================================================
--- trunk/kfreebsd-9/debian/patches/006_proc_swaps.diff (rev 0)
+++ trunk/kfreebsd-9/debian/patches/006_proc_swaps.diff 2011-07-28 23:36:50 UTC (rev 3644)
@@ -0,0 +1,90 @@
+
+Sent to freebsd-hackers (2011-07-29)
+
+--- a/sys/compat/linprocfs/linprocfs.c
++++ b/sys/compat/linprocfs/linprocfs.c
+@@ -533,6 +533,44 @@
+ return (0);
+ }
+
++static int
++linprocfs_doswaps(PFS_FILL_ARGS)
++{
++ struct xswdev xsw;
++ int mib[3], mibsize;
++ size_t size;
++ int n;
++ long long total, used;
++ char devname[SPECNAMELEN + 1];
++
++ sbuf_printf(sb, "Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n");
++
++ mibsize = sizeof mib / sizeof mib[0];
++
++ mib[0] = CTL_VM;
++ mib[1] = VM_SWAP_INFO;
++
++ for (n = 0; ; n++) {
++ mib[2] = n;
++ size = sizeof(xsw);
++ if (kernel_sysctl(td, mib, mibsize, &xsw, &size, NULL, 0,
++ NULL, 0) != 0)
++ break;
++
++ size = sizeof(devname);
++ if (kernel_sysctlbyname(td, "kern.devname", devname, &size,
++ &xsw.xsw_dev, sizeof (xsw.xsw_dev), NULL, 0) != 0)
++ break;
++
++ total = (long long)xsw.xsw_nblks * PAGE_SIZE / 1024;
++ used = (long long)xsw.xsw_used * PAGE_SIZE / 1024;
++
++ sbuf_printf(sb, "/dev/%-34s unknown\t\t%u\t%u\t-1\n", devname, total, used);
++ }
++
++ return (0);
++}
++
+ /*
+ * Filler function for proc/uptime
+ */
+@@ -1523,6 +1561,8 @@
+ NULL, NULL, NULL, PFS_RD);
+ pfs_create_file(root, "swaps", &linprocfs_doswaps,
+ NULL, NULL, NULL, PFS_RD);
++ pfs_create_file(root, "swaps", &linprocfs_doswaps,
++ NULL, NULL, NULL, PFS_RD);
+ pfs_create_file(root, "uptime", &linprocfs_douptime,
+ NULL, NULL, NULL, PFS_RD);
+ pfs_create_file(root, "version", &linprocfs_doversion,
+--- a/sys/vm/swap_pager.c
++++ b/sys/vm/swap_pager.c
+@@ -2398,7 +2398,7 @@
+
+ SYSCTL_INT(_vm, OID_AUTO, nswapdev, CTLFLAG_RD, &nswapdev, 0,
+ "Number of swap devices");
+-SYSCTL_NODE(_vm, OID_AUTO, swap_info, CTLFLAG_RD, sysctl_vm_swap_info,
++SYSCTL_NODE(_vm, VM_SWAP_INFO, swap_info, CTLFLAG_RD, sysctl_vm_swap_info,
+ "Swap statistics by device");
+
+ /*
+--- a/sys/vm/vm_param.h
++++ b/sys/vm/vm_param.h
+@@ -84,7 +84,8 @@
+ #define VM_V_PAGEOUT_FREE_MIN 9 /* cnt.v_pageout_free_min */
+ #define VM_PAGEOUT_ALGORITHM 10 /* pageout algorithm */
+ #define VM_SWAPPING_ENABLED 11 /* swapping enabled */
+-#define VM_MAXID 12 /* number of valid vm ids */
++#define VM_SWAP_INFO 12 /* swap_info */
++#define VM_MAXID 13 /* number of valid vm ids */
+
+ #define CTL_VM_NAMES { \
+ { 0, 0 }, \
+@@ -99,6 +100,7 @@
+ { "v_pageout_free_min", CTLTYPE_UINT}, \
+ { "pageout_algorithm", CTLTYPE_INT}, \
+ { "swap_enabled", CTLTYPE_INT},\
++ { "swap_info", CTLTYPE_STRUCT},\
+ }
+
+ /*
Modified: trunk/kfreebsd-9/debian/patches/series
===================================================================
--- trunk/kfreebsd-9/debian/patches/series 2011-07-28 23:02:36 UTC (rev 3643)
+++ trunk/kfreebsd-9/debian/patches/series 2011-07-28 23:36:50 UTC (rev 3644)
@@ -5,6 +5,7 @@
005_linux_cflags.diff
#007_clone_signals.diff
#009_disable_duped_modules.diff
+006_proc_swaps.diff
020_linker.diff
101_pfsync_ftbfs.diff
103_stat_pipe.diff
More information about the Glibc-bsd-commits
mailing list