[dm-devel] How do you force-close a dm device after a disk failure?

Adam Nielsen a.nielsen at shikadi.net
Wed Sep 16 00:58:57 UTC 2015


> > dmsetup reload backup --table "0 11720531968 error"

This one returns without error.

> > dmsetup suspend --noflush backup
> 
> or even better use   --noflush  --nolockfs
> (if there was a mounted filesystem)

This one does not return to the command prompt.  Running it through
strace shows this:

$ strace dmsetup suspend --noflush --nolockfs backup
...
munmap(0x7f9cdea45000, 4096)            = 0
ioctl(3, DM_VERSION, 0x5644ae2ca0d0)    = 0
ioctl(3, DM_DEV_SUSPEND

It always seems to freeze at DM_DEV_SUSPEND.  This ioctl never seems to
return.

> > dmsetup resume backup

Running this anyway also freezes:

$ strace dmsetup resume backup
...
close(4)                                = 0
semop(720903, {{0, 1, 0}}, 1)           = 0
semctl(720903, 0, GETVAL, 0x7fa5b3c28957) = 2
ioctl(3, DM_DEV_SUSPEND

> > Is this working for you ?

Looks like it's a kernel problem with DM_DEV_SUSPEND getting stuck
waiting for something?  There are no messages in dmesg after running
the above commands, not even any 'hung task' warnings.

Thanks,
Adam.




More information about the dm-devel mailing list