X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=fs%2Fpnode.c;h=f1871f773f642c8f39045431f5e42134e93ea80f;hb=c2642ab05b855d2d3b850ddf90dbb02b1b9358ac;hp=3e266c5a3071a4994d7d635c3259d7c9b0721149;hpb=5afe00221389998a25d611dc7941c06580c29eb6;p=linux-2.6 diff --git a/fs/pnode.c b/fs/pnode.c index 3e266c5a30..f1871f773f 100644 --- a/fs/pnode.c +++ b/fs/pnode.c @@ -82,6 +82,8 @@ void change_mnt_propagation(struct vfsmount *mnt, int type) if (type != MS_SLAVE) { list_del_init(&mnt->mnt_slave); mnt->mnt_master = NULL; + if (type == MS_UNBINDABLE) + mnt->mnt_flags |= MNT_UNBINDABLE; } } @@ -101,7 +103,7 @@ static struct vfsmount *propagation_next(struct vfsmount *m, struct vfsmount *next; struct vfsmount *master = m->mnt_master; - if ( master == origin->mnt_master ) { + if (master == origin->mnt_master) { next = next_peer(m); return ((next == origin) ? NULL : next); } else if (m->mnt_slave.next != &master->mnt_slave_list)