Changeset 26586

Show
Ignore:
Timestamp:
07/23/08 17:39:48 (4 months ago)
Author:
anevilyak
Message:

Remove extraneous put_vnode(). This would result in decrementing the vnode ref count even if an unmount operation failed, which in turn would cause other fun problems. This fixes tickets 1982 and 2538. However, there seems to be another problem remaining with unmounting: the placeholder dir in the rootfs is not removed when the volume is unmounted, or it's not reused correctly. As a consequence, on subsequent remounts of the same volume via Tracker or mountvolume, a new dir is created each time, leaving empty placeholders. (i.e. remounting the volume HaikuData results in the creation of /HaikuData1, 2, 3, 4, etc.).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • haiku/trunk/src/system/kernel/fs/vfs.cpp

    r26579 r26586  
    65806580                if ((flags & B_FORCE_UNMOUNT) == 0) { 
    65816581                        mutex_unlock(&sVnodeMutex); 
    6582                         put_vnode(mount->root_vnode); 
    65836582 
    65846583                        return B_BUSY;