Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0b03cfb25fa944bc106e816146846dcb48b2e907
Commit:     0b03cfb25fa944bc106e816146846dcb48b2e907
Parent:     870b8f8c43d000bb321b42a12212facc1087a748
Author:     Andries E. Brouwer <[EMAIL PROTECTED]>
AuthorDate: Wed Feb 6 01:36:32 2008 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Wed Feb 6 10:41:02 2008 -0800

    MNT_UNBINDABLE fix
    
    Some time ago ( http://lkml.org/lkml/2007/6/19/128 ) I wrote about
    MNT_UNBINDABLE that it felt like a bug that it is not reset by "mount
    --make-private".
    
    Today I happened to see mount(8) and Documentation/sharedsubtree.txt and
    both document the version obtained by applying the little patch given in
    the above (and again below).
    
    So, the present kernel code is not according to specs and must be regarded
    as buggy.
    
    Specification in Documentation/sharedsubtree.txt:
    See state diagram: unbindable should become private upon make-private.
    
    Specification in mount(8):
        ...  It's
        also possible to  set  up  uni-directional  propagation  (with  --make-
        slave),  to  make  a  mount  point unavailable for --bind/--rbind (with
        --make-unbindable), and to undo any  of  these  (with  --make-private).
    
    Repeat of old fix-shared-subtrees-make-private.patch
    (due to Dirk Gerrits, René Gabriëls, Peter Kooijmans):
    
    Acked-by: Ram Pai <[EMAIL PROTECTED]>
    Cc: Al Viro <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 fs/pnode.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/fs/pnode.c b/fs/pnode.c
index 89940f2..05ba692 100644
--- a/fs/pnode.c
+++ b/fs/pnode.c
@@ -83,6 +83,8 @@ void change_mnt_propagation(struct vfsmount *mnt, int type)
                mnt->mnt_master = NULL;
                if (type == MS_UNBINDABLE)
                        mnt->mnt_flags |= MNT_UNBINDABLE;
+               else
+                       mnt->mnt_flags &= ~MNT_UNBINDABLE;
        }
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to