From 19b790eb53a81c853bc7dccf05e49b0bb3b37633 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Fri, 11 Jun 2010 11:41:56 +0000 Subject: [PATCH] vfs: don't use a mountpoint if it's in use for anything else. (this avoids data structure confusion if a mountpoint is reused as a mountpoint until that's properly fixed.) --- servers/vfs/mount.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/servers/vfs/mount.c b/servers/vfs/mount.c index 7da620c7a..9cddb884e 100644 --- a/servers/vfs/mount.c +++ b/servers/vfs/mount.c @@ -253,6 +253,12 @@ PRIVATE int mount_fs(endpoint_t fs_e) /* Get vnode of mountpoint */ if ((vp = eat_path(PATH_NOFLAGS)) == NULL) return(err_code); + if (vp->v_ref_count != 1) { + put_vnode(vp); + return(EBUSY); + } + + /* Tell FS on which vnode it is mounted (glue into mount tree) */ if ((r = req_mountpoint(vp->v_fs_e, vp->v_inode_nr)) != OK) { put_vnode(vp); -- 2.44.0