From 1b08a68a4f3656bd2e0ab526418c5d97e547a5c7 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 21 Jun 2011 23:26:23 +0200 Subject: [PATCH] vfs_bind_mount_directory(): Fail if unmounting --- src/system/kernel/fs/vfs.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 8162aebbbe..e4f84f247f 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -5019,8 +5019,10 @@ vfs_bind_mount_directory(dev_t mountID, ino_t nodeID, dev_t coveredMountID, // establish the covered/covering links WriteLocker locker(sVnodeLock); - if (vnode->covers != NULL || coveredVnode->covered_by != NULL) + if (vnode->covers != NULL || coveredVnode->covered_by != NULL + || vnode->mount->unmounting || coveredVnode->mount->unmounting) { return B_BUSY; + } vnode->covers = coveredVnode; vnode->SetCovering(true);