summaryrefslogtreecommitdiff
path: root/sys/dev/dm/dm_target_linear.c
diff options
context:
space:
mode:
authortkusumi <tkusumi@NetBSD.org>2019-12-12 16:28:24 +0000
committertkusumi <tkusumi@NetBSD.org>2019-12-12 16:28:24 +0000
commitf4d889641c2e4ce572c3d1bf01581cc30cb8e537 (patch)
tree39c606b7b983b7019d1488f700e2382b023f2fad /sys/dev/dm/dm_target_linear.c
parent1a169b36b03c3b7135058de274a8a107e2e98b83 (diff)
dm: Make target's ->init() take parsed argc and argv
This gets rid of the same parser code in each target using strsep(3). taken-from: DragonFlyBSD
Diffstat (limited to 'sys/dev/dm/dm_target_linear.c')
-rw-r--r--sys/dev/dm/dm_target_linear.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/sys/dev/dm/dm_target_linear.c b/sys/dev/dm/dm_target_linear.c
index 4b496a2980e..ce0beca8209 100644
--- a/sys/dev/dm/dm_target_linear.c
+++ b/sys/dev/dm/dm_target_linear.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dm_target_linear.c,v 1.26 2019/12/09 16:06:19 tkusumi Exp $ */
+/* $NetBSD: dm_target_linear.c,v 1.27 2019/12/12 16:28:24 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_linear.c,v 1.26 2019/12/09 16:06:19 tkusumi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dm_target_linear.c,v 1.27 2019/12/12 16:28:24 tkusumi Exp $");
/*
* This file implements initial version of device-mapper dklinear target.
@@ -55,25 +55,17 @@ __KERNEL_RCSID(0, "$NetBSD: dm_target_linear.c,v 1.26 2019/12/09 16:06:19 tkusum
* @argv[1] is physical data offset.
*/
int
-dm_target_linear_init(dm_table_entry_t *table_en, char *params)
+dm_target_linear_init(dm_table_entry_t *table_en, int argc, char **argv)
{
dm_target_linear_config_t *tlc;
dm_pdev_t *dmp;
- char **ap, *argv[3];
-
- if (params == NULL)
- return EINVAL;
-
/*
- * Parse a string, containing tokens delimited by white space,
- * into an argument vector
- */
- for (ap = argv; ap < &argv[2] &&
- (*ap = strsep(&params, " \t")) != NULL;) {
- if (**ap != '\0')
- ap++;
+ if (argc != 2) {
+ printf("Linear target takes 2 args\n");
+ return EINVAL;
}
+ */
aprint_debug("Linear target init function called %s--%s!!\n",
argv[0], argv[1]);