Module Name: src Committed By: tkusumi Date: Sun Dec 8 14:59:42 UTC 2019
Modified Files: src/sys/dev/dm: dm.h dm_target_error.c dm_target_mirror.c dm_target_snapshot.c dm_target_zero.c Log Message: dm: Add dummy target ->sync()/->secsize() to prevent panic on modload(8) dm_target_insert() has assertions to ensure targets implement all handlers. Adding dummy ones at least prevents panic on modload(8). To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/sys/dev/dm/dm.h cvs rdiff -u -r1.17 -r1.18 src/sys/dev/dm/dm_target_error.c cvs rdiff -u -r1.16 -r1.17 src/sys/dev/dm/dm_target_mirror.c cvs rdiff -u -r1.28 -r1.29 src/sys/dev/dm/dm_target_snapshot.c cvs rdiff -u -r1.19 -r1.20 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.37 src/sys/dev/dm/dm.h:1.38 --- src/sys/dev/dm/dm.h:1.37 Sun Dec 8 10:50:21 2019 +++ src/sys/dev/dm/dm.h Sun Dec 8 14:59:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm.h,v 1.37 2019/12/08 10:50:21 tkusumi Exp $ */ +/* $NetBSD: dm.h,v 1.38 2019/12/08 14:59:42 tkusumi Exp $ */ /* * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -293,6 +293,13 @@ int dm_pdev_destroy(void); int dm_pdev_init(void); dm_pdev_t* dm_pdev_insert(const char *); +/* XXX dummy */ +static __inline int +dm_target_dummy_secsize(dm_table_entry_t *table_en, unsigned *secsizep) +{ + return 0; +} + #endif /*_KERNEL*/ #endif /*_DM_DEV_H_*/ Index: src/sys/dev/dm/dm_target_error.c diff -u src/sys/dev/dm/dm_target_error.c:1.17 src/sys/dev/dm/dm_target_error.c:1.18 --- src/sys/dev/dm/dm_target_error.c:1.17 Sun Dec 8 04:41:02 2019 +++ src/sys/dev/dm/dm_target_error.c Sun Dec 8 14:59:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target_error.c,v 1.17 2019/12/08 04:41:02 tkusumi Exp $ */ +/* $NetBSD: dm_target_error.c,v 1.18 2019/12/08 14:59:42 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.17 2019/12/08 04:41:02 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_error.c,v 1.18 2019/12/08 14:59:42 tkusumi Exp $"); /* * This file implements initial version of device-mapper error target. @@ -88,6 +88,7 @@ dm_target_error_modcmd(modcmd_t cmd, voi dmt->deps = &dm_target_error_deps; dmt->destroy = &dm_target_error_destroy; dmt->upcall = &dm_target_error_upcall; + dmt->secsize = dm_target_dummy_secsize; r = dm_target_insert(dmt); Index: src/sys/dev/dm/dm_target_mirror.c diff -u src/sys/dev/dm/dm_target_mirror.c:1.16 src/sys/dev/dm/dm_target_mirror.c:1.17 --- src/sys/dev/dm/dm_target_mirror.c:1.16 Sun Dec 8 10:50:21 2019 +++ src/sys/dev/dm/dm_target_mirror.c Sun Dec 8 14:59:42 2019 @@ -1,4 +1,4 @@ -/*$NetBSD: dm_target_mirror.c,v 1.16 2019/12/08 10:50:21 tkusumi Exp $*/ +/*$NetBSD: dm_target_mirror.c,v 1.17 2019/12/08 14:59:42 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.16 2019/12/08 10:50:21 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_mirror.c,v 1.17 2019/12/08 14:59:42 tkusumi Exp $"); /* * This file implements initial version of device-mapper mirror target. @@ -100,6 +100,7 @@ dm_target_mirror_modcmd(modcmd_t cmd, vo dmt->deps = &dm_target_mirror_deps; dmt->destroy = &dm_target_mirror_destroy; dmt->upcall = &dm_target_mirror_upcall; + dmt->secsize = dm_target_dummy_secsize; r = dm_target_insert(dmt); Index: src/sys/dev/dm/dm_target_snapshot.c diff -u src/sys/dev/dm/dm_target_snapshot.c:1.28 src/sys/dev/dm/dm_target_snapshot.c:1.29 --- src/sys/dev/dm/dm_target_snapshot.c:1.28 Sun Dec 8 10:50:21 2019 +++ src/sys/dev/dm/dm_target_snapshot.c Sun Dec 8 14:59:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target_snapshot.c,v 1.28 2019/12/08 10:50:21 tkusumi Exp $ */ +/* $NetBSD: dm_target_snapshot.c,v 1.29 2019/12/08 14:59:42 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.28 2019/12/08 10:50:21 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_snapshot.c,v 1.29 2019/12/08 14:59:42 tkusumi Exp $"); /* * 1. Suspend my_data to temporarily stop any I/O while the snapshot is being @@ -90,6 +90,7 @@ __KERNEL_RCSID(0, "$NetBSD: dm_target_sn 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_sync(dm_table_entry_t *); int dm_target_snapshot_deps(dm_table_entry_t *, prop_array_t); int dm_target_snapshot_destroy(dm_table_entry_t *); int dm_target_snapshot_upcall(dm_table_entry_t *, struct buf *); @@ -158,9 +159,11 @@ dm_target_snapshot_modcmd(modcmd_t cmd, dmt->init = &dm_target_snapshot_init; dmt->status = &dm_target_snapshot_status; dmt->strategy = &dm_target_snapshot_strategy; + dmt->sync = &dm_target_snapshot_sync; dmt->deps = &dm_target_snapshot_deps; dmt->destroy = &dm_target_snapshot_destroy; dmt->upcall = &dm_target_snapshot_upcall; + dmt->secsize = dm_target_dummy_secsize; r = dm_target_insert(dmt); @@ -174,6 +177,7 @@ dm_target_snapshot_modcmd(modcmd_t cmd, dmt1->deps = &dm_target_snapshot_orig_deps; dmt1->destroy = &dm_target_snapshot_orig_destroy; dmt1->upcall = &dm_target_snapshot_orig_upcall; + dmt1->secsize = dm_target_dummy_secsize; r = dm_target_insert(dmt1); break; @@ -319,6 +323,13 @@ dm_target_snapshot_strategy(dm_table_ent return 0; } +/* XXX dummy */ +int +dm_target_snapshot_sync(dm_table_entry_t *table_en) +{ + return 0; +} + /* Doesn't do anything here. */ int dm_target_snapshot_destroy(dm_table_entry_t *table_en) Index: src/sys/dev/dm/dm_target_zero.c diff -u src/sys/dev/dm/dm_target_zero.c:1.19 src/sys/dev/dm/dm_target_zero.c:1.20 --- src/sys/dev/dm/dm_target_zero.c:1.19 Sun Dec 8 04:41:02 2019 +++ src/sys/dev/dm/dm_target_zero.c Sun Dec 8 14:59:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target_zero.c,v 1.19 2019/12/08 04:41:02 tkusumi Exp $ */ +/* $NetBSD: dm_target_zero.c,v 1.20 2019/12/08 14:59:42 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.19 2019/12/08 04:41:02 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target_zero.c,v 1.20 2019/12/08 14:59:42 tkusumi Exp $"); /* * This file implements initial version of device-mapper zero target. @@ -88,6 +88,7 @@ dm_target_zero_modcmd(modcmd_t cmd, void dmt->deps = &dm_target_zero_deps; dmt->destroy = &dm_target_zero_destroy; dmt->upcall = &dm_target_zero_upcall; + dmt->secsize = dm_target_dummy_secsize; r = dm_target_insert(dmt); break;