Module Name: src
Committed By: kre
Date: Sat Apr 29 23:30:18 UTC 2023
Modified Files:
src/sys/kern: vfs_subr.c
src/sys/sys: sdt.h
Log Message:
Fix builds (hopefully) when DTRACE hooks are not included.
To generate a diff of this commit:
cvs rdiff -u -r1.498 -r1.499 src/sys/kern/vfs_subr.c
cvs rdiff -u -r1.15 -r1.16 src/sys/sys/sdt.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/vfs_subr.c
diff -u src/sys/kern/vfs_subr.c:1.498 src/sys/kern/vfs_subr.c:1.499
--- src/sys/kern/vfs_subr.c:1.498 Sat Apr 29 10:07:30 2023
+++ src/sys/kern/vfs_subr.c Sat Apr 29 23:30:18 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_subr.c,v 1.498 2023/04/29 10:07:30 riastradh Exp $ */
+/* $NetBSD: vfs_subr.c,v 1.499 2023/04/29 23:30:18 kre Exp $ */
/*-
* Copyright (c) 1997, 1998, 2004, 2005, 2007, 2008, 2019, 2020
@@ -69,7 +69,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.498 2023/04/29 10:07:30 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.499 2023/04/29 23:30:18 kre Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_43.h"
@@ -714,7 +714,7 @@ vn_syncer_add1(struct vnode *vp, int del
void
vn_syncer_add_to_worklist(struct vnode *vp, int delayx)
{
- vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
+ SDT_VAR_DECL(vnode_impl_t *vip = VNODE_TO_VIMPL(vp));
KASSERT(mutex_owned(vp->v_interlock));
@@ -840,9 +840,10 @@ sched_sync(void *arg)
struct vnode *vp;
struct mount *mp;
time_t starttime, endtime;
- int vdelay, oslot, nslot, delayx;
+ int vdelay, nslot, delayx;
+ SDT_VAR_DECL(int oslot);
bool synced;
- int error;
+ SDT_VAR_DECL(int error);
for (;;) {
starttime = time_second;
@@ -861,14 +862,21 @@ sched_sync(void *arg)
}
vdelay = sync_delay(mp);
+#ifdef KDTRACE_HOOKS
oslot = mp->mnt_synclist_slot;
+#endif
nslot = sync_delay_slot(vdelay);
mp->mnt_synclist_slot = nslot;
SDT_PROBE4(vfs, syncer, worklist, mount__update,
mp, vdelay, oslot, nslot);
SDT_PROBE1(vfs, syncer, sync, mount__start, mp);
- error = VFS_SYNC(mp, MNT_LAZY, curlwp->l_cred);
+#ifdef KDTRACE_HOOKS
+ error =
+#else
+ (void)
+#endif
+ VFS_SYNC(mp, MNT_LAZY, curlwp->l_cred);
SDT_PROBE2(vfs, syncer, sync, mount__done,
mp, error);
}
@@ -918,7 +926,9 @@ sched_sync(void *arg)
* into the future.
*/
delayx = synced ? syncdelay : lockdelay;
+#ifdef KDTRACE_HOOKS
oslot = vi->vi_synclist_slot;
+#endif
vn_syncer_add1(vp, delayx);
nslot = vi->vi_synclist_slot;
SDT_PROBE4(vfs, syncer, worklist,
Index: src/sys/sys/sdt.h
diff -u src/sys/sys/sdt.h:1.15 src/sys/sys/sdt.h:1.16
--- src/sys/sys/sdt.h:1.15 Sat Oct 29 14:00:12 2022
+++ src/sys/sys/sdt.h Sat Apr 29 23:30:18 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: sdt.h,v 1.15 2022/10/29 14:00:12 riastradh Exp $ */
+/* $NetBSD: sdt.h,v 1.16 2023/04/29 23:30:18 kre Exp $ */
/*-
* Copyright 2006-2008 John Birrell <[email protected]>
@@ -37,6 +37,9 @@
#define _DTRACE_VERSION 1
+#define SDT_PROVIDER_DEFINE(prov)
+#define SDT_PROVIDER_DECLARE(prov)
+
#define DTRACE_PROBE(prov, name) do { \
extern void __dtrace_##prov##___##name(void); \
__dtrace_##prov##___##name(); \
@@ -138,6 +141,8 @@
arg1, xarg1, arg2, xarg2, arg3, xarg3, arg4, xarg4, arg5, xarg5, arg6, \
xarg6)
+#define SDT_VAR_DECL(decl) __nothing
+
#define DTRACE_PROBE(name) __nothing
#define DTRACE_PROBE1(name, type0, arg0) __nothing
#define DTRACE_PROBE2(name, type0, arg0, type1, arg1) __nothing
@@ -334,6 +339,8 @@
(uintptr_t)arg6); \
} while (0)
+#define SDT_VAR_DECL(decl) decl ;
+
#define DTRACE_PROBE_IMPL_START(name, arg0, arg1, arg2, arg3, arg4) do { \
static SDT_PROBE_DEFINE(sdt, , , name); \
SDT_PROBE(sdt, , , name, arg0, arg1, arg2, arg3, arg4);