summaryrefslogtreecommitdiff
path: root/sys/miscfs
diff options
context:
space:
mode:
authorriastradh <riastradh@NetBSD.org>2022-10-15 15:20:46 +0000
committerriastradh <riastradh@NetBSD.org>2022-10-15 15:20:46 +0000
commitdf9d74346dfdc0b8b2f86d3a4556c92057913ef1 (patch)
treed1afe8efe61a2e264df733425510da5befd5dc1b /sys/miscfs
parentdcd878a9b0b02344ced179575552a82eca815ec5 (diff)
specfs(9): Attribute blame by stack trace for write to r/o medium.
Diffstat (limited to 'sys/miscfs')
-rw-r--r--sys/miscfs/specfs/spec_vnops.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c
index cbce90624e8..906f56b3cde 100644
--- a/sys/miscfs/specfs/spec_vnops.c
+++ b/sys/miscfs/specfs/spec_vnops.c
@@ -1,4 +1,4 @@
-/* $NetBSD: spec_vnops.c,v 1.215 2022/09/21 10:59:10 riastradh Exp $ */
+/* $NetBSD: spec_vnops.c,v 1.216 2022/10/15 15:20:46 riastradh Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -58,7 +58,11 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: spec_vnops.c,v 1.215 2022/09/21 10:59:10 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: spec_vnops.c,v 1.216 2022/10/15 15:20:46 riastradh Exp $");
+
+#ifdef _KERNEL_OPT
+#include "opt_ddb.h"
+#endif
#include <sys/param.h>
#include <sys/proc.h>
@@ -86,6 +90,10 @@ __KERNEL_RCSID(0, "$NetBSD: spec_vnops.c,v 1.215 2022/09/21 10:59:10 riastradh E
#include <miscfs/genfs/genfs.h>
#include <miscfs/specfs/specdev.h>
+#ifdef DDB
+#include <ddb/ddb.h>
+#endif
+
/*
* Lock order:
*
@@ -1485,6 +1493,9 @@ spec_strategy(void *v)
if (mp && (mp->mnt_flag & MNT_RDONLY)) {
printf("%s blk %"PRId64" written while ro!\n",
mp->mnt_stat.f_mntonname, bp->b_blkno);
+#ifdef DDB
+ db_stacktrace();
+#endif
}
}
#endif /* DIAGNOSTIC */