summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/geom/part/g_part.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c
index b183e14..dd4d1a8b4 100644
--- a/sys/geom/part/g_part.c
+++ b/sys/geom/part/g_part.c
@@ -2113,9 +2113,12 @@ g_part_start(struct bio *bp)
/*
* Check that the partition is suitable for kernel
* dumps. Typically only swap partitions should be
- * used.
+ * used. If the request comes from the nested scheme
+ * we allow dumping there as well.
*/
- if (!G_PART_DUMPTO(table, entry)) {
+ if ((bp->bio_from == NULL ||
+ bp->bio_from->geom->class != &g_part_class) &&
+ G_PART_DUMPTO(table, entry) == 0) {
g_io_deliver(bp, ENODEV);
printf("GEOM_PART: Partition '%s' not suitable"
" for kernel dumps (wrong type?)\n",
OpenPOWER on IntegriCloud