[dm-devel] DM suspend locks up under load?
David Shaw
dshaw at JABBERWOCKY.COM
Wed Jan 4 23:04:55 UTC 2012
Hi,
I'm using some code that creates a snapshot using DM directly (we aren't using LVM), using essentially:
suspend linear device X
reload X as a "snapshot-origin" device
create "snapshot" device
resume original X device (which is now a snapshot-origin)
This has worked fine for several years. Recently, however, we updated to a more recent system, and ext4, and are seeing something odd. Under load, the process above freezes at the first suspend step, and locks up the device in question, requiring a reboot to fix things.
I wrote the attached program to demonstrate the problem. All it does it call DM_DEVICE_SUSPEND and DM_DEVICE_RESUME over and over on a DM device. Basically, run the test program on any mounted linear DM target in one shell, then delete a lot of data from a directory residing on that device in another shell. On my systems this will freeze both the test program and the rm in D state, and require a reboot to fix things.
I've tried multiple different kernels, but at the moment, I'm using kernel-PAE-2.6.35.6-45.fc14.i686 and device-mapper-libs-1.02.63-2.fc14.i686.
One clue I can add is that it only seems to happen if the filesystem on the device is ext4. It does not happen with ext3.
Any ideas on where I should look next?
Thanks,
David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: suspendtest.c
Type: application/octet-stream
Size: 883 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20120104/80792e2a/attachment.obj>
More information about the dm-devel
mailing list