summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_disk.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-09-29 07:44:23 +0000
committerphk <phk@FreeBSD.org>2003-09-29 07:44:23 +0000
commit9e3e052c167f43bc18eb06f9a36fe8e286f9991b (patch)
tree177229fc7cbcf834fc02d800b2bd8c6b9f15aebf /sys/geom/geom_disk.c
parent6ed7cb093017cd1ad878d4463d1fd91ec771fcfb (diff)
downloadFreeBSD-src-9e3e052c167f43bc18eb06f9a36fe8e286f9991b.zip
FreeBSD-src-9e3e052c167f43bc18eb06f9a36fe8e286f9991b.tar.gz
Return ENODEV in case the driver has no dump routine.
Diffstat (limited to 'sys/geom/geom_disk.c')
-rw-r--r--sys/geom/geom_disk.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/geom_disk.c b/sys/geom/geom_disk.c
index 11f6b46..8bb9850 100644
--- a/sys/geom/geom_disk.c
+++ b/sys/geom/geom_disk.c
@@ -159,6 +159,10 @@ g_disk_kerneldump(struct bio *bp, struct disk *dp)
gp = bp->bio_to->geom;
g_trace(G_T_TOPOLOGY, "g_disk_kernedump(%s, %jd, %jd)",
gp->name, (intmax_t)gkd->offset, (intmax_t)gkd->length);
+ if (dp->d_dump == NULL) {
+ g_io_deliver(bp, ENODEV);
+ return;
+ }
di.dumper = dp->d_dump;
di.priv = dp;
di.blocksize = dp->d_sectorsize;
OpenPOWER on IntegriCloud