History log of /dragonfly/share/man/man4/dm_target_flakey.4 (Results 1 – 3 of 3)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# b0a9540a 17-Nov-2019 Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

sys/dev/disk/dm: Change email address (sync with autofs/FUSE and others)


Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc
# ca8d6047 22-Nov-2016 Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

sys/dev/disk/dm: Sync with Linux changes in flakey read behavior

Synw with the following Linux kernel commits.
99f3c90d0d85708e7401a81ce3314e50bf7f2819
299f6230bc6d0ccd5f95bb0fb865d80a9c7d5ccc

Note

sys/dev/disk/dm: Sync with Linux changes in flakey read behavior

Synw with the following Linux kernel commits.
99f3c90d0d85708e7401a81ce3314e50bf7f2819
299f6230bc6d0ccd5f95bb0fb865d80a9c7d5ccc

Note that above commits and this commit change read behavior.
It seems the existing read behavior was not what dm-flakey was
originally designed to be.

DragonFly's dm-flakey basically just does what Linux dm-flakey
does, so this commit just syncs with above changes.

show more ...


Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc
# b9790952 15-Nov-2015 Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

sys/dev/disk/dm: Add dm-flakey target

This commit adds a new dm target dm-flakey.

This target simulates failing devices for testing purposes.
See dm_target_flakey(4) for details.

Note that using t

sys/dev/disk/dm: Add dm-flakey target

This commit adds a new dm target dm-flakey.

This target simulates failing devices for testing purposes.
See dm_target_flakey(4) for details.

Note that using this dm target may results in some unstable
status including kernel panic. For example hammer is likely
to cause kernel panic by write data corruption by dm-flakey.
Don't use this target over any block device in production.

===== Example1 - Error write I/Os
# kldload dm_target_flakey
# dmsetup create flakey1 --table "0 234436482 flakey ${DEV} 0 1 1"
# newfs_hammer -L TEST /dev/mapper/flakey1
Volume 0 DEVICE /dev/mapper/flakey1 size 111.79GB
initialize freemap volume 0
initializing the undo map (504 MB)
newfs_hammer: Write volume 0 (/dev/mapper/flakey1): Input/output error
# dmsetup remove /dev/mapper/flakey1

===== Example2 - Silently drop write I/Os
# newfs_hammer -L TEST ${DEV} > /dev/null
# mount_hammer ${DEV} /HAMMER
# cd /HAMMER
# git clone /usr/local/src/dragonfly
Cloning into 'dragonfly'...
done.
Checking out files: 100% (34434/34434), done.
# cd
# umount /HAMMER
# dmsetup create flakey2 --table "0 234436482 flakey ${DEV} 0 1 1 1 drop_writes"
# mount_hammer /dev/mapper/flakey2 /HAMMER
# dmesg | tail -3
HAMMER() Critical error inode=-1 error=5 while flushing meta-data
HAMMER() Forcing read-only mode
HAMMER(TEST) mounted clean, no recovery needed
# hammer volume-list /HAMMER
/dev/mapper/flakey2
# mount | grep "/HAMMER"
TEST on /HAMMER (hammer, local, read-only)
# cd /HAMMER/dragonfly
# git log -p > /dev/null; echo $?
0
# cd
# umount /HAMMER
# dmsetup remove /dev/mapper/flakey2

===== Example3 - Corrupt read I/Os
# dd if=/dev/zero of=${DEV} bs=1024 count=10000 >/dev/null 2>&1
# dmsetup create flakey3 --table "0 234436482 flakey ${DEV} 0 1 1 5 corrupt_bio_byte 1 r 65 0"
# od -tx1 /dev/mapper/flakey3 | head -10
0000000 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0010000 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0020000 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0030000 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# dmsetup remove /dev/mapper/flakey3
# kldunload dm_target_flakey

show more ...