Added fixed version of vserver kernel (without xfs bug)

git-svn-id: svn+ssh://svnintern.kmrc.de/projects/gentoo/iwm-overlay@13701 cbe59ace-07ea-0310-918e-868702b5370d
This commit is contained in:
Torsten Kurbad 2010-06-24 09:24:14 +00:00
parent 13b45cfa20
commit 0c438c0b7c
3 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,6 @@
AUX 2.6.33-xfs_radix_tree_fix.patch 2273 RMD160 6fd2316e754a54d118f9caf5cdb71f508d08d679 SHA1 04e7283dd193d6efa3864b619abda9a91efc06bc SHA256 d1cb01151c28abd683659d908fe0c8a1a743f822f9824ba641cb8944fa0cc173
DIST genpatches-2.6.33-2.base.tar.bz2 96621 RMD160 844b2c0c0ebd43f4d6b5516b12094bd15ec5c552 SHA1 578644ee3e338c17804e0fb45c2f4919c49aa6be SHA256 ee5ab1eb18f5986ec068dab1fbef960a926331ab4334570791dcc4fbdba2bc84
DIST genpatches-2.6.33-2.extras.tar.bz2 24943 RMD160 c2e60949aea1f22bf73a4c53557a225cdb2d1a73 SHA1 a7dc2a56fda8d001e4d7f2bb1cb202293775495b SHA256 fbe153c96200834ee1b7b0966996d1be8906fc76fb025f43ceea97817ef89918
DIST linux-2.6.33.tar.bz2 66266488 RMD160 7f0897db8113bc17249d82d61ca41e3b91eb4664 SHA1 acc8db00f30c7dfb4f04183a88ba35a32b6f8e8d SHA256 63e237de3b3c4c46a21833b9ce7e20574548d52dabbd1a8bf376041e4455d5c6
DIST vserver-patches-2.6.33_2.3.0.36.30.4-r1.tar.bz2 164706 RMD160 88a7c02645af34c3705b9a5bce4ffb3dd74928ef SHA1 f886bf01eb3cb5cda2a11dfdefdcf72d33bd3325 SHA256 4b2ee3fc1a81156485299000ccae2383cd7044badd1a3815cb508788de681104
EBUILD vserver-sources-2.3.0.36.30.4-r1.ebuild 862 RMD160 c7e4f753ae007422184b56e91b4af977a66be411 SHA1 adddabb4cfbc9a3cd6fbbad4386bae4dabf8dad3 SHA256 e408c60b36494f7c43072283a8fc393690696a379fb73ad3d41d944b9afaeadb

View File

@ -0,0 +1,56 @@
diff -urN linux-2.6.33-vserver-2.3.0.36.30.4-r1.orig//fs/xfs/linux-2.6/xfs_sync.c linux-2.6.33-vserver-2.3.0.36.30.4-r1//fs/xfs/linux-2.6/xfs_sync.c
--- linux-2.6.33-vserver-2.3.0.36.30.4-r1.orig//fs/xfs/linux-2.6/xfs_sync.c 2010-02-24 18:52:17.000000000 +0000
+++ linux-2.6.33-vserver-2.3.0.36.30.4-r1//fs/xfs/linux-2.6/xfs_sync.c 2010-06-24 09:17:15.403911414 +0000
@@ -693,12 +693,12 @@
xfs_mount_t *mp = ip->i_mount;
xfs_perag_t *pag = xfs_get_perag(mp, ip->i_ino);
- read_lock(&pag->pag_ici_lock);
+ write_lock(&pag->pag_ici_lock);
spin_lock(&ip->i_flags_lock);
__xfs_inode_set_reclaim_tag(pag, ip);
__xfs_iflags_set(ip, XFS_IRECLAIMABLE);
spin_unlock(&ip->i_flags_lock);
- read_unlock(&pag->pag_ici_lock);
+ write_unlock(&pag->pag_ici_lock);
xfs_put_perag(mp, pag);
}
diff -urN linux-2.6.33-vserver-2.3.0.36.30.4-r1.orig//fs/xfs/xfs_iget.c linux-2.6.33-vserver-2.3.0.36.30.4-r1//fs/xfs/xfs_iget.c
--- linux-2.6.33-vserver-2.3.0.36.30.4-r1.orig//fs/xfs/xfs_iget.c 2010-02-24 18:52:17.000000000 +0000
+++ linux-2.6.33-vserver-2.3.0.36.30.4-r1//fs/xfs/xfs_iget.c 2010-06-24 09:14:58.643911511 +0000
@@ -190,13 +190,12 @@
trace_xfs_iget_reclaim(ip);
/*
- * We need to set XFS_INEW atomically with clearing the
- * reclaimable tag so that we do have an indicator of the
- * inode still being initialized.
+ * We need to set XFS_IRECLAIM to prevent xfs_reclaim_inode
+ * from stomping over us while we recycle the inode. We can't
+ * clear the radix tree reclaimable tag yet as it requires
+ * pag_ici_lock to be held exclusive.
*/
- ip->i_flags |= XFS_INEW;
- ip->i_flags &= ~XFS_IRECLAIMABLE;
- __xfs_inode_clear_reclaim_tag(mp, pag, ip);
+ ip->i_flags |= XFS_IRECLAIM;
spin_unlock(&ip->i_flags_lock);
read_unlock(&pag->pag_ici_lock);
@@ -216,7 +215,15 @@
trace_xfs_iget_reclaim(ip);
goto out_error;
}
+
+ write_lock(&pag->pag_ici_lock);
+ spin_lock(&ip->i_flags_lock);
+ ip->i_flags &= ~(XFS_IRECLAIMABLE | XFS_IRECLAIM);
+ ip->i_flags |= XFS_INEW;
+ __xfs_inode_clear_reclaim_tag(mp, pag, ip);
inode->i_state = I_NEW;
+ spin_unlock(&ip->i_flags_lock);
+ write_unlock(&pag->pag_ici_lock);
} else {
/* If the VFS inode is being torn down, pause and try again. */
if (!igrab(inode)) {

View File

@ -0,0 +1,27 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/vserver-sources/vserver-sources-2.3.0.36.30.4-r1.ebuild,v 1.1 2010/04/29 07:47:16 hollow Exp $
ETYPE="sources"
CKV="2.6.33"
K_WANT_GENPATCHES="base extras"
K_GENPATCHES_VER="2"
K_USEPV=1
K_NOSETEXTRAVERSION=1
MY_PN=${PN/-sources/-patches}
inherit kernel-2
detect_version
KEYWORDS="~amd64 ~hppa ~x86"
IUSE=""
DESCRIPTION="Full sources including Gentoo and Linux-VServer patchsets for the ${KV_MAJOR}.${KV_MINOR} kernel tree."
HOMEPAGE="http://www.gentoo.org/proj/en/vps/"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}
http://dev.gentoo.org/~hollow/distfiles/${MY_PN}-${CKV}_${PVR}.tar.bz2"
UNIPATCH_LIST="${DISTDIR}/${MY_PN}-${CKV}_${PVR}.tar.bz2"
# ${FILESDIR}/${CKV}-xfs_radix_tree_fix.patch"