[vserver] vserver enabled 3.13.9+ and 3.14+ kernels hang on boot

From: Jan Rękorajski <baggins_at_sith.mimuw.edu.pl>
Date: Fri 25 Apr 2014 - 20:52:29 BST
Message-ID: <20140425195228.GA2112@home.lan>

Hi,
The upstream commit b37199e626b31e1175fb06764c5d1d687723aac2
(rcuwalk: recheck mount_lock after mountpoint crossing attempts) in 3.14
and 3.13.9 functionally invalidated one of the changes to fs/namei.c in
vserver patch:

@@ -1238,7 +1335,8 @@ static void follow_dotdot(struct nameida
 
                if (nd->path.dentry == nd->root.dentry &&
                    nd->path.mnt == nd->root.mnt) {
- break;
+ /* for sane '/' avoid follow_mount() */
+ return;
                }
                if (nd->path.dentry != nd->path.mnt->mnt_root) {
                        /* rare case of legitimate dget_parent()... */

With the above hunk applied vserver enabled 3.13.9 or 3.14.x kernel hangs on
boot when udev is started from initrd. Reverting it fixes the problem.

Does this change serve any purpose other than code path optimization?
Should I expect any breakege after removing it?

-- 
Jan Rękorajski                                 | PLD/Linux
SysAdm                                         | http://www.pld-linux.org/
baggins<at>mimuw.edu.pl
baggins<at>pld-linux.org
Received on Fri Apr 25 20:52:26 2014
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Fri 25 Apr 2014 - 20:52:26 BST by hypermail 2.1.8