Module Name: src Committed By: tkusumi Date: Sun Dec 8 04:41:02 UTC 2019
Modified Files: src/sys/dev/dm: dm.h dm_ioctl.c dm_target_error.c dm_target_linear.c dm_target_mirror.c dm_target_snapshot.c dm_target_stripe.c dm_target_zero.c Log Message: dm: Refactor target's ->init() i/f Take dm_table_entry_t* instead of void**. Remove dm_dev_t* unneeded by target code. No functional change, but for future changes. taken-from: DragonFlyBSD To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/sys/dev/dm/dm.h cvs rdiff -u -r1.39 -r1.40 src/sys/dev/dm/dm_ioctl.c cvs rdiff -u -r1.16 -r1.17 src/sys/dev/dm/dm_target_error.c cvs rdiff -u -r1.24 -r1.25 src/sys/dev/dm/dm_target_linear.c cvs rdiff -u -r1.14 -r1.15 src/sys/dev/dm/dm_target_mirror.c cvs rdiff -u -r1.25 -r1.26 src/sys/dev/dm/dm_target_snapshot.c cvs rdiff -u -r1.30 -r1.31 src/sys/dev/dm/dm_target_stripe.c cvs rdiff -u -r1.18 -r1.19 src/sys/dev/dm/dm_target_zero.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/dm/dm.h diff -u src/sys/dev/dm/dm.h:1.34 src/sys/dev/dm/dm.h:1.35 --- src/sys/dev/dm/dm.h:1.34 Sat Dec 7 15:28:39 2019 +++ src/sys/dev/dm/dm.h Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm.h,v 1.34 2019/12/07 15:28:39 tkusumi Exp $ */ +/* $NetBSD: dm.h,v 1.35 2019/12/08 04:41:02 tkusumi Exp $ */ /* * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -213,7 +213,7 @@ typedef struct target_snapshot_origin_co typedef struct dm_target { char name[DM_MAX_TYPE_NAME]; /* Initialize target_config area */ - int (*init)(dm_dev_t *, void **, char *); + int (*init)(dm_table_entry_t *, char *); /* Destroy target_config area */ int (*destroy)(dm_table_entry_t *); @@ -275,7 +275,7 @@ int dm_target_init(void); #define DM_MAX_PARAMS_SIZE 1024 /* dm_target_linear.c */ -int dm_target_linear_init(dm_dev_t *, void**, char *); +int dm_target_linear_init(dm_table_entry_t *, char *); char *dm_target_linear_status(void *); int dm_target_linear_strategy(dm_table_entry_t *, struct buf *); int dm_target_linear_sync(dm_table_entry_t *); @@ -288,7 +288,7 @@ int dm_target_linear_secsize(dm_table_en uint64_t atoi(const char *); /* dm_target_stripe.c */ -int dm_target_stripe_init(dm_dev_t *, void**, char *); +int dm_target_stripe_init(dm_table_entry_t *, char *); char *dm_target_stripe_status(void *); int dm_target_stripe_strategy(dm_table_entry_t *, struct buf *); int dm_target_stripe_sync(dm_table_entry_t *); Index: src/sys/dev/dm/dm_ioctl.c diff -u src/sys/dev/dm/dm_ioctl.c:1.39 src/sys/dev/dm/dm_ioctl.c:1.40 --- src/sys/dev/dm/dm_ioctl.c:1.39 Fri Dec 6 16:33:47 2019 +++ src/sys/dev/dm/dm_ioctl.c Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_ioctl.c,v 1.39 2019/12/06 16:33:47 tkusumi Exp $ */ +/* $NetBSD: dm_ioctl.c,v 1.40 2019/12/08 04:41:02 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_ioctl.c,v 1.39 2019/12/06 16:33:47 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_ioctl.c,v 1.40 2019/12/08 04:41:02 tkusumi Exp $"); /* * Locking is used to synchronise between ioctl calls and between dm_table's @@ -780,8 +780,7 @@ dm_table_load_ioctl(prop_dictionary_t dm * routine and parse parameters there. */ - if ((ret = target->init(dmv, &table_en->target_config, - str)) != 0) { + if ((ret = target->init(table_en, str)) != 0) { dm_table_release(&dmv->table_head, DM_TABLE_INACTIVE); dm_table_destroy(&dmv->table_head, DM_TABLE_INACTIVE); free(str, M_TEMP); Index: src/sys/dev/dm/dm_target_error.c diff -u src/sys/dev/dm/dm_target_error.c:1.16 src/sys/dev/dm/dm_target_error.c:1.17 --- src/sys/dev/dm/dm_target_error.c:1.16 Sat Dec 7 15:28:39 2019 +++ src/sys/dev/dm/dm_target_error.c Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target_error.c,v 1.16 2019/12/07 15:28:39 tkusumi Exp $ */ +/* $NetBSD: dm_target_error.c,v 1.17 2019/12/08 04:41:02 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_error.c,v 1.16 2019/12/07 15:28:39 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_error.c,v 1.17 2019/12/08 04:41:02 tkusumi Exp $"); /* * This file implements initial version of device-mapper error target. @@ -42,7 +42,7 @@ __KERNEL_RCSID(0, "$NetBSD: dm_target_er #include "dm.h" /* dm_target_error.c */ -int dm_target_error_init(dm_dev_t *, void**, char *); +int dm_target_error_init(dm_table_entry_t*, char *); char *dm_target_error_status(void *); int dm_target_error_strategy(dm_table_entry_t *, struct buf *); int dm_target_error_sync(dm_table_entry_t *); @@ -110,12 +110,12 @@ dm_target_error_modcmd(modcmd_t cmd, voi /* Init function called from dm_table_load_ioctl. */ int -dm_target_error_init(dm_dev_t *dmv, void **target_config, char *argv) +dm_target_error_init(dm_table_entry_t *table_en, char *params) { printf("Error target init function called!!\n"); - *target_config = NULL; + table_en->target_config = NULL; return 0; } Index: src/sys/dev/dm/dm_target_linear.c diff -u src/sys/dev/dm/dm_target_linear.c:1.24 src/sys/dev/dm/dm_target_linear.c:1.25 --- src/sys/dev/dm/dm_target_linear.c:1.24 Sat Dec 7 15:28:39 2019 +++ src/sys/dev/dm/dm_target_linear.c Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target_linear.c,v 1.24 2019/12/07 15:28:39 tkusumi Exp $ */ +/* $NetBSD: dm_target_linear.c,v 1.25 2019/12/08 04:41:02 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.24 2019/12/07 15:28:39 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_linear.c,v 1.25 2019/12/08 04:41:02 tkusumi Exp $"); /* * This file implements initial version of device-mapper dklinear target. @@ -55,7 +55,7 @@ __KERNEL_RCSID(0, "$NetBSD: dm_target_li * @argv[1] is physical data offset. */ int -dm_target_linear_init(dm_dev_t *dmv, void **target_config, char *params) +dm_target_linear_init(dm_table_entry_t *table_en, char *params) { dm_target_linear_config_t *tlc; dm_pdev_t *dmp; @@ -86,7 +86,7 @@ dm_target_linear_init(dm_dev_t *dmv, voi tlc->pdev = dmp; tlc->offset = atoi(argv[1]); - *target_config = tlc; + table_en->target_config = tlc; return 0; } Index: src/sys/dev/dm/dm_target_mirror.c diff -u src/sys/dev/dm/dm_target_mirror.c:1.14 src/sys/dev/dm/dm_target_mirror.c:1.15 --- src/sys/dev/dm/dm_target_mirror.c:1.14 Sat Dec 7 15:28:39 2019 +++ src/sys/dev/dm/dm_target_mirror.c Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/*$NetBSD: dm_target_mirror.c,v 1.14 2019/12/07 15:28:39 tkusumi Exp $*/ +/*$NetBSD: dm_target_mirror.c,v 1.15 2019/12/08 04:41:02 tkusumi Exp $*/ /* * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dm_target_mirror.c,v 1.14 2019/12/07 15:28:39 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_mirror.c,v 1.15 2019/12/08 04:41:02 tkusumi Exp $"); /* * This file implements initial version of device-mapper mirror target. @@ -42,7 +42,7 @@ __KERNEL_RCSID(0, "$NetBSD: dm_target_mi #include "dm.h" /* dm_target_mirror.c */ -int dm_target_mirror_init(dm_dev_t *, void**, char *); +int dm_target_mirror_init(dm_table_entry_t *, char *); char *dm_target_mirror_status(void *); int dm_target_mirror_strategy(dm_table_entry_t *, struct buf *); int dm_target_mirror_sync(dm_table_entry_t *); @@ -114,12 +114,12 @@ dm_target_mirror_modcmd(modcmd_t cmd, vo * 0 52428800 mirror clustered_disk 4 253:2 1024 UUID block_on_error 3 253:3 0 253:4 0 253:5 0 */ int -dm_target_mirror_init(dm_dev_t *dmv, void **target_config, char *argv) +dm_target_mirror_init(dm_table_entry_t *table_en, char *params) { printf("Mirror target init function called!!\n"); - *target_config = NULL; + table_en->target_config = NULL; return ENOSYS; } Index: src/sys/dev/dm/dm_target_snapshot.c diff -u src/sys/dev/dm/dm_target_snapshot.c:1.25 src/sys/dev/dm/dm_target_snapshot.c:1.26 --- src/sys/dev/dm/dm_target_snapshot.c:1.25 Sat Dec 7 15:28:39 2019 +++ src/sys/dev/dm/dm_target_snapshot.c Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target_snapshot.c,v 1.25 2019/12/07 15:28:39 tkusumi Exp $ */ +/* $NetBSD: dm_target_snapshot.c,v 1.26 2019/12/08 04:41:02 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_snapshot.c,v 1.25 2019/12/07 15:28:39 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_snapshot.c,v 1.26 2019/12/08 04:41:02 tkusumi Exp $"); /* * 1. Suspend my_data to temporarily stop any I/O while the snapshot is being @@ -87,7 +87,7 @@ __KERNEL_RCSID(0, "$NetBSD: dm_target_sn #include "dm.h" /* dm_target_snapshot.c */ -int dm_target_snapshot_init(dm_dev_t *, void**, char *); +int dm_target_snapshot_init(dm_table_entry_t *, char *); char *dm_target_snapshot_status(void *); int dm_target_snapshot_strategy(dm_table_entry_t *, struct buf *); int dm_target_snapshot_deps(dm_table_entry_t *, prop_array_t); @@ -95,7 +95,7 @@ int dm_target_snapshot_destroy(dm_table_ int dm_target_snapshot_upcall(dm_table_entry_t *, struct buf *); /* dm snapshot origin driver */ -int dm_target_snapshot_orig_init(dm_dev_t *, void**, char *); +int dm_target_snapshot_orig_init(dm_table_entry_t *, char *); char *dm_target_snapshot_orig_status(void *); int dm_target_snapshot_orig_strategy(dm_table_entry_t *, struct buf *); int dm_target_snapshot_orig_sync(dm_table_entry_t *); @@ -192,7 +192,7 @@ dm_target_snapshot_modcmd(modcmd_t cmd, * snapshot_origin device, cow device, persistent flag, chunk size */ int -dm_target_snapshot_init(dm_dev_t *dmv, void **target_config, char *params) +dm_target_snapshot_init(dm_table_entry_t *table_en, char *params) { dm_target_snapshot_config_t *tsc; dm_pdev_t *dmp_snap, *dmp_cow; @@ -238,7 +238,7 @@ dm_target_snapshot_init(dm_dev_t *dmv, v tsc->tsc_snap_dev = dmp_snap; tsc->tsc_cow_dev = dmp_cow; - *target_config = tsc; + table_en->target_config = tsc; dmv->sec_size = dmp_snap->dmp_secsize; @@ -387,7 +387,7 @@ dm_target_snapshot_upcall(dm_table_entry * argv: /dev/mapper/my_data_real */ int -dm_target_snapshot_orig_init(dm_dev_t *dmv, void **target_config, char *params) +dm_target_snapshot_orig_init(dm_table_entry_t *table_en, char *params) { dm_target_snapshot_origin_config_t *tsoc; dm_pdev_t *dmp_real; @@ -405,7 +405,7 @@ dm_target_snapshot_orig_init(dm_dev_t *d tsoc = kmem_alloc(sizeof(dm_target_snapshot_origin_config_t), KM_SLEEP); tsoc->tsoc_real_dev = dmp_real; - *target_config = tsoc; + table_en->target_config = tsoc; return 0; } Index: src/sys/dev/dm/dm_target_stripe.c diff -u src/sys/dev/dm/dm_target_stripe.c:1.30 src/sys/dev/dm/dm_target_stripe.c:1.31 --- src/sys/dev/dm/dm_target_stripe.c:1.30 Sat Dec 7 15:28:39 2019 +++ src/sys/dev/dm/dm_target_stripe.c Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/*$NetBSD: dm_target_stripe.c,v 1.30 2019/12/07 15:28:39 tkusumi Exp $*/ +/*$NetBSD: dm_target_stripe.c,v 1.31 2019/12/08 04:41:02 tkusumi Exp $*/ /* * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dm_target_stripe.c,v 1.30 2019/12/07 15:28:39 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_stripe.c,v 1.31 2019/12/08 04:41:02 tkusumi Exp $"); /* * This file implements initial version of device-mapper stripe target. @@ -128,7 +128,7 @@ dm_target_stripe_fini(dm_target_stripe_c * 0 65536 striped 2 512 /dev/hda 0 /dev/hdb 0 */ int -dm_target_stripe_init(dm_dev_t *dmv, void **target_config, char *params) +dm_target_stripe_init(dm_table_entry_t *table_en, char *params) { dm_target_linear_config_t *tlc; dm_target_stripe_config_t *tsc; @@ -183,7 +183,7 @@ dm_target_stripe_init(dm_dev_t *dmv, voi TAILQ_INSERT_TAIL(&tsc->stripe_devs, tlc, entries); } - *target_config = tsc; + table_en->target_config = tsc; return 0; } Index: src/sys/dev/dm/dm_target_zero.c diff -u src/sys/dev/dm/dm_target_zero.c:1.18 src/sys/dev/dm/dm_target_zero.c:1.19 --- src/sys/dev/dm/dm_target_zero.c:1.18 Sat Dec 7 15:28:39 2019 +++ src/sys/dev/dm/dm_target_zero.c Sun Dec 8 04:41:02 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target_zero.c,v 1.18 2019/12/07 15:28:39 tkusumi Exp $ */ +/* $NetBSD: dm_target_zero.c,v 1.19 2019/12/08 04:41:02 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_zero.c,v 1.18 2019/12/07 15:28:39 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_zero.c,v 1.19 2019/12/08 04:41:02 tkusumi Exp $"); /* * This file implements initial version of device-mapper zero target. @@ -42,7 +42,7 @@ __KERNEL_RCSID(0, "$NetBSD: dm_target_ze #include "dm.h" /* dm_target_zero.c */ -int dm_target_zero_init(dm_dev_t *, void**, char *); +int dm_target_zero_init(dm_table_entry_t *, char *); char *dm_target_zero_status(void *); int dm_target_zero_strategy(dm_table_entry_t *, struct buf *); int dm_target_zero_sync(dm_table_entry_t *); @@ -113,12 +113,12 @@ dm_target_zero_modcmd(modcmd_t cmd, void * target specific config area. */ int -dm_target_zero_init(dm_dev_t *dmv, void **target_config, char *argv) +dm_target_zero_init(dm_table_entry_t *table_en, char *params) { printf("Zero target init function called!!\n"); - *target_config = NULL; + table_en->target_config = NULL; return 0; }