[kernel] r8408 - in dists/etch/linux-2.6/debian: . patches/bugfix/all/vserver patches/series

Bastian Blank waldi at alioth.debian.org
Sat Mar 31 20:42:54 UTC 2007


Author: waldi
Date: Sat Mar 31 20:42:54 2007
New Revision: 8408

Added:
   dists/etch/linux-2.6/debian/patches/bugfix/all/vserver/cacct-overflow.patch
   dists/etch/linux-2.6/debian/patches/bugfix/all/vserver/locks.patch
   dists/etch/linux-2.6/debian/patches/series/13-extra
Modified:
   dists/etch/linux-2.6/debian/changelog
Log:
* debian/changelog: Update.
* debian/patches/bugfix/all/vserver/cacct-overflow.patch,
  debian/patches/bugfix/all/vserver/locks.patch: Add.
* debian/patches/series/13-extra: Add patches.


Modified: dists/etch/linux-2.6/debian/changelog
==============================================================================
--- dists/etch/linux-2.6/debian/changelog	(original)
+++ dists/etch/linux-2.6/debian/changelog	Sat Mar 31 20:42:54 2007
@@ -1,3 +1,10 @@
+linux-2.6 (2.6.18.dfsg.1-13) UNRELEASED; urgency=low
+
+  * [vserver] Fix overflow in network accounting. (closes: #412132)
+  * [vserver] Fix lock accouting.
+
+ -- Bastian Blank <waldi at debian.org>  Sat, 31 Mar 2007 21:04:16 +0200
+
 linux-2.6 (2.6.18.dfsg.1-12) unstable; urgency=low
 
   [ Steve Langasek ]

Added: dists/etch/linux-2.6/debian/patches/bugfix/all/vserver/cacct-overflow.patch
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/bugfix/all/vserver/cacct-overflow.patch	Sat Mar 31 20:42:54 2007
@@ -0,0 +1,57 @@
+--- linux-2.6.16.43-vs2.0.3-rc1/include/linux/vs_socket.h	2007-03-28 02:23:16 +0200
++++ linux-2.6.16.43-vs2.0.3-rc2/include/linux/vs_socket.h	2007-03-17 16:20:04 +0100
+@@ -36,8 +36,8 @@ static inline void __vx_acc_sock(struct 
+ 	if (vxi) {
+ 		int type = vx_sock_type(family);
+ 
+-		atomic_inc(&vxi->cacct.sock[type][pos].count);
+-		atomic_add(size, &vxi->cacct.sock[type][pos].total);
++		atomic_long_inc(&vxi->cacct.sock[type][pos].count);
++		atomic_long_add(size, &vxi->cacct.sock[type][pos].total);
+ 	}
+ }
+ 
+--- linux-2.6.16.43-vs2.0.3-rc1/include/linux/vserver/cvirt_def.h	2007-03-28 02:23:16 +0200
++++ linux-2.6.16.43-vs2.0.3-rc2/include/linux/vserver/cvirt_def.h	2007-03-17 16:20:04 +0100
+@@ -62,8 +62,8 @@ struct _vx_cvirt {
+ };
+ 
+ struct _vx_sock_acc {
+-	atomic_t count;
+-	atomic_t total;
++	atomic_long_t count;
++	atomic_long_t total;
+ };
+ 
+ /* context sub struct */
+--- linux-2.6.16.43-vs2.0.3-rc1/kernel/vserver/cvirt_init.h	2007-03-28 02:23:17 +0200
++++ linux-2.6.16.43-vs2.0.3-rc2/kernel/vserver/cvirt_init.h	2007-03-17 16:20:04 +0100
+@@ -68,8 +68,8 @@ static inline void vx_info_init_cacct(st
+ 
+ 	for (i=0; i<5; i++) {
+ 		for (j=0; j<3; j++) {
+-			atomic_set(&cacct->sock[i][j].count, 0);
+-			atomic_set(&cacct->sock[i][j].total, 0);
++			atomic_long_set(&cacct->sock[i][j].count, 0);
++			atomic_long_set(&cacct->sock[i][j].total, 0);
+ 		}
+ 	}
+ }
+--- linux-2.6.16.43-vs2.0.3-rc1/kernel/vserver/cvirt_proc.h	2007-03-28 02:23:17 +0200
++++ linux-2.6.16.43-vs2.0.3-rc2/kernel/vserver/cvirt_proc.h	2007-03-17 16:20:04 +0100
+@@ -58,13 +58,13 @@ static inline int vx_info_proc_cvirt(str
+ 
+ static inline long vx_sock_count(struct _vx_cacct *cacct, int type, int pos)
+ {
+-	return atomic_read(&cacct->sock[type][pos].count);
++	return atomic_long_read(&cacct->sock[type][pos].count);
+ }
+ 
+ 
+ static inline long vx_sock_total(struct _vx_cacct *cacct, int type, int pos)
+ {
+-	return atomic_read(&cacct->sock[type][pos].total);
++	return atomic_long_read(&cacct->sock[type][pos].total);
+ }
+ 
+ static inline int vx_info_proc_cacct(struct _vx_cacct *cacct, char *buffer)

Added: dists/etch/linux-2.6/debian/patches/bugfix/all/vserver/locks.patch
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/bugfix/all/vserver/locks.patch	Sat Mar 31 20:42:54 2007
@@ -0,0 +1,30 @@
+--- linux-2.6.16.43-vs2.0.3-rc1/fs/locks.c	2007-03-28 02:23:15 +0200
++++ linux-2.6.16.43-vs2.0.3-rc2/fs/locks.c	2007-03-17 16:20:04 +0100
+@@ -759,6 +759,7 @@ static int flock_lock_file(struct file *
+ 	new_fl = locks_alloc_lock();
+ 	if (new_fl == NULL)
+ 		goto out;
++	new_fl->fl_xid = -1;
+ 	/*
+ 	 * If a higher-priority process was blocked on the old file lock,
+ 	 * give it the opportunity to lock the file.
+@@ -780,8 +781,8 @@ static int flock_lock_file(struct file *
+	if (request->fl_flags & FL_ACCESS)
+ 		goto out;
+ 	locks_copy_lock(new_fl, request);
+-	vx_locks_inc(new_fl);
+ 	locks_insert_lock(&inode->i_flock, new_fl);
++	vx_locks_inc(new_fl);
+ 	new_fl = NULL;
+ 	error = 0;
+ 
+@@ -1383,8 +1384,8 @@ static int __setlease(struct file *filp,
+ 		goto out;
+ 
+ 	locks_copy_lock(fl, lease);
+-
+ 	locks_insert_lock(before, fl);
++	vx_locks_inc(fl);
+ 
+ 	*flp = fl;
+ 	error = 0;

Added: dists/etch/linux-2.6/debian/patches/series/13-extra
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/series/13-extra	Sat Mar 31 20:42:54 2007
@@ -0,0 +1,2 @@
++ bugfix/all/vserver/cacct-overflow.patch  *_vserver *_xen-vserver
++ bugfix/all/vserver/locks.patch  *_vserver *_xen-vserver



More information about the Kernel-svn-changes mailing list