diff options
Diffstat (limited to 'fs/pnode.c')
-rw-r--r-- | fs/pnode.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/pnode.c b/fs/pnode.c index 53d411a371ce..681916df422c 100644 --- a/fs/pnode.c +++ b/fs/pnode.c @@ -607,3 +607,19 @@ int propagate_umount(struct list_head *list) return 0; } + +void propagate_remount(struct mount *mnt) +{ + struct mount *parent = mnt->mnt_parent; + struct mount *p = mnt, *m; + struct super_block *sb = mnt->mnt.mnt_sb; + + if (!sb->s_op->copy_mnt_data) + return; + for (p = propagation_next(parent, parent); p; + p = propagation_next(p, parent)) { + m = __lookup_mnt(&p->mnt, mnt->mnt_mountpoint); + if (m) + sb->s_op->copy_mnt_data(m->mnt.data, mnt->mnt.data); + } +} |