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.)
This commit is contained in:
parent
4d7c317700
commit
19b790eb53
1 changed files with 6 additions and 0 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue