[DRBD-user] Problem: Device is held open by someone

nupur sharma nupur_sharma01 at yahoo.com
Wed Feb 3 08:50:31 CET 2010

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


I am not running nfs, but I am seeing the problem.
"State change failed: (-12) Device is held open by someone"
 In my case the problem is intermittent. Most failovers are 

successful, but every so often the "device is held open" error occurs. 

Then the heartbeat will reboot the active machine when this 

problem occurs and proceed with the failover to the standby. Everything 

works fine after the reboot; the machine comes back up in secondary 

state as expected. However, I'd like to fix the problem and thus prevent 

the reboot from occurring. 

I am able to reproduce the problem in an 
environment where the machine 
does not reboot (it stays in the "device is 
held open" state). At this 
point I execute commands "lsof", "fuser -mv", 
"ps", and look at 
/proc/mounts, but I cannot figure out who is holding open 
the drbd 
device. I am running LVM on top of DRBD. It looks to me like my 

application has been shut down cleanly, files have been unmounted, and 

the LVM volume group has been deactivated. 

I looked at the DRBD 
source code in an attempt to understand how it 
determines that the device is 
held open. It looks like it is based on an 
internal count of open devices. 

Any tips or suggestions would be greatly appreciated on how to further 

debug the problem. 

I am running DRBD version 8.0.11 and heartbeat 
version 2.1.3. 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20100202/ca50dc7d/attachment.htm>

More information about the drbd-user mailing list