[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