summaryrefslogtreecommitdiff
path: root/sys/dev/dm/dm_target.c
diff options
context:
space:
mode:
authortkusumi <tkusumi@NetBSD.org>2020-01-02 06:22:23 +0000
committertkusumi <tkusumi@NetBSD.org>2020-01-02 06:22:23 +0000
commitc65e487898ff2132cb4d8880fa10c715c6d8f93e (patch)
tree6e59873a429f2bb2c0cf606413a2786667d9f1a8 /sys/dev/dm/dm_target.c
parentb4d0e6a8fd5ceb116b591921a8589096d63e993b (diff)
dm: Add dm-flakey target
Ported from DragonFlyBSD, but this target had originally existed in Linux kernel. See below for details. https://www.kernel.org/doc/Documentation/device-mapper/dm-flakey.txt Due to two technical issues, this hasn't been hooked to dm.kmod yet. 1) "tick" in hz(9) not working. 2) Unable to use ->b_private in nestiobuf callback when it's already used for mbp (see HAS_BUF_PRIV2). taken-from: DragonFlyBSD
Diffstat (limited to 'sys/dev/dm/dm_target.c')
-rw-r--r--sys/dev/dm/dm_target.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/sys/dev/dm/dm_target.c b/sys/dev/dm/dm_target.c
index 7c63c391ce4..9a31b8c0d22 100644
--- a/sys/dev/dm/dm_target.c
+++ b/sys/dev/dm/dm_target.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dm_target.c,v 1.37 2019/12/23 16:17:35 tkusumi Exp $ */
+/* $NetBSD: dm_target.c,v 1.38 2020/01/02 06:22:23 tkusumi Exp $ */
/*
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.37 2019/12/23 16:17:35 tkusumi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.38 2020/01/02 06:22:23 tkusumi Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -358,6 +358,20 @@ dm_target_init(void)
dmt->upcall = &dm_target_zero_upcall;
if (dm_target_insert(dmt))
printf("Failed to insert zero\n");
-
+#if 0
+ dmt = dm_target_alloc("flakey");
+ dmt->version[0] = 1;
+ dmt->version[1] = 0;
+ dmt->version[2] = 0;
+ dmt->init = &dm_target_flakey_init;
+ dmt->table = &dm_target_flakey_table;
+ dmt->strategy = &dm_target_flakey_strategy;
+ dmt->sync = &dm_target_flakey_sync;
+ dmt->destroy = &dm_target_flakey_destroy;
+ dmt->upcall = &dm_target_flakey_upcall;
+ dmt->secsize = &dm_target_flakey_secsize;
+ if (dm_target_insert(dmt))
+ printf("Failed to insert flakey\n");
+#endif
return 0;
}