Subject: linux 3.10.76 and patch-3.10.69-vs2.3.6.9.diff
From: Corey Wright <undefined@pobox.com>
Date: Thu, 30 Apr 2015 09:28:10 -0500
Thu, 30 Apr 2015 09:28:10 -0500
applying patch-3.10.69-vs2.3.6.9.diff to linux 3.10.76 fails in patching.

patching file fs/libfs.c
Hunk #2 FAILED at 167.
1 out of 4 hunks FAILED -- saving rejects to file fs/libfs.c.rej

upstream commit
http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/fs/libfs.c?h=linux-3.10.y&id=6637ecd306a94a03dd5b8e4e8d3f260d9877c5b0
invalidated the patch hunk context.

the attached patch accounts for the upstream change.

instructions:
1. acquire linux-3.10.76
2. apply patch-3.10.69-vs2.3.6.9.diff
4. manually fix the Makefile reject (EXTRAVERSION)
3. apply the attached patch-3.10.69-76-vs2.3.6.9.diff

i've successfully built the resulting kernel and tested it in virtualbox
against testme.sh and testfs.sh and started-entered-exited-stopped a vserver
guest.

the vserver patch hunk that failed (and that i subsequently provided a new
patch for) appears related to filtering of pts in /dev/pts, so i tested that
only the relevant pts appear in each context (host and guests), but i
encourage further review and testing.

corey
--
undefined@pobox.com


upstream commit broke linux-vserver patch hunk context
http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/fs/libfs.c?h=linux-3.10.y&id=6637ecd306a94a03dd5b8e4e8d3f260d9877c5b0

diff -urNpd linux-3.10.76~/fs/libfs.c linux-3.10.76/fs/libfs.c
--- linux-3.10.76~/fs/libfs.c	2015-04-29 07:50:53.125615513 -0500
+++ linux-3.10.76/fs/libfs.c	2015-04-29 08:02:01.926955077 -0500
@@ -167,6 +167,8 @@ static inline int do_dcache_readdir_filt
 			for (p=q->next; p != &dentry->d_subdirs; p=p->next) {
 				struct dentry *next;
 				next = list_entry(p, struct dentry, d_child);
+				if (filter && !filter(next))
+					continue;
 				spin_lock_nested(&next->d_lock, DENTRY_D_LOCK_NESTED);
 				if (!simple_positive(next)) {
 					spin_unlock(&next->d_lock);