Setting tag linux-2.6-27-38
[linux-2.6.git] / delta-pivot-fix01.diff
1 diff -NurpP --minimal linux-2.6.29-vs2.3.0.36.9-pre4/fs/namespace.c linux-2.6.29-vs2.3.0.36.9-pre5/fs/namespace.c
2 --- linux-2.6.29-vs2.3.0.36.9-pre4/fs/namespace.c       2009-03-24 14:48:35.000000000 +0100
3 +++ linux-2.6.29-vs2.3.0.36.9-pre5/fs/namespace.c       2009-04-10 23:15:11.000000000 +0200
4 @@ -2278,9 +2278,10 @@ SYSCALL_DEFINE2(pivot_root, const char _
5         down_write(&namespace_sem);
6         mutex_lock(&old.dentry->d_inode->i_mutex);
7         error = -EINVAL;
8 -       if (IS_MNT_SHARED(old.mnt) ||
9 +       if ((IS_MNT_SHARED(old.mnt) ||
10                 IS_MNT_SHARED(new.mnt->mnt_parent) ||
11 -               IS_MNT_SHARED(root.mnt->mnt_parent))
12 +               IS_MNT_SHARED(root.mnt->mnt_parent)) &&
13 +               !vx_flags(VXF_STATE_SETUP, 0))
14                 goto out2;
15         if (!check_mnt(root.mnt))
16                 goto out2;