I am trying to create a dmsetup snapshot device be able to rollback changes made by fsck.
I think I'm calling dmsetup incorrectly. Here's an example:
$ truncate -s 4096 real snapshot
$ losetup --show -f real
/dev/loop0
$ losetup --show -f snapshot
/dev/loop1
$ sudo dmsetup -v create snapdev --table '0 8 snapshot /dev/loop0 /dev/loop1 P 1'
device-mapper: reload ioctl on snapdev failed: Input/output error
Command failed
The two spaces after snapdev in the error message are slightly weird.
However, if I change the P for persistent to N for non-persistent, everything is ok:
$ sudo dmsetup -v create snapdev --table '0 8 snapshot /dev/loop0 /dev/loop1 N 1'
Name: snapdev
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 0
Event number: 0
Major, minor: 254, 4
Number of targets: 1
What am I doing wrong?