From a88c592fb33512b5744cf1211e69902971fa27d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 18 Apr 2006 14:50:36 +0000 Subject: [PATCH] Instead of ending up in an endless loop, fs_sync() will now bail out in case get_vnode() fails. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17162 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/fs/vfs.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 0d994392ee..6c93ca9e84 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -807,7 +807,7 @@ restart: mutex_unlock(&sVnodeMutex); if (--tries < 0) { // vnode doesn't seem to become unbusy - panic("vnode %ld.%Ld is not becoming unbusy!\n", mountID, vnodeID); + panic("vnode %ld:%Ld is not becoming unbusy!\n", mountID, vnodeID); return B_BUSY; } snooze(10000); // 10 ms @@ -5545,6 +5545,9 @@ fs_sync(dev_t device) // the next vnode might change until we lock the vnode list again, // but this vnode won't go away since we keep a reference to it. previousVnode = vnode; + } else { + dprintf("syncing of mount %ld stopped due to vnode %Ld.\n", mount->id, id); + break; } }