On Fri, Sep 07, 2018 at 02:03:37PM +0200, Lars Ellenberg wrote:
Very frequently it is *NOT* the "original user", that "still" holds it open, but udev, or something triggered-by-udev.
So double-checking the udev rules, or the "lvm global_filter" settings may help. You could instrument DRBD to log current->{pid,comm} on open and close, so you can better detect who the "someone" is in the message above.
Don't think there is anything else holding the device open, because it is possible to change state to Secondary a few seconds later. But I will try to print those values in case anything interesting comes up.
Adding a small retry loop in the script may help as well.
Yes, that is an option, but it would still leave those nasty "State change failed" messages in the log. I guess there is no way to check the value of DRBD device->open_cnt from userspace?