sys/dev/disk/dm: Don't implement "status" as a subset of "table" [1/2]
authorTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Mon, 19 Oct 2015 12:36:16 +0000 (21:36 +0900)
committerTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Mon, 19 Oct 2015 13:53:22 +0000 (22:53 +0900)
commitf134a703d59cab7791ead3eb7f5e77038dbae4dc
treec760216be98b303a3371eb7e61114de01fc1de21
parent348a405d996b26c56c34efba2d6a3196dfcbc14a
sys/dev/disk/dm: Don't implement "status" as a subset of "table" [1/2]

DragonFly's (and NetBSD's) dm implements "status" and "table"
of dmsetup(8) using the same handler dm_table_status_ioctl(),
and sees "status" as a subset of "table", however this is wrong.

Linux dm implements these two as different subcommands, so
the way these two are implemented in BSDs breaks compatibility
with Linux dm.

Actually it has never broke compatibility with Linux dm until
dm-delay target was added, because targets that were available
till then happened to have a blank "status" implementation,
which ended up being a subset of "table". This is not the case
with dm-delay target in Linux with different implmentation for
each, and this commit is to maintain the compatibility with Linux.
sys/dev/disk/dm/dm.h
sys/dev/disk/dm/dm_ioctl.c
sys/dev/disk/dm/targets/delay/dm_target_delay.c