Phillip Susi wrote: > $ sudo dmsetup create foo > 0 1 zero > 1 1 error > $ sudo dd if=/dev/mapper/foo bs=512 count=1 > dd: reading `/dev/mapper/foo': Input/output error > 0+0 records in > 0+0 records out > 0 bytes (0 B) copied, 0.000715356 seconds, 0.0 kB/s > > Why can't you read the first sector mapped to the zero target without > getting an error? It doesn't seem to matter where the error target is > in the table, or how big the virtual device is; any attempt to read > anywhere returns an error if there are any sectors mapped to the error > target. try dd iflag=direct if=/dev/mapper/foo bs=512 count=1 and dd iflag=direct if=/dev/mapper/foo bs=512 count=1 skip=1 it seems that someone optimize the request, direct io does what you want. in fact, dm receives bio requesting 1024 bytes, not 512. (optimizing it to page size, but here it is limited by device size). assuming that your arch has 4kb pages, try to setup device with 0 8 zero 8 8 error and try again... Milan -- mbroz@xxxxxxxxxx -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel