From 0be138ab2f4098d3910880c92f94de8f4c2ea0df 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 d4c14f85de..b0433883c4 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);