From 193cd3ea22de4b43e97325e9341ff0274ec26546 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Fri, 20 Mar 2020 04:36:23 +0000 Subject: [PATCH] Hack: Preserve dk_dump ABI for netbsd-9. Call the new symbol dk_dump_flags, but #define dk_dump dk_dump_flags except if _DKSUBR_PRIVATE is defined so that the change is localized to dkvar.h/dksubr.c. --- sys/dev/dksubr.c | 12 +++++++++++- sys/dev/dkvar.h | 6 ++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/sys/dev/dksubr.c b/sys/dev/dksubr.c index 8d354a019d82..114b111387e1 100644 --- a/sys/dev/dksubr.c +++ b/sys/dev/dksubr.c @@ -32,6 +32,8 @@ #include __KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.109 2019/06/28 14:56:46 jmcneill Exp $"); +#define _DKSUBR_PRIVATE + #include #include #include @@ -758,9 +760,17 @@ dk_ioctl(struct dk_softc *dksc, dev_t dev, #define DKFF_READYFORDUMP(x) (((x) & DKF_READYFORDUMP) == DKF_READYFORDUMP) static volatile int dk_dumping = 0; -/* ARGSUSED */ int dk_dump(struct dk_softc *dksc, dev_t dev, + daddr_t blkno, void *vav, size_t size) +{ + + return dk_dump_flags(dksc, dev, blkno, vav, size, 0); +} + +/* ARGSUSED */ +int +dk_dump_flags(struct dk_softc *dksc, dev_t dev, daddr_t blkno, void *vav, size_t size, int flags) { const struct dkdriver *dkd = dksc->sc_dkdev.dk_driver; diff --git a/sys/dev/dkvar.h b/sys/dev/dkvar.h index 84e8a8eae391..d8a9d8436068 100644 --- a/sys/dev/dkvar.h +++ b/sys/dev/dkvar.h @@ -108,10 +108,16 @@ int dk_size(struct dk_softc *, dev_t); int dk_ioctl(struct dk_softc *, dev_t, u_long, void *, int, struct lwp *); int dk_dump(struct dk_softc *, dev_t, + daddr_t, void *, size_t); +int dk_dump_flags(struct dk_softc *, dev_t, daddr_t, void *, size_t, int); void dk_getdisklabel(struct dk_softc *, dev_t); void dk_getdefaultlabel(struct dk_softc *, struct disklabel *); int dk_lookup(struct pathbuf *, struct lwp *, struct vnode **); +#ifndef _DKSUBR_PRIVATE +#define dk_dump dk_dump_flags +#endif + #endif /* ! _DEV_DKVAR_H_ */