rpms/kernel/devel linux-2.6-ext4-prealloc-fixes.patch, NONE, 1.1.2.2 linux-2.6-iwl3945-remove-useless-exports.patch, NONE, 1.1.2.2 linux-2.6-missing-rfc2465-stats.patch, NONE, 1.1.2.2 patch-2.6.30-rc4.bz2.sign, NONE, 1.1.2.2 .cvsignore, 1.1014.2.10, 1.1014.2.11 config-generic, 1.238.6.17, 1.238.6.18 config-x86-generic, 1.68.6.7, 1.68.6.8 config-x86_64-generic, 1.68.2.7, 1.68.2.8 kernel.spec, 1.1294.2.21, 1.1294.2.22 sources, 1.976.2.11, 1.976.2.12 upstream, 1.888.2.10, 1.888.2.11 xen.pvops.patch, 1.1.2.17, 1.1.2.18 xen.pvops.post.patch, 1.1.2.11, 1.1.2.12 patch-2.6.30-rc3.bz2.sign, 1.1.2.2, NONE

Michael Young myoung at fedoraproject.org
Sat May 2 18:01:14 UTC 2009


Author: myoung

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10810

Modified Files:
      Tag: private-myoung-dom0-branch
	.cvsignore config-generic config-x86-generic 
	config-x86_64-generic kernel.spec sources upstream 
	xen.pvops.patch xen.pvops.post.patch 
Added Files:
      Tag: private-myoung-dom0-branch
	linux-2.6-ext4-prealloc-fixes.patch 
	linux-2.6-iwl3945-remove-useless-exports.patch 
	linux-2.6-missing-rfc2465-stats.patch 
	patch-2.6.30-rc4.bz2.sign 
Removed Files:
      Tag: private-myoung-dom0-branch
	patch-2.6.30-rc3.bz2.sign 
Log Message:
update pvops patch from xen-tip/master and try some configuration changes


linux-2.6-ext4-prealloc-fixes.patch:

--- NEW FILE linux-2.6-ext4-prealloc-fixes.patch ---
We need to mark the  buffer_head mapping prealloc space
as new during write_begin. Otherwise we don't zero out the
page cache content properly for a partial write. This will
cause file corruption with preallocation.

Also use block number -1 as the fake block number so that
unmap_underlying_metadata doesn't drop wrong buffer_head

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>

Block number '0' should not be used as the fake block number for
the delayed new buffer. This will result in vfs calling umap_underlying_metadata for
block number '0'. So  use -1 instead.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>

---
 fs/ext4/inode.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Index: linux-2.6.29.noarch/fs/ext4/inode.c
===================================================================
--- linux-2.6.29.noarch.orig/fs/ext4/inode.c
+++ linux-2.6.29.noarch/fs/ext4/inode.c
@@ -2318,11 +2318,21 @@ static int ext4_da_get_block_prep(struct
 			/* not enough space to reserve */
 			return ret;
 
-		map_bh(bh_result, inode->i_sb, 0);
+		map_bh(bh_result, inode->i_sb, -1);
 		set_buffer_new(bh_result);
 		set_buffer_delay(bh_result);
 	} else if (ret > 0) {
 		bh_result->b_size = (ret << inode->i_blkbits);
+		/*
+		 * With sub-block writes into unwritten extents
+		 * we also need to mark the buffer as new so that
+		 * the unwritten parts of the buffer gets correctly zeroed.
+		 */
+		if (buffer_unwritten(bh_result)) {
+			bh_result->b_bdev = inode->i_sb->s_bdev;
+			set_buffer_new(bh_result);
+			bh_result->b_blocknr = -1;
+		}
 		ret = 0;
 	}
 

linux-2.6-iwl3945-remove-useless-exports.patch:

--- NEW FILE linux-2.6-iwl3945-remove-useless-exports.patch ---
These exports are unnecessary because this object file is linked together
with all the files that use the functions.

Signed-off-by: Chuck Ebbert <cebbert at redhat.com>

Index: linux-2.6.29.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c
===================================================================
--- linux-2.6.29.noarch.orig/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ linux-2.6.29.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -1694,7 +1694,6 @@ void iwl3945_rx_queue_reset(struct iwl_p
 	rxq->free_count = 0;
 	spin_unlock_irqrestore(&rxq->lock, flags);
 }
-EXPORT_SYMBOL(iwl3945_rx_queue_reset);
 
 /*
  * this should be called while priv->lock is locked
@@ -1745,7 +1744,6 @@ static void iwl3945_rx_queue_free(struct
 	rxq->bd = NULL;
 	rxq->rb_stts  = NULL;
 }
-EXPORT_SYMBOL(iwl3945_rx_queue_free);
 
 
 /* Convert linear signal-to-noise ratio into dB */

linux-2.6-missing-rfc2465-stats.patch:

--- NEW FILE linux-2.6-missing-rfc2465-stats.patch ---
diff -up linux-2.6.29.noarch/include/linux/snmp.h.orig linux-2.6.29.noarch/include/linux/snmp.h
--- linux-2.6.29.noarch/include/linux/snmp.h.orig	2009-03-23 19:12:14.000000000 -0400
+++ linux-2.6.29.noarch/include/linux/snmp.h	2009-04-27 10:15:53.000000000 -0400
@@ -18,7 +18,7 @@
 enum
 {
 	IPSTATS_MIB_NUM = 0,
-	IPSTATS_MIB_INRECEIVES,			/* InReceives */
+	IPSTATS_MIB_INPKTS,			/* InReceives */
 	IPSTATS_MIB_INHDRERRORS,		/* InHdrErrors */
 	IPSTATS_MIB_INTOOBIGERRORS,		/* InTooBigErrors */
 	IPSTATS_MIB_INNOROUTES,			/* InNoRoutes */
@@ -28,7 +28,7 @@ enum
 	IPSTATS_MIB_INDISCARDS,			/* InDiscards */
 	IPSTATS_MIB_INDELIVERS,			/* InDelivers */
 	IPSTATS_MIB_OUTFORWDATAGRAMS,		/* OutForwDatagrams */
-	IPSTATS_MIB_OUTREQUESTS,		/* OutRequests */
+	IPSTATS_MIB_OUTPKTS,			/* OutRequests */
 	IPSTATS_MIB_OUTDISCARDS,		/* OutDiscards */
 	IPSTATS_MIB_OUTNOROUTES,		/* OutNoRoutes */
 	IPSTATS_MIB_REASMTIMEOUT,		/* ReasmTimeout */
@@ -42,6 +42,12 @@ enum
 	IPSTATS_MIB_OUTMCASTPKTS,		/* OutMcastPkts */
 	IPSTATS_MIB_INBCASTPKTS,		/* InBcastPkts */
 	IPSTATS_MIB_OUTBCASTPKTS,		/* OutBcastPkts */
+	IPSTATS_MIB_INOCTETS,			/* InOctets */
+	IPSTATS_MIB_OUTOCTETS,			/* OutOctets */
+	IPSTATS_MIB_INMCASTOCTETS,		/* InMcastOctets */
+	IPSTATS_MIB_OUTMCASTOCTETS,		/* OutMcastOctets */
+	IPSTATS_MIB_INBCASTOCTETS,		/* InBcastOctets */
+	IPSTATS_MIB_OUTBCASTOCTETS,		/* OutBcastOctets */
 	__IPSTATS_MIB_MAX
 };
 
diff -up linux-2.6.29.noarch/include/net/ip.h.orig linux-2.6.29.noarch/include/net/ip.h
--- linux-2.6.29.noarch/include/net/ip.h.orig	2009-04-27 09:33:56.000000000 -0400
+++ linux-2.6.29.noarch/include/net/ip.h	2009-04-27 10:15:53.000000000 -0400
@@ -168,7 +168,10 @@ struct ipv4_config
 extern struct ipv4_config ipv4_config;
 #define IP_INC_STATS(net, field)	SNMP_INC_STATS((net)->mib.ip_statistics, field)
 #define IP_INC_STATS_BH(net, field)	SNMP_INC_STATS_BH((net)->mib.ip_statistics, field)
+#define IP_ADD_STATS(net, field, val)	SNMP_ADD_STATS((net)->mib.ip_statistics, field, val)
 #define IP_ADD_STATS_BH(net, field, val) SNMP_ADD_STATS_BH((net)->mib.ip_statistics, field, val)
+#define IP_UPD_PO_STATS(net, field, val) SNMP_UPD_PO_STATS((net)->mib.ip_statistics, field, val)
+#define IP_UPD_PO_STATS_BH(net, field, val) SNMP_UPD_PO_STATS_BH((net)->mib.ip_statistics, field, val)
 #define NET_INC_STATS(net, field)	SNMP_INC_STATS((net)->mib.net_statistics, field)
 #define NET_INC_STATS_BH(net, field)	SNMP_INC_STATS_BH((net)->mib.net_statistics, field)
 #define NET_INC_STATS_USER(net, field) 	SNMP_INC_STATS_USER((net)->mib.net_statistics, field)
diff -up linux-2.6.29.noarch/include/net/ipv6.h.orig linux-2.6.29.noarch/include/net/ipv6.h
--- linux-2.6.29.noarch/include/net/ipv6.h.orig	2009-04-27 09:33:56.000000000 -0400
+++ linux-2.6.29.noarch/include/net/ipv6.h	2009-04-27 10:15:53.000000000 -0400
@@ -126,15 +126,28 @@ extern struct ctl_path net_ipv6_ctl_path
 	SNMP_ADD_STATS##modifier((net)->mib.statname##_statistics, (field), (val));\
 })
 
+#define _DEVUPD(net, statname, modifier, idev, field, val)		\
+({									\
+	struct inet6_dev *_idev = (idev);				\
+	if (likely(_idev != NULL))					\
+		SNMP_UPD_PO_STATS##modifier((_idev)->stats.statname, field, (val)); \
+	SNMP_UPD_PO_STATS##modifier((net)->mib.statname##_statistics, field, (val));\
+})
+
 /* MIBs */
 
 #define IP6_INC_STATS(net, idev,field)		\
 		_DEVINC(net, ipv6, , idev, field)
 #define IP6_INC_STATS_BH(net, idev,field)	\
 		_DEVINC(net, ipv6, _BH, idev, field)
+#define IP6_ADD_STATS(net, idev,field,val)	\
+		_DEVADD(net, ipv6, , idev, field, val)
 #define IP6_ADD_STATS_BH(net, idev,field,val)	\
 		_DEVADD(net, ipv6, _BH, idev, field, val)
-
+#define IP6_UPD_PO_STATS(net, idev,field,val)   \
+		_DEVUPD(net, ipv6, , idev, field, val)
+#define IP6_UPD_PO_STATS_BH(net, idev,field,val)   \
+		_DEVUPD(net, ipv6, _BH, idev, field, val)
 #define ICMP6_INC_STATS(net, idev, field)	\
 		_DEVINC(net, icmpv6, , idev, field)
 #define ICMP6_INC_STATS_BH(net, idev, field)	\
diff -up linux-2.6.29.noarch/include/net/snmp.h.orig linux-2.6.29.noarch/include/net/snmp.h
--- linux-2.6.29.noarch/include/net/snmp.h.orig	2009-03-23 19:12:14.000000000 -0400
+++ linux-2.6.29.noarch/include/net/snmp.h	2009-04-27 10:15:53.000000000 -0400
@@ -153,6 +153,11 @@ struct linux_xfrm_mib {
 		per_cpu_ptr(mib[!in_softirq()], get_cpu())->mibs[field]--; \
 		put_cpu(); \
 	} while (0)
+#define SNMP_ADD_STATS(mib, field, addend) 	\
+	do { \
+		per_cpu_ptr(mib[!in_softirq()], get_cpu())->mibs[field] += addend; \
+		put_cpu(); \
+	} while (0)
 #define SNMP_ADD_STATS_BH(mib, field, addend) 	\
 	(per_cpu_ptr(mib[0], raw_smp_processor_id())->mibs[field] += addend)
 #define SNMP_ADD_STATS_USER(mib, field, addend) 	\
@@ -160,5 +165,17 @@ struct linux_xfrm_mib {
 		per_cpu_ptr(mib[1], get_cpu())->mibs[field] += addend; \
 		put_cpu(); \
 	} while (0)
-
+#define SNMP_UPD_PO_STATS(mib, basefield, addend)	\
+	do { \
+		__typeof__(mib[0]) ptr = per_cpu_ptr(mib[!in_softirq()], get_cpu());\
+		ptr->mibs[basefield##PKTS]++; \
+		ptr->mibs[basefield##OCTETS] += addend;\
+		put_cpu(); \
+	} while (0)
+#define SNMP_UPD_PO_STATS_BH(mib, basefield, addend)	\
+	do { \
+		__typeof__(mib[0]) ptr = per_cpu_ptr(mib[!in_softirq()], raw_smp_processor_id());\
+		ptr->mibs[basefield##PKTS]++; \
+		ptr->mibs[basefield##OCTETS] += addend;\
+	} while (0)
 #endif
diff -up linux-2.6.29.noarch/net/ipv4/ip_input.c.orig linux-2.6.29.noarch/net/ipv4/ip_input.c
--- linux-2.6.29.noarch/net/ipv4/ip_input.c.orig	2009-03-23 19:12:14.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv4/ip_input.c	2009-04-27 10:15:53.000000000 -0400
@@ -358,10 +358,12 @@ static int ip_rcv_finish(struct sk_buff 
 		goto drop;
 
 	rt = skb->rtable;
-	if (rt->rt_type == RTN_MULTICAST)
-		IP_INC_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INMCASTPKTS);
-	else if (rt->rt_type == RTN_BROADCAST)
-		IP_INC_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INBCASTPKTS);
+	if (rt->rt_type == RTN_MULTICAST) {
+		IP_UPD_PO_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INMCAST,
+				skb->len);
+	} else if (rt->rt_type == RTN_BROADCAST)
+		IP_UPD_PO_STATS_BH(dev_net(rt->u.dst.dev), IPSTATS_MIB_INBCAST,
+				skb->len);
 
 	return dst_input(skb);
 
@@ -384,7 +386,8 @@ int ip_rcv(struct sk_buff *skb, struct n
 	if (skb->pkt_type == PACKET_OTHERHOST)
 		goto drop;
 
-	IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_INRECEIVES);
+
+	IP_UPD_PO_STATS_BH(dev_net(dev), IPSTATS_MIB_IN, skb->len);
 
 	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) {
 		IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_INDISCARDS);
diff -up linux-2.6.29.noarch/net/ipv4/ip_output.c.orig linux-2.6.29.noarch/net/ipv4/ip_output.c
--- linux-2.6.29.noarch/net/ipv4/ip_output.c.orig	2009-04-27 09:33:59.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv4/ip_output.c	2009-04-27 10:15:53.000000000 -0400
@@ -181,10 +181,10 @@ static inline int ip_finish_output2(stru
 	struct net_device *dev = dst->dev;
 	unsigned int hh_len = LL_RESERVED_SPACE(dev);
 
-	if (rt->rt_type == RTN_MULTICAST)
-		IP_INC_STATS(dev_net(dev), IPSTATS_MIB_OUTMCASTPKTS);
-	else if (rt->rt_type == RTN_BROADCAST)
-		IP_INC_STATS(dev_net(dev), IPSTATS_MIB_OUTBCASTPKTS);
+	if (rt->rt_type == RTN_MULTICAST) {
+		IP_UPD_PO_STATS(dev_net(dev), IPSTATS_MIB_OUTMCAST, skb->len);
+	} else if (rt->rt_type == RTN_BROADCAST)
+		IP_UPD_PO_STATS(dev_net(dev), IPSTATS_MIB_OUTBCAST, skb->len);
 
 	/* Be paranoid, rather than too clever. */
 	if (unlikely(skb_headroom(skb) < hh_len && dev->header_ops)) {
@@ -244,8 +244,8 @@ int ip_mc_output(struct sk_buff *skb)
 	/*
 	 *	If the indicated interface is up and running, send the packet.
 	 */
-	IP_INC_STATS(dev_net(dev), IPSTATS_MIB_OUTREQUESTS);
-
+	IP_UPD_PO_STATS(dev_net(dev), IPSTATS_MIB_OUT, skb->len);
+	
 	skb->dev = dev;
 	skb->protocol = htons(ETH_P_IP);
 
@@ -298,7 +298,7 @@ int ip_output(struct sk_buff *skb)
 {
 	struct net_device *dev = skb->dst->dev;
 
-	IP_INC_STATS(dev_net(dev), IPSTATS_MIB_OUTREQUESTS);
+	IP_UPD_PO_STATS(dev_net(dev), IPSTATS_MIB_OUT, skb->len);
 
 	skb->dev = dev;
 	skb->protocol = htons(ETH_P_IP);
diff -up linux-2.6.29.noarch/net/ipv4/proc.c.orig linux-2.6.29.noarch/net/ipv4/proc.c
--- linux-2.6.29.noarch/net/ipv4/proc.c.orig	2009-04-27 09:34:00.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv4/proc.c	2009-04-27 10:15:53.000000000 -0400
@@ -90,14 +90,14 @@ static const struct file_operations sock
 
 /* snmp items */
 static const struct snmp_mib snmp4_ipstats_list[] = {
-	SNMP_MIB_ITEM("InReceives", IPSTATS_MIB_INRECEIVES),
+	SNMP_MIB_ITEM("InReceives", IPSTATS_MIB_INPKTS),
 	SNMP_MIB_ITEM("InHdrErrors", IPSTATS_MIB_INHDRERRORS),
 	SNMP_MIB_ITEM("InAddrErrors", IPSTATS_MIB_INADDRERRORS),
 	SNMP_MIB_ITEM("ForwDatagrams", IPSTATS_MIB_OUTFORWDATAGRAMS),
 	SNMP_MIB_ITEM("InUnknownProtos", IPSTATS_MIB_INUNKNOWNPROTOS),
 	SNMP_MIB_ITEM("InDiscards", IPSTATS_MIB_INDISCARDS),
 	SNMP_MIB_ITEM("InDelivers", IPSTATS_MIB_INDELIVERS),
-	SNMP_MIB_ITEM("OutRequests", IPSTATS_MIB_OUTREQUESTS),
+	SNMP_MIB_ITEM("OutRequests", IPSTATS_MIB_OUTPKTS),
 	SNMP_MIB_ITEM("OutDiscards", IPSTATS_MIB_OUTDISCARDS),
 	SNMP_MIB_ITEM("OutNoRoutes", IPSTATS_MIB_OUTNOROUTES),
 	SNMP_MIB_ITEM("ReasmTimeout", IPSTATS_MIB_REASMTIMEOUT),
@@ -118,6 +118,12 @@ static const struct snmp_mib snmp4_ipext
 	SNMP_MIB_ITEM("OutMcastPkts", IPSTATS_MIB_OUTMCASTPKTS),
 	SNMP_MIB_ITEM("InBcastPkts", IPSTATS_MIB_INBCASTPKTS),
 	SNMP_MIB_ITEM("OutBcastPkts", IPSTATS_MIB_OUTBCASTPKTS),
+	SNMP_MIB_ITEM("InOctets", IPSTATS_MIB_INOCTETS),
+	SNMP_MIB_ITEM("OutOctets", IPSTATS_MIB_OUTOCTETS),
+	SNMP_MIB_ITEM("InMcastOctets", IPSTATS_MIB_INMCASTOCTETS),
+	SNMP_MIB_ITEM("OutMcastOctets", IPSTATS_MIB_OUTMCASTOCTETS),
+	SNMP_MIB_ITEM("InBcastOctets", IPSTATS_MIB_INBCASTOCTETS),
+	SNMP_MIB_ITEM("OutBcastOctets", IPSTATS_MIB_OUTBCASTOCTETS),
 	SNMP_MIB_SENTINEL
 };
 
diff -up linux-2.6.29.noarch/net/ipv6/ip6_input.c.orig linux-2.6.29.noarch/net/ipv6/ip6_input.c
--- linux-2.6.29.noarch/net/ipv6/ip6_input.c.orig	2009-04-27 09:34:00.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv6/ip6_input.c	2009-04-27 10:15:53.000000000 -0400
@@ -70,7 +70,7 @@ int ipv6_rcv(struct sk_buff *skb, struct
 
 	idev = __in6_dev_get(skb->dev);
 
-	IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INRECEIVES);
+	IP6_UPD_PO_STATS_BH(net, idev, IPSTATS_MIB_IN, skb->len);
 
 	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL ||
 	    !idev || unlikely(idev->cnf.disable_ipv6)) {
@@ -242,8 +242,9 @@ int ip6_mc_input(struct sk_buff *skb)
 	struct ipv6hdr *hdr;
 	int deliver;
 
-	IP6_INC_STATS_BH(dev_net(skb->dst->dev),
-			 ip6_dst_idev(skb->dst), IPSTATS_MIB_INMCASTPKTS);
+	IP6_UPD_PO_STATS_BH(dev_net(skb->dst->dev),
+			 ip6_dst_idev(skb->dst), IPSTATS_MIB_INMCAST,
+			 skb->len);
 
 	hdr = ipv6_hdr(skb);
 	deliver = ipv6_chk_mcast_addr(skb->dev, &hdr->daddr, NULL);
diff -up linux-2.6.29.noarch/net/ipv6/ip6_output.c.orig linux-2.6.29.noarch/net/ipv6/ip6_output.c
--- linux-2.6.29.noarch/net/ipv6/ip6_output.c.orig	2009-03-23 19:12:14.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv6/ip6_output.c	2009-04-27 10:15:53.000000000 -0400
@@ -159,7 +159,8 @@ static int ip6_output2(struct sk_buff *s
 			}
 		}
 
-		IP6_INC_STATS(dev_net(dev), idev, IPSTATS_MIB_OUTMCASTPKTS);
+		IP6_UPD_PO_STATS(dev_net(dev), idev, IPSTATS_MIB_OUTMCAST,
+				skb->len);
 	}
 
 	return NF_HOOK(PF_INET6, NF_INET_POST_ROUTING, skb, NULL, skb->dev,
@@ -275,8 +276,8 @@ int ip6_xmit(struct sock *sk, struct sk_
 
 	mtu = dst_mtu(dst);
 	if ((skb->len <= mtu) || skb->local_df || skb_is_gso(skb)) {
-		IP6_INC_STATS(net, ip6_dst_idev(skb->dst),
-			      IPSTATS_MIB_OUTREQUESTS);
+		IP6_UPD_PO_STATS(net, ip6_dst_idev(skb->dst),
+			      IPSTATS_MIB_OUT, skb->len);
 		return NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, dst->dev,
 				dst_output);
 	}
@@ -1516,7 +1517,7 @@ int ip6_push_pending_frames(struct sock 
 	skb->mark = sk->sk_mark;
 
 	skb->dst = dst_clone(&rt->u.dst);
-	IP6_INC_STATS(net, rt->rt6i_idev, IPSTATS_MIB_OUTREQUESTS);
+	IP6_UPD_PO_STATS(net, rt->rt6i_idev, IPSTATS_MIB_OUT, skb->len);
 	if (proto == IPPROTO_ICMPV6) {
 		struct inet6_dev *idev = ip6_dst_idev(skb->dst);
 
diff -up linux-2.6.29.noarch/net/ipv6/mcast.c.orig linux-2.6.29.noarch/net/ipv6/mcast.c
--- linux-2.6.29.noarch/net/ipv6/mcast.c.orig	2009-03-23 19:12:14.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv6/mcast.c	2009-04-27 10:15:53.000000000 -0400
@@ -1449,7 +1449,8 @@ static void mld_sendpack(struct sk_buff 
 	int err;
 	struct flowi fl;
 
-	IP6_INC_STATS(net, idev, IPSTATS_MIB_OUTREQUESTS);
+	IP6_UPD_PO_STATS(net, idev, IPSTATS_MIB_OUT, skb->len);
+
 	payload_len = (skb->tail - skb->network_header) - sizeof(*pip6);
 	mldlen = skb->tail - skb->transport_header;
 	pip6->payload_len = htons(payload_len);
@@ -1473,13 +1474,15 @@ static void mld_sendpack(struct sk_buff 
 	if (err)
 		goto err_out;
 
+	payload_len = skb->len;
+
 	err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, skb->dev,
 		      dst_output);
 out:
 	if (!err) {
 		ICMP6MSGOUT_INC_STATS_BH(net, idev, ICMPV6_MLD2_REPORT);
 		ICMP6_INC_STATS_BH(net, idev, ICMP6_MIB_OUTMSGS);
-		IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_OUTMCASTPKTS);
+		IP6_UPD_PO_STATS_BH(net, idev, IPSTATS_MIB_OUTMCAST, payload_len);
 	} else
 		IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_OUTDISCARDS);
 
@@ -1773,10 +1776,6 @@ static void igmp6_send(struct in6_addr *
 		     IPV6_TLV_PADN, 0 };
 	struct flowi fl;
 
-	rcu_read_lock();
-	IP6_INC_STATS(net, __in6_dev_get(dev),
-		      IPSTATS_MIB_OUTREQUESTS);
-	rcu_read_unlock();
 	if (type == ICMPV6_MGM_REDUCTION)
 		snd_addr = &in6addr_linklocal_allrouters;
 	else
@@ -1786,6 +1785,11 @@ static void igmp6_send(struct in6_addr *
 	payload_len = len + sizeof(ra);
 	full_len = sizeof(struct ipv6hdr) + payload_len;
 
+	rcu_read_lock();
+	IP6_UPD_PO_STATS(net, __in6_dev_get(dev),
+		      IPSTATS_MIB_OUT, full_len);
+	rcu_read_unlock();
+
 	skb = sock_alloc_send_skb(sk, LL_ALLOCATED_SPACE(dev) + full_len, 1, &err);
 
 	if (skb == NULL) {
@@ -1838,13 +1842,14 @@ static void igmp6_send(struct in6_addr *
 	if (err)
 		goto err_out;
 
+
 	err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, skb->dev,
 		      dst_output);
 out:
 	if (!err) {
 		ICMP6MSGOUT_INC_STATS(net, idev, type);
 		ICMP6_INC_STATS(net, idev, ICMP6_MIB_OUTMSGS);
-		IP6_INC_STATS(net, idev, IPSTATS_MIB_OUTMCASTPKTS);
+		IP6_UPD_PO_STATS(net, idev, IPSTATS_MIB_OUTMCAST, full_len);
 	} else
 		IP6_INC_STATS(net, idev, IPSTATS_MIB_OUTDISCARDS);
 
diff -up linux-2.6.29.noarch/net/ipv6/ndisc.c.orig linux-2.6.29.noarch/net/ipv6/ndisc.c
--- linux-2.6.29.noarch/net/ipv6/ndisc.c.orig	2009-04-27 09:34:00.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv6/ndisc.c	2009-04-27 10:15:53.000000000 -0400
@@ -533,7 +533,7 @@ void ndisc_send_skb(struct sk_buff *skb,
 	skb->dst = dst;
 
 	idev = in6_dev_get(dst->dev);
-	IP6_INC_STATS(net, idev, IPSTATS_MIB_OUTREQUESTS);
+	IP6_UPD_PO_STATS(net, idev, IPSTATS_MIB_OUT, skb->len);
 
 	err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, dst->dev,
 		      dst_output);
@@ -1613,7 +1613,7 @@ void ndisc_send_redirect(struct sk_buff 
 
 	buff->dst = dst;
 	idev = in6_dev_get(dst->dev);
-	IP6_INC_STATS(net, idev, IPSTATS_MIB_OUTREQUESTS);
+	IP6_UPD_PO_STATS(net, idev, IPSTATS_MIB_OUT, skb->len);
 	err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, buff, NULL, dst->dev,
 		      dst_output);
 	if (!err) {
diff -up linux-2.6.29.noarch/net/ipv6/proc.c.orig linux-2.6.29.noarch/net/ipv6/proc.c
--- linux-2.6.29.noarch/net/ipv6/proc.c.orig	2009-03-23 19:12:14.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv6/proc.c	2009-04-27 10:15:53.000000000 -0400
@@ -61,7 +61,7 @@ static const struct file_operations sock
 
 static struct snmp_mib snmp6_ipstats_list[] = {
 /* ipv6 mib according to RFC 2465 */
-	SNMP_MIB_ITEM("Ip6InReceives", IPSTATS_MIB_INRECEIVES),
+	SNMP_MIB_ITEM("Ip6InReceives", IPSTATS_MIB_INPKTS),
 	SNMP_MIB_ITEM("Ip6InHdrErrors", IPSTATS_MIB_INHDRERRORS),
 	SNMP_MIB_ITEM("Ip6InTooBigErrors", IPSTATS_MIB_INTOOBIGERRORS),
 	SNMP_MIB_ITEM("Ip6InNoRoutes", IPSTATS_MIB_INNOROUTES),
@@ -71,7 +71,7 @@ static struct snmp_mib snmp6_ipstats_lis
 	SNMP_MIB_ITEM("Ip6InDiscards", IPSTATS_MIB_INDISCARDS),
 	SNMP_MIB_ITEM("Ip6InDelivers", IPSTATS_MIB_INDELIVERS),
 	SNMP_MIB_ITEM("Ip6OutForwDatagrams", IPSTATS_MIB_OUTFORWDATAGRAMS),
-	SNMP_MIB_ITEM("Ip6OutRequests", IPSTATS_MIB_OUTREQUESTS),
+	SNMP_MIB_ITEM("Ip6OutRequests", IPSTATS_MIB_OUTPKTS),
 	SNMP_MIB_ITEM("Ip6OutDiscards", IPSTATS_MIB_OUTDISCARDS),
 	SNMP_MIB_ITEM("Ip6OutNoRoutes", IPSTATS_MIB_OUTNOROUTES),
 	SNMP_MIB_ITEM("Ip6ReasmTimeout", IPSTATS_MIB_REASMTIMEOUT),
@@ -83,6 +83,12 @@ static struct snmp_mib snmp6_ipstats_lis
 	SNMP_MIB_ITEM("Ip6FragCreates", IPSTATS_MIB_FRAGCREATES),
 	SNMP_MIB_ITEM("Ip6InMcastPkts", IPSTATS_MIB_INMCASTPKTS),
 	SNMP_MIB_ITEM("Ip6OutMcastPkts", IPSTATS_MIB_OUTMCASTPKTS),
+	SNMP_MIB_ITEM("Ip6InOctets", IPSTATS_MIB_INOCTETS),
+	SNMP_MIB_ITEM("Ip6OutOctets", IPSTATS_MIB_OUTOCTETS),
+	SNMP_MIB_ITEM("Ip6InMcastOctets", IPSTATS_MIB_INMCASTOCTETS),
+	SNMP_MIB_ITEM("Ip6OutMcastOctets", IPSTATS_MIB_OUTMCASTOCTETS),
+	SNMP_MIB_ITEM("Ip6InBcastOctets", IPSTATS_MIB_INBCASTOCTETS),
+	SNMP_MIB_ITEM("Ip6OutBcastOctets", IPSTATS_MIB_OUTBCASTOCTETS),
 	SNMP_MIB_SENTINEL
 };
 
diff -up linux-2.6.29.noarch/net/ipv6/raw.c.orig linux-2.6.29.noarch/net/ipv6/raw.c
--- linux-2.6.29.noarch/net/ipv6/raw.c.orig	2009-03-23 19:12:14.000000000 -0400
+++ linux-2.6.29.noarch/net/ipv6/raw.c	2009-04-27 10:15:53.000000000 -0400
@@ -638,7 +638,7 @@ static int rawv6_send_hdrinc(struct sock
 	if (err)
 		goto error_fault;
 
-	IP6_INC_STATS(sock_net(sk), rt->rt6i_idev, IPSTATS_MIB_OUTREQUESTS);
+	IP6_UPD_PO_STATS(sock_net(sk), rt->rt6i_idev, IPSTATS_MIB_OUT, skb->len);
 	err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, rt->u.dst.dev,
 		      dst_output);
 	if (err > 0)


--- NEW FILE patch-2.6.30-rc4.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBJ+TT7yGugalF9Dw4RApuTAJ4kiOWQGtfnlmqTUeCFLZjcl1U8ugCfSQA8
nrj0GH59l7TgIN/zQ5NhzKc=
=wgXk
-----END PGP SIGNATURE-----


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/.cvsignore,v
retrieving revision 1.1014.2.10
retrieving revision 1.1014.2.11
diff -u -p -r1.1014.2.10 -r1.1014.2.11
--- .cvsignore	24 Apr 2009 22:27:02 -0000	1.1014.2.10
+++ .cvsignore	2 May 2009 18:00:24 -0000	1.1014.2.11
@@ -6,4 +6,4 @@ temp-*
 kernel-2.6.29
 linux-2.6.29.tar.bz2
 patch-2.6.29-git15.bz2
-patch-2.6.30-rc3.bz2
+patch-2.6.30-rc4.bz2


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.238.6.17
retrieving revision 1.238.6.18
diff -u -p -r1.238.6.17 -r1.238.6.18
--- config-generic	24 Apr 2009 22:27:04 -0000	1.238.6.17
+++ config-generic	2 May 2009 18:00:24 -0000	1.238.6.18
@@ -3967,8 +3967,10 @@ CONFIG_XEN_NETDEV_BACKEND=y
 CONFIG_RD_GZIP=y
 # CONFIG_RD_BZIP2 is not set
 # CONFIG_RD_LZMA is not set
-# CONFIG_XEN_GNTDEV is not set
+CONFIG_XEN_GNTDEV=y
 CONFIG_XEN_SYS_HYPERVISOR=y
 # CONFIG_ENABLE_EVENT_TRACING is not set
 # CONFIG_FUNCTION_PROFILER is not set
 CONFIG_CLASSIC_RCU=y
+CONFIG_XEN_PCI_PASSTHROUGH=y
+# CONFIG_XEN_PCI_PASSTHROUGH_DEBUG is not set


Index: config-x86-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-x86-generic,v
retrieving revision 1.68.6.7
retrieving revision 1.68.6.8
diff -u -p -r1.68.6.7 -r1.68.6.8
--- config-x86-generic	24 Apr 2009 22:27:04 -0000	1.68.6.7
+++ config-x86-generic	2 May 2009 18:00:24 -0000	1.68.6.8
@@ -109,7 +109,7 @@ CONFIG_PCMCIA_FDOMAIN=m
 CONFIG_SCSI_FUTURE_DOMAIN=m
 CONFIG_SCSI_ADVANSYS=m
 
-# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_CC_STACKPROTECTOR=y
 
 CONFIG_SECCOMP=y
 


Index: config-x86_64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-x86_64-generic,v
retrieving revision 1.68.2.7
retrieving revision 1.68.2.8
diff -u -p -r1.68.2.7 -r1.68.2.8
--- config-x86_64-generic	24 Apr 2009 22:27:05 -0000	1.68.2.7
+++ config-x86_64-generic	2 May 2009 18:00:24 -0000	1.68.2.8
@@ -236,7 +236,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y
 # CONFIG_BLK_DEV_CS5530 is not set
 # CONFIG_BLK_DEV_CS5535 is not set
 
-# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_CC_STACKPROTECTOR=y
 # CONFIG_CC_STACKPROTECTOR_ALL is not set
 
 CONFIG_SGI_IOC4=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1294.2.21
retrieving revision 1.1294.2.22
diff -u -p -r1.1294.2.21 -r1.1294.2.22
--- kernel.spec	24 Apr 2009 22:27:09 -0000	1.1294.2.21
+++ kernel.spec	2 May 2009 18:00:24 -0000	1.1294.2.22
@@ -57,7 +57,7 @@ Summary: The Linux kernel
 # The next upstream release sublevel (base_sublevel+1)
 %define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
 # The rc snapshot level
-%define rcrev 3
+%define rcrev 4
 # The git snapshot level
 %define gitrev 0
 # Set rpm version accordingly
@@ -603,6 +603,9 @@ Patch147: linux-2.6-imac-transparent-bri
 Patch150: linux-2.6.29-sparc-IOC_TYPECHECK.patch
 
 Patch160: linux-2.6-execshield.patch
+
+Patch200: linux-2.6-ext4-prealloc-fixes.patch
+
 Patch250: linux-2.6-debug-sizeof-structs.patch
 Patch260: linux-2.6-debug-nmi-timeout.patch
 Patch270: linux-2.6-debug-taint-vm.patch
@@ -674,6 +677,11 @@ Patch3000: linux-2.6-btrfs-experimental-
 
 Patch9002: cpufreq-add-atom-to-p4-clockmod.patch
 
+Patch9100: linux-2.6-iwl3945-remove-useless-exports.patch
+
+#snmp fixes
+Patch10000: linux-2.6-missing-rfc2465-stats.patch
+
 Patch9997: xen.pvops.pre.patch
 Patch9998: xen.pvops.patch
 Patch9999: xen.pvops.post.patch
@@ -871,12 +879,14 @@ exit 1
 %endif
 
 # more sanity checking; do it quietly
-for patch in %{patches} ; do
-  if [ ! -f $patch ] ; then
-    echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
-    exit 1
-  fi
-done 2>/dev/null
+if [ "%{patches}" != "%%{patches}" ] ; then
+  for patch in %{patches} ; do
+    if [ ! -f $patch ] ; then
+      echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
+      exit 1
+    fi
+  done
+fi 2>/dev/null
 
 patch_command='patch -p1 -F1 -s'
 ApplyPatch()
@@ -886,7 +896,7 @@ ApplyPatch()
   if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
     exit 1
   fi
-  if ! egrep "^Patch[0-9]+: $patch\$" %{_specdir}/%{name}.spec ; then
+  if ! egrep "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME%%%%%{?variant}}.spec ; then
     if [ "${patch:0:10}" != "patch-2.6." ] ; then
       echo "ERROR: Patch  $patch  not listed as a source patch in specfile"
       exit 1
@@ -1085,6 +1095,8 @@ ApplyPatch linux-2.6-sysrq-c.patch
 
 ApplyPatch rds-only-on-64-bit-or-x86.patch
 
+ApplyPatch linux-2.6-missing-rfc2465-stats.patch
+
 # Architecture patches
 # x86(-64)
 
@@ -1118,6 +1130,7 @@ ApplyPatch linux-2.6-execshield.patch
 #
 
 # ext4
+ApplyPatch linux-2.6-ext4-prealloc-fixes.patch
 
 # xfs
 
@@ -1232,6 +1245,8 @@ ApplyPatch linux-2.6-silence-acpi-blackl
 
 #ApplyPatch cpufreq-add-atom-to-p4-clockmod.patch
 
+ApplyPatch linux-2.6-iwl3945-remove-useless-exports.patch
+
 ApplyPatch xen.pvops.pre.patch
 ApplyPatch xen.pvops.patch
 ApplyPatch xen.pvops.post.patch
@@ -1828,6 +1843,42 @@ fi
 #	                ||----w |
 #	                ||     ||
 %changelog
+* Sat May 02 2009 Michael Young <m.a.young at durham.ac.uk>
+- update pvops patch from xen-tip/master
+- Try enabling CONFIG_XEN_GNTDEV and CONFIG_XEN_PCI_PASSTHROUGH
+- test a patch to allow CONFIG_CC_STACKPROTECTOR to be enabled
+
+* Fri May 01 2009 Eric Sandeen <sandeen at redhat.com>
+- Fix ext4 corruption on partial write into prealloc block
+
+* Thu Apr 30 2009 Kyle McMartin <kyle at redhat.com>
+- 2.6.30-rc4
+
+* Wed Apr 29 2009 Dave Jones <davej at redhat.com>
+- 2.6.30-rc3-git6
+
+* Tue Apr 28 2009 Dave Jones <davej at redhat.com>
+- 2.6.30-rc3-git4
+
+* Tue Apr 28 2009 Chuck Ebbert <cebbert at redhat.com>
+- Make the kernel-vanilla package buildable again.
+- Allow building with older versions of RPM.
+
+* Tue Apr 28 2009 Neil Horman <nhorman at redhat.com>
+- Backport missing snmp stats (bz 492391)
+
+* Tue Apr 28 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.30-0.72.rc3.git3
+- Drop unused exports from the iwl3945 driver.
+
+* Tue Apr 28 2009 Chuck Ebbert <cebbert at redhat.com>
+- Linux 2.6.30-rc3-git3
+
+* Mon Apr 27 2009 Dave Jones <davej at redhat.com>
+- 2.6.30-rc3-git2
+
+* Sun Apr 26 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.30-0.68.rc3.git1
+- Linux 2.6.30-rc3-git1
+
 * Fri Apr 24 2009 Michael Young <m.a.young at durham.ac.uk>
 - switch back to devel kernel branch
 - switch pvops to xen-tip/next branch


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/sources,v
retrieving revision 1.976.2.11
retrieving revision 1.976.2.12
diff -u -p -r1.976.2.11 -r1.976.2.12
--- sources	24 Apr 2009 22:27:15 -0000	1.976.2.11
+++ sources	2 May 2009 18:00:25 -0000	1.976.2.12
@@ -1,2 +1,2 @@
 64921b5ff5cdadbccfcd3820f03be7d8  linux-2.6.29.tar.bz2
-cd69d16ea42bbf20d0a505690be45868  patch-2.6.30-rc3.bz2
+1672a3064a2bfe049715a1103f03561c  patch-2.6.30-rc4.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/upstream,v
retrieving revision 1.888.2.10
retrieving revision 1.888.2.11
diff -u -p -r1.888.2.10 -r1.888.2.11
--- upstream	24 Apr 2009 22:27:16 -0000	1.888.2.10
+++ upstream	2 May 2009 18:00:25 -0000	1.888.2.11
@@ -1,2 +1,2 @@
 linux-2.6.29.tar.bz2
-patch-2.6.30-rc3.bz2
+patch-2.6.30-rc4.bz2

xen.pvops.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -p -N -r 1.1.2.17 -r 1.1.2.18 xen.pvops.patch
Index: xen.pvops.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.patch,v
retrieving revision 1.1.2.17
retrieving revision 1.1.2.18
diff -u -p -r1.1.2.17 -r1.1.2.18
--- xen.pvops.patch	24 Apr 2009 22:27:17 -0000	1.1.2.17
+++ xen.pvops.patch	2 May 2009 18:00:25 -0000	1.1.2.18
@@ -155,7 +155,7 @@ index 0688482..02cced1 100644
 +	closely matches the rcu_bh "np" number for that same CPU.  This
 +	is due to short-circuit evaluation in rcu_pending().
 diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
-index 600cdd7..6b5b051 100644
+index 90b3924..6b5b051 100644
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
 @@ -1240,6 +1240,11 @@ and is between 256 and 4096 characters. It is defined in the file
@@ -180,15 +180,6 @@ index 600cdd7..6b5b051 100644
  	nointroute	[IA-64]
  
  	nojitter	[IA64] Disables jitter checking for ITC timers.
-@@ -1620,6 +1628,8 @@ and is between 256 and 4096 characters. It is defined in the file
- 
- 	nowb		[ARM]
- 
-+	nox2apic	[X86-64,APIC] Do not enable x2APIC mode.
-+
- 	nptcg=		[IA64] Override max number of concurrent global TLB
- 			purges which is reported from either PAL_VM_SUMMARY or
- 			SAL PALO.
 diff --git a/Documentation/kmemcheck.txt b/Documentation/kmemcheck.txt
 new file mode 100644
 index 0000000..a848d49
@@ -11177,10 +11168,10 @@ index 34c1304..5d55158 100644
  		0: always panic on uncorrected errors, log corrected errors
  		1: panic or SIGBUS on uncorrected errors, log corrected errors
 diff --git a/MAINTAINERS b/MAINTAINERS
-index cb95710..7ccf36e 100644
+index c547f4a..0e4bb2e 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -3336,6 +3336,14 @@ F:	drivers/serial/kgdboc.c
+@@ -3333,6 +3333,14 @@ F:	drivers/serial/kgdboc.c
  F:	include/linux/kgdb.h
  F:	kernel/kgdb.c
  
@@ -11195,7 +11186,7 @@ index cb95710..7ccf36e 100644
  KMEMTRACE
  P:	Eduard - Gabriel Munteanu
  M:	eduard.munteanu at linux360.ro
-@@ -4371,6 +4379,16 @@ S:	Maintained
+@@ -4375,6 +4383,16 @@ S:	Maintained
  F:	include/linux/delayacct.h
  F:	kernel/delayacct.c
  
@@ -11213,7 +11204,7 @@ index cb95710..7ccf36e 100644
  P:	Christoph Hellwig
  M:	hch at infradead.org
 diff --git a/Makefile b/Makefile
-index 9e5dc8f..c1ce11b 100644
+index eb38c83..7cc8517 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -557,6 +557,10 @@ ifdef CONFIG_FUNCTION_TRACER
@@ -14971,7 +14962,7 @@ index 0000000..ad8ec35
 +obj-$(CONFIG_IA32_EMULATION) += ia32/
 +
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index c9086e6..cab2e22 100644
+index df9e885..cab2e22 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
 @@ -42,10 +42,11 @@ config X86
@@ -14987,15 +14978,7 @@ index c9086e6..cab2e22 100644
  
  config ARCH_DEFCONFIG
  	string
-@@ -277,6 +278,7 @@ config SPARSE_IRQ
- config NUMA_MIGRATE_IRQ_DESC
- 	bool "Move irq desc when changing irq smp_affinity"
- 	depends on SPARSE_IRQ && NUMA
-+	depends on BROKEN
- 	default n
- 	---help---
- 	  This enables moving irq_desc to cpu/node that irq will use handled.
-@@ -354,7 +356,7 @@ config X86_UV
+@@ -355,7 +356,7 @@ config X86_UV
  	depends on X86_64
  	depends on X86_EXTENDED_PLATFORM
  	depends on NUMA
@@ -15004,15 +14987,7 @@ index c9086e6..cab2e22 100644
  	---help---
  	  This option is needed in order to support SGI Ultraviolet systems.
  	  If you don't have one of these, you should say N here.
-@@ -664,6 +666,7 @@ config MAXSMP
- 
- config NR_CPUS
- 	int "Maximum number of CPUs" if SMP && !MAXSMP
-+	range 2 8 if SMP && X86_32 && !X86_BIGSMP
- 	range 2 512 if SMP && !MAXSMP
- 	default "1" if !SMP
- 	default "4096" if MAXSMP
-@@ -725,6 +728,7 @@ config X86_UP_IOAPIC
+@@ -727,6 +728,7 @@ config X86_UP_IOAPIC
  config X86_LOCAL_APIC
  	def_bool y
  	depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
@@ -15020,7 +14995,7 @@ index c9086e6..cab2e22 100644
  
  config X86_IO_APIC
  	def_bool y
-@@ -1192,6 +1196,16 @@ config ARCH_MEMORY_PROBE
+@@ -1194,6 +1196,16 @@ config ARCH_MEMORY_PROBE
  	def_bool X86_64
  	depends on MEMORY_HOTPLUG
  
@@ -15037,7 +15012,7 @@ index c9086e6..cab2e22 100644
  source "mm/Kconfig"
  
  config HIGHPTE
-@@ -1827,6 +1841,10 @@ config PCI_OLPC
+@@ -1829,6 +1841,10 @@ config PCI_OLPC
  	def_bool y
  	depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY)
  
@@ -15084,7 +15059,7 @@ index d8359e7..9a88937 100644
  	def_bool y
  
 diff --git a/arch/x86/Makefile b/arch/x86/Makefile
-index f05d8c9..1b68659 100644
+index 8c86b72..1b68659 100644
 --- a/arch/x86/Makefile
 +++ b/arch/x86/Makefile
 @@ -7,8 +7,6 @@ else
@@ -15132,26 +15107,6 @@ index f05d8c9..1b68659 100644
  
  # drivers-y are linked after core-y
  drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/
-@@ -153,7 +143,7 @@ endif
- 
- boot := arch/x86/boot
- 
--BOOT_TARGETS = bzlilo bzdisk fdimage fdimage144 fdimage288 isoimage install
-+BOOT_TARGETS = bzlilo bzdisk fdimage fdimage144 fdimage288 isoimage
- 
- PHONY += bzImage $(BOOT_TARGETS)
- 
-@@ -171,6 +161,10 @@ bzImage: vmlinux
- $(BOOT_TARGETS): vmlinux
- 	$(Q)$(MAKE) $(build)=$(boot) $@
- 
-+PHONY += install
-+install:
-+	$(Q)$(MAKE) $(build)=$(boot) $@
-+
- PHONY += vdso_install
- vdso_install:
- 	$(Q)$(MAKE) $(build)=arch/x86/vdso $@
 diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
 index 6633b6e..658bc52 100644
 --- a/arch/x86/boot/Makefile
@@ -18383,7 +18338,7 @@ index 8820a73..b078352 100644
  
  #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
 diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
-index 0d53425..cbfdc26 100644
+index 0d53425..a5f6790 100644
 --- a/arch/x86/include/asm/traps.h
 +++ b/arch/x86/include/asm/traps.h
 @@ -2,6 +2,7 @@
@@ -18394,7 +18349,16 @@ index 0d53425..cbfdc26 100644
  
  #ifdef CONFIG_X86_32
  #define dotraplinkage
-@@ -74,7 +75,6 @@ static inline int get_si_code(unsigned long condition)
+@@ -13,6 +14,8 @@ asmlinkage void divide_error(void);
+ asmlinkage void debug(void);
+ asmlinkage void nmi(void);
+ asmlinkage void int3(void);
++asmlinkage void xen_debug(void);
++asmlinkage void xen_int3(void);
+ asmlinkage void overflow(void);
+ asmlinkage void bounds(void);
+ asmlinkage void invalid_op(void);
+@@ -74,7 +77,6 @@ static inline int get_si_code(unsigned long condition)
  }
  
  extern int panic_on_unrecovered_nmi;
@@ -19193,7 +19157,7 @@ index 1c11b81..8e07c14 100644
  	unsigned long vect = 0, psaival = 0;
  
 diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index a2789e4..b562550 100644
+index 30da617..b562550 100644
 --- a/arch/x86/kernel/apic/io_apic.c
 +++ b/arch/x86/kernel/apic/io_apic.c
 @@ -59,11 +59,14 @@
@@ -19655,22 +19619,7 @@ index a2789e4..b562550 100644
  }
  #endif /* CONFIG_INTR_REMAP */
[...2911 lines suppressed...]
++#define __XEN_ASM_PCIFRONT_H__
++
++#include <linux/spinlock.h>
++
++#ifdef __KERNEL__
++
++struct pcifront_device;
++struct pci_bus;
++
++struct pcifront_sd {
++	int domain;
++	struct pcifront_device *pdev;
++};
++
++static inline struct pcifront_device *
++pcifront_get_pdev(struct pcifront_sd *sd)
++{
++	return sd->pdev;
++}
++
++static inline void pcifront_init_sd(struct pcifront_sd *sd,
++				    unsigned int domain, unsigned int bus,
++				    struct pcifront_device *pdev)
++{
++	sd->domain = domain;
++	sd->pdev = pdev;
++}
++
++static inline void pcifront_setup_root_resources(struct pci_bus *bus,
++						 struct pcifront_sd *sd)
++{
++}
++
++extern struct rw_semaphore pci_bus_sem;
++
++#endif /* __KERNEL__ */
++
++#endif /* __XEN_ASM_PCIFRONT_H__ */
 diff --git a/include/xen/privcmd.h b/include/xen/privcmd.h
 new file mode 100644
 index 0000000..c5d9067
@@ -49658,23 +51161,10 @@ index d82142b..37c6363 100644
   * handle_IRQ_event - irq action chain handler
   * @irq:	the interrupt number
 diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
-index 7e2e7dd..4925ece 100644
+index 2734eca..4925ece 100644
 --- a/kernel/irq/manage.c
 +++ b/kernel/irq/manage.c
-@@ -109,10 +109,9 @@ int irq_set_affinity(unsigned int irq, const struct cpumask *cpumask)
- 	spin_lock_irqsave(&desc->lock, flags);
- 
- #ifdef CONFIG_GENERIC_PENDING_IRQ
--	if (desc->status & IRQ_MOVE_PCNTXT || desc->status & IRQ_DISABLED) {
--		cpumask_copy(desc->affinity, cpumask);
-+	if (desc->status & IRQ_MOVE_PCNTXT)
- 		desc->chip->set_affinity(irq, cpumask);
--	} else {
-+	else {
- 		desc->status |= IRQ_MOVE_PENDING;
- 		cpumask_copy(desc->pending_mask, cpumask);
- 	}
-@@ -931,7 +930,7 @@ int request_threaded_irq(unsigned int irq, irq_handler_t handler,
+@@ -930,7 +930,7 @@ int request_threaded_irq(unsigned int irq, irq_handler_t handler,
  		kfree(action);
  
  #ifdef CONFIG_DEBUG_SHIRQ
@@ -49707,7 +51197,7 @@ index 4ebaf85..41c88fe 100644
  {
  	/* Information passed to kthread() from kthreadd. */
 diff --git a/kernel/lockdep.c b/kernel/lockdep.c
-index b0f0118..8bbeef9 100644
+index accb40c..8bbeef9 100644
 --- a/kernel/lockdep.c
 +++ b/kernel/lockdep.c
 @@ -42,12 +42,14 @@
@@ -49726,48 +51216,7 @@ index b0f0118..8bbeef9 100644
  #ifdef CONFIG_PROVE_LOCKING
  int prove_locking = 1;
  module_param(prove_locking, int, 0644);
-@@ -2490,13 +2492,20 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this,
- void lockdep_init_map(struct lockdep_map *lock, const char *name,
- 		      struct lock_class_key *key, int subclass)
- {
--	if (unlikely(!debug_locks))
-+	lock->class_cache = NULL;
-+#ifdef CONFIG_LOCK_STAT
-+	lock->cpu = raw_smp_processor_id();
-+#endif
-+
-+	if (DEBUG_LOCKS_WARN_ON(!name)) {
-+		lock->name = "NULL";
- 		return;
-+	}
-+
-+	lock->name = name;
- 
- 	if (DEBUG_LOCKS_WARN_ON(!key))
- 		return;
--	if (DEBUG_LOCKS_WARN_ON(!name))
--		return;
- 	/*
- 	 * Sanity check, the lock-class key must be persistent:
- 	 */
-@@ -2505,12 +2514,11 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name,
- 		DEBUG_LOCKS_WARN_ON(1);
- 		return;
- 	}
--	lock->name = name;
- 	lock->key = key;
--	lock->class_cache = NULL;
--#ifdef CONFIG_LOCK_STAT
--	lock->cpu = raw_smp_processor_id();
--#endif
-+
-+	if (unlikely(!debug_locks))
-+		return;
-+
- 	if (subclass)
- 		register_lock_class(lock, subclass, 1);
- }
-@@ -2929,8 +2937,6 @@ void lock_set_class(struct lockdep_map *lock, const char *name,
+@@ -2935,8 +2937,6 @@ void lock_set_class(struct lockdep_map *lock, const char *name,
  }
  EXPORT_SYMBOL_GPL(lock_set_class);
  
@@ -49776,7 +51225,7 @@ index b0f0118..8bbeef9 100644
  /*
   * We are not always called with irqs disabled - do that here,
   * and also avoid lockdep recursion:
-@@ -2957,8 +2963,6 @@ void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
+@@ -2963,8 +2963,6 @@ void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
  }
  EXPORT_SYMBOL_GPL(lock_acquire);
  
@@ -49785,7 +51234,7 @@ index b0f0118..8bbeef9 100644
  void lock_release(struct lockdep_map *lock, int nested,
  			  unsigned long ip)
  {
-@@ -3099,6 +3103,8 @@ found_it:
+@@ -3105,6 +3103,8 @@ found_it:
  		hlock->holdtime_stamp = now;
  	}
  
@@ -49794,7 +51243,7 @@ index b0f0118..8bbeef9 100644
  	stats = get_lock_stats(hlock_class(hlock));
  	if (waittime) {
  		if (hlock->read)
-@@ -3114,8 +3120,6 @@ found_it:
+@@ -3120,8 +3120,6 @@ found_it:
  	lock->ip = ip;
  }
  
@@ -49803,7 +51252,7 @@ index b0f0118..8bbeef9 100644
  void lock_contended(struct lockdep_map *lock, unsigned long ip)
  {
  	unsigned long flags;
-@@ -3137,14 +3141,10 @@ void lock_contended(struct lockdep_map *lock, unsigned long ip)
+@@ -3143,14 +3141,10 @@ void lock_contended(struct lockdep_map *lock, unsigned long ip)
  }
  EXPORT_SYMBOL_GPL(lock_contended);
  
@@ -49930,19 +51379,6 @@ index 507cf2b..0249c94 100644
  		spin_lock_mutex(&lock->wait_lock, flags);
  	}
  
-diff --git a/kernel/panic.c b/kernel/panic.c
-index 934fb37..3dcaa16 100644
---- a/kernel/panic.c
-+++ b/kernel/panic.c
-@@ -221,7 +221,7 @@ void add_taint(unsigned flag)
- 	 * post-warning case.
- 	 */
- 	if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off())
--		printk(KERN_WARNING "Disabling lockdep due to kernel taint\n");
-+		printk(KERN_WARNING "Disabling lock debugging due to kernel taint\n");
- 
- 	set_bit(flag, &tainted_mask);
- }
 diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c
 new file mode 100644
 index 0000000..0939609
@@ -53418,7 +54854,7 @@ index 7724e04..b2a6d7d 100644
  	struct proc_dir_entry *entry;
  
 diff --git a/kernel/ptrace.c b/kernel/ptrace.c
-index dfcd83c..4559e84 100644
+index 0692ab5..e950805 100644
 --- a/kernel/ptrace.c
 +++ b/kernel/ptrace.c
 @@ -25,16 +25,6 @@
@@ -60128,7 +61564,7 @@ index 42a2dbc..ea7c3b4 100644
  }
  EXPORT_SYMBOL(abort_exclusive_wait);
 diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
-index c6e854f..f70047b 100644
+index 812c282..b2a59e1 100644
 --- a/lib/Kconfig.debug
 +++ b/lib/Kconfig.debug
 @@ -9,8 +9,20 @@ config PRINTK_TIME

xen.pvops.post.patch:

Index: xen.pvops.post.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.post.patch,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -p -r1.1.2.11 -r1.1.2.12
--- xen.pvops.post.patch	24 Apr 2009 22:27:21 -0000	1.1.2.11
+++ xen.pvops.post.patch	2 May 2009 18:00:29 -0000	1.1.2.12
@@ -1,5 +1,6 @@
 Reapply and merge in Fedora changes
 remove localversion-tip file to avoid -tip being added to the kernel name
+Test some patches to get STACKPROTECTOR working
 
 --- a/arch/x86/mm/init.c	2009-04-23 20:13:34.000000000 +0100
 +++ b/arch/x86/mm/init.c	2009-04-24 20:27:42.000000000 +0100
@@ -63,3 +64,47 @@ remove localversion-tip file to avoid -t
 +++ /dev/null	2009-02-17 18:08:14.005240123 +0000
 @@ -1 +0,0 @@
 --tip
+--- linux-2.6.29.x86_64/arch/x86/xen/Makefile.orig	2009-04-24 22:54:26.000000000 +0100
++++ linux-2.6.29.x86_64/arch/x86/xen/Makefile	2009-04-26 16:46:57.000000000 +0100
+@@ -4,6 +4,10 @@
+ CFLAGS_REMOVE_time.o = -pg
+ CFLAGS_REMOVE_irq.o = -pg
+ endif
++nostackp := $(call cc-option, -fno-stack-protector)
++CFLAGS_enlighten.o		:= $(nostackp)
++CFLAGS_mmu.o			:= $(nostackp)
++CFLAGS_irq.o			:= $(nostackp)
+ 
+ obj-y		:= enlighten.o setup.o multicalls.o mmu.o irq.o \
+ 			time.o xen-asm.o xen-asm_$(BITS).o \
+--- linux-2.6.29.x86_64/arch/x86/xen/enlighten.c.orig	2009-04-26 16:49:24.000000000 +0100
++++ linux-2.6.29.x86_64/arch/x86/xen/enlighten.c	2009-04-26 21:57:28.000000000 +0100
+@@ -965,7 +965,7 @@
+ 
+ 	xen_domain_type = XEN_PV_DOMAIN;
+ 
+-	BUG_ON(memcmp(xen_start_info->magic, "xen-3", 5) != 0);
++/*	BUG_ON(memcmp(xen_start_info->magic, "xen-3", 5) != 0); */
+ 
+ 	xen_setup_features();
+ 
+--- linux-2.6.29.x86_64/drivers/xen/Makefile.orig	2009-04-26 16:49:25.000000000 +0100
++++ linux-2.6.29.x86_64/drivers/xen/Makefile	2009-04-26 22:26:55.000000000 +0100
+@@ -1,3 +1,6 @@
++nostackp := $(call cc-option, -fno-stack-protector)
++CFLAGS_features.o		:= $(nostackp)
++
+ obj-y	+= grant-table.o features.o events.o manage.o biomerge.o
+ obj-y	+= xenbus/
+ 
+--- vanilla-2.6.30-rc3/arch/x86/kernel/cpu/Makefile	2009-04-23 20:13:34.000000000 +0100
++++ linux-2.6.29.x86_64/arch/x86/kernel/cpu/Makefile	2009-04-27 21:47:28.000000000 +0100
+@@ -6,6 +6,8 @@
+ ifdef CONFIG_FUNCTION_TRACER
+ CFLAGS_REMOVE_common.o = -pg
+ endif
++nostackp := $(call cc-option, -fno-stack-protector)
++CFLAGS_common.o		:= $(nostackp)
+ 
+ obj-y			:= intel_cacheinfo.o addon_cpuid_features.o
+ obj-y			+= proc.o capflags.o powerflags.o common.o


--- patch-2.6.30-rc3.bz2.sign DELETED ---




More information about the fedora-extras-commits mailing list