Hi, managers.
     
     I posted a complaint about defunct processes and filesystems earlier. 
     The idea was that a defunct process is able to somehow hold a 
     filesystem so that it could not be unmounted. Now I can provoke the 
     behavior in a controlled environment:
     
     
     # mkfset var_domain my_fileset
     # mkdir /my_mountpoint
     # mount var_domain#my_fileset /my_mountpoint
     
     # cp /bin/true /my_mountpoint
     # cd /
     # /my_mountpoint/true &
     
     The commands above generate a defunct process which executable file 
     once it executed were located on my_fileset. Everything else, 
     libraries, open files and so on is elsewhere.
     
     The filesystem cannot be unmounted when that defunct exists. Lsof 
     shows nothing as the defunct actually does not exist and therefore 
     cannot have anything open.
     
     From another terminal, try
     
     # unmount /my_mountpoint
     /my_mountpoint: Device busy
     #
     
     From the first terminal, if you use ksh, just hit return:
     
     #            
     [1] +  Done                    /my_mountpoint/true &
     # 
     
     Now it is easy to unmount the fileset from the second terminal
     
     # unmount /my_mountpoint
     #
     
     
     
     
     The reason for all this is of course not just that there is a funny 
     curiosity on DU. But people who use cluster software (ASE) may have 
     experienced that services won't stop because filesystems cannot be 
     unmounted and that the reason cannot be found. The most irritating is 
     that lsof or fuser cannot see that the filesystem is in use. And even 
     if we could get the information that this PID holds the filesystem, we 
     cannot kill the PID as it is already dead, we will have to kill the 
     parent (which can be anything).
     
     
     I have reported this to Digital as an error in the operating system 
     kernel. Seen on 3.2G and 4.0D
     
     Yours, Lars Bro 
Received on Thu Apr 23 1998 - 11:16:48 NZST