Hello,<div><br></div><div>Someone please chime in if my method of simulating io-errors is too complicated and there is an easier way.<br><div><br></div><div>I&#39;ve been trying to simulate IO errors with drbd 8.4.1 by creating a device mapper with dmsetup. I create the device mapper from a 1GB LVM volume that was initialized with internal meta data and synced:</div>

<div><br></div><div>dmsetup create bad_disk &lt;&lt; EOF</div><div>0 1000 linear /dev/vg0/vol575 0</div><div>1000 1 error</div><div>1001 2096151 linear /dev/vg0/vol575 1001</div><div>EOF</div><div><br></div><div>I can now successfully start the drbd device backed by the bad_disk device mapper and it shows Connected and UpToDate. When I change its role to Primary, dmesg shows my IO error that I set at block 1000 and my custom local-io-error script is called successfully. The drbd device is also set to a disk state of Diskless.</div>

<div><br></div><div>It&#39;s at this moment that all other operations attempted on the device will hang. Somewhere during or shortly after the io-error handler something ties up the device and nothing I can do can free it... the first dmesg problem I can see is this:</div>

<div><br></div><div>INFO: task blkid:1945 blocked for more than 120 seconds.</div><div><br></div><div>It might not be drbd, LVM is involved and also my manually created device mapper on top of it. I wanted to throw this out there if anyone has tried the same thing and encountered the error or if I&#39;m doing something overtly wrong.</div>

<div><br></div><div>Thanks,</div><div><br></div><div>Chris</div><div><br></div><div><br></div></div>