From nobody Mon Jan 26 15:55:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4f0Cn411b6z6QRNs; Mon, 26 Jan 2026 15:55:52 +0000 (UTC) (envelope-from gallatin@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f0Cn40YqGz44bl; Mon, 26 Jan 2026 15:55:52 +0000 (UTC) (envelope-from gallatin@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769442952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=tvgxIA7rcU8jI5hygL/pkB0hHJFlcq1NAgyVC+/5qL8=; b=aLAxJhC+4MK/YYruip5lAtNo2R8V2VHAcTgCpPSFe1AVmO2fKL5hIHpA4bwi/qAIqxZ2m9 xPWadkAQOnOPC1B3TQhGIEIAoLUHhOPBCKR8SHWSkgV06535Q125i91h51b2xkVoY48ZkI zQ1YSwfjyH77OWlE+F+CCYTSkBG8GTBiRW77Sj9BMZWKNdlXwYjH1mYc0aXKAlNoDz6SHM cN93RMRPWoriug6wnx+cid7v6sPfN7mFmNJg6JbQpPQPGjt9CP4uaUp5QhZqwwxaxmWo8C VT0fPiwKNTq1QZGq56Ao1bkE2zC7/iNqM+AE2DzPHr+Q7Y6A2gyLRZlCOlEAzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769442952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=tvgxIA7rcU8jI5hygL/pkB0hHJFlcq1NAgyVC+/5qL8=; b=LQKyfOIIVDlumZacFXFqVJa7WEXQllzjFLIV83g2b+UppjECQsrqANwVXtvNL6K//HelEB zu3LY/k6n6tCMckmtMbqHqUZ37tRrWRqiFqDvDpyALxY3pSKYoAp2tHbayh7oeBC3r1EgD yGvikbm4kJQS8DQ03ngrC9FvAmF5knMOhHPUx7n2VE/wJoFr6chYRAEwyw1UuiSEX1C8CT WnkYxC9z7NEsgt56MukW/8Oc98LQaiOulqeRGRlnqx4tLMvGFhPjkiVZNXqraD70UaPPwS WzaiknpmxfZiPJMp+ChK4vVIdOxh7OxelHLSajJC+pyRdFe5zwaQ38Kf4bGFbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769442952; a=rsa-sha256; cv=none; b=xV2bF+gUrdW5wP6kSnbuoMGchZ+UDz4Uc8X1zpGbsbSW8iskYkSFJvzKUbhB3RcQ4kylaj L8A+0lSF07a9vtMF4w7RTpT6aw7shl74WANJrjxmUzjfIzLg41cZUHKc52j8Bdjy85JH+t aaiivdTKRp1PP11QuzDSLtf1SDBN62uG2bgmTw8yvu05WHaOzRDwVeJAZjnwQR3+9Swlil XOHwAOgQDdVWzlX3mZTG18BOPooiBIvKsIs1nWoVtA7TJEHMKtXxxYOwFr4ezpnoh/Oy1O 9ojv25BG76WYMbTEW4VZsBa1wDyWPOPiCZDzy+0RPXyFaenq4rbqt4W5lgseVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from fauth-a2-smtp.messagingengine.com (fauth-a2-smtp.messagingengine.com [103.168.172.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: gallatin) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f0Cn36lbWz19YL; Mon, 26 Jan 2026 15:55:51 +0000 (UTC) (envelope-from gallatin@freebsd.org) Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfauth.phl.internal (Postfix) with ESMTP id 5A31BF4006E; Mon, 26 Jan 2026 10:55:51 -0500 (EST) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-05.internal (MEProxy); Mon, 26 Jan 2026 10:55:51 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdduheektdekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvkfgjfhfutgesrgdtreerre dtjeenucfhrhhomhepfdffrhgvficuifgrlhhlrghtihhnfdcuoehgrghllhgrthhinhes fhhrvggvsghsugdrohhrgheqnecuggftrfgrthhtvghrnheptefhjeeiffevheeuleffve etfeegleeigfduvefgffehvdfhiefhfedtiefhleefnecuffhomhgrihhnpehfrhgvvggs shgurdhorhhgpdguvghvshhtrghtrdgrlhhlnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepghgrlhhlrghtihhnodhmvghsmhhtphgruhhthhhp vghrshhonhgrlhhithihqddufeefheelvddvudeiqddvleehtdegudekgedqghgrlhhlrg htihhnpeepfhhrvggvsghsugdrohhrghesfhgrshhtmhgrihhlrdgtohhmpdhnsggprhgt phhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeguvghssehfrhgvvg gsshgurdhorhhgpdhrtghpthhtohepuggvvhdqtghomhhmihhtshdqshhrtgdqrghllhes fhhrvggvsghsugdrohhrghdprhgtphhtthhopeguvghvqdgtohhmmhhithhsqdhsrhgtqd hmrghinhesfhhrvggvsghsugdrohhrghdprhgtphhtthhopehsrhgtqdgtohhmmhhithht vghrshesfhhrvggvsghsugdrohhrgh X-ME-Proxy: Feedback-ID: i41414658:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 3B27B700065; Mon, 26 Jan 2026 10:55:51 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 X-ThreadId: ABUamp0rnb8N Date: Mon, 26 Jan 2026 10:55:27 -0500 From: "Drew Gallatin" To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Message-Id: In-Reply-To: <697757ba.b040.558a1a55@gitrepo.freebsd.org> References: <697757ba.b040.558a1a55@gitrepo.freebsd.org> Subject: Re: git: a11d132f6c62 - main - devstat: Provide 32-bit compatibility Content-Type: multipart/alternative; boundary=97a5bd8aa1ad4391bbe3cb58caa69cde --97a5bd8aa1ad4391bbe3cb58caa69cde Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable My build dies with: In file included from /usr/src/sys/kern/subr_devstat.c:47: In file included from /usr/src/sys/compat/freebsd32/freebsd32.h:38: /usr/src/sys/sys/user.h:692:16: error: field has incomplete type 'struct= kevent' 692 | struct kevent knt_event; | ^ /usr/src/sys/sys/user.h:692:9: note: forward declaration of 'struct keve= nt' 692 | struct kevent knt_event; | ^ In file included from /usr/src/sys/kern/subr_devstat.c:47: /usr/src/sys/compat/freebsd32/freebsd32.h:465:18: error: field has incom= plete type 'struct kevent32' 465 | struct kevent32 knt_event; | ^ /usr/src/sys/compat/freebsd32/freebsd32.h:465:9: note: forward declarati= on of 'struct kevent32' 465 | struct kevent32 knt_event; | ^ Reverting this commit fixes it. My kernel conf a pretty close to standard GENERIC-NODEBUG. Drew include GENERIC-NODEBUG ident GENERIC-DREW makeoptions WITH_EXTRA_TCP_STACKS=3D1 nooptions INVARIANTS nooptions INVARIANT_SUPPORT nooptions WITNESS nooptions WITNESS_SKIPSPIN nooptions BUF_TRACKING nooptions DEADLKRES nooptions FULL_BUF_TRACKING nooptions COVERAGE nooptions KCOV nooptions VIMAGE # Subsystem virtualization, e.g.= VNET #options DEADLKRES # Enable the deadlock resolver options MSGBUF_SIZE=3D524288 #options MP_WATCHDOG nooptions IPSEC options KERN_TLS # TLS transmit offload options TCPHPTS options RATELIMIT # TX rate limiting support On Mon, Jan 26, 2026, at 7:02 AM, Dag-Erling Sm=C3=B8rgrav wrote: > The branch main has been updated by des: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Da11d132f6c62f32abe44b19= f7527d97ddc239058 >=20 > commit a11d132f6c62f32abe44b19f7527d97ddc239058 > Author: Dag-Erling Sm=C3=B8rgrav > AuthorDate: 2026-01-26 12:01:39 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav > CommitDate: 2026-01-26 12:01:59 +0000 >=20 > devstat: Provide 32-bit compatibility > =20 > If a 32-bit process running on a 64-bit kernel requests kern.devst= at.all, > translate each struct devstat to its 32-bit equivalent before copy= ing it > out. > =20 > Also fix a bug where an early error would be ignored if there were= no > devices to report. > =20 > MFC after: 1 week > Reviewed by: kib > Differential Revision: https://reviews.freebsd.org/D54591 > --- > sys/compat/freebsd32/freebsd32.h | 27 +++++++++++++++++++ > sys/kern/subr_devstat.c | 56 ++++++++++++++++++++++++++++++++= +++----- > 2 files changed, 76 insertions(+), 7 deletions(-) >=20 > diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/f= reebsd32.h > index 7d21a5be5570..a8d54290980d 100644 > --- a/sys/compat/freebsd32/freebsd32.h > +++ b/sys/compat/freebsd32/freebsd32.h > @@ -29,7 +29,10 @@ > #ifndef _COMPAT_FREEBSD32_FREEBSD32_H_ > #define _COMPAT_FREEBSD32_FREEBSD32_H_ > =20 > +#include > #include > +#include > +#include > #include > #include > #include > @@ -540,4 +543,28 @@ struct ptrace_sc_remote32 { > uint32_t pscr_args; > }; > =20 > +struct devstat32 { > + u_int sequence0; > + int allocated; > + u_int start_count; > + u_int end_count; > + struct bintime32 busy_from; > + struct { u_int32_t stqe_next; } dev_links; > + u_int32_t device_number; > + char device_name[DEVSTAT_NAME_LEN]; > + int unit_number; > + freebsd32_uint64_t bytes[DEVSTAT_N_TRANS_FLAGS]; > + freebsd32_uint64_t operations[DEVSTAT_N_TRANS_FLAGS]; > + struct bintime32 duration[DEVSTAT_N_TRANS_FLAGS]; > + struct bintime32 busy_time; > + struct bintime32 creation_time; > + u_int32_t block_size; > + freebsd32_uint64_t tag_types[3]; > + devstat_support_flags flags; > + devstat_type_flags device_type; > + devstat_priority priority; > + u_int32_t id; > + u_int sequence1; > +}; > + > #endif /* !_COMPAT_FREEBSD32_FREEBSD32_H_ */ > diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c > index c4d0223d484f..c62df0e210e1 100644 > --- a/sys/kern/subr_devstat.c > +++ b/sys/kern/subr_devstat.c > @@ -43,6 +43,10 @@ > #include > #include > =20 > +#ifdef COMPAT_FREEBSD32 > +#include > +#endif > + > #include > =20 > SDT_PROVIDER_DEFINE(io); > @@ -398,25 +402,63 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) > */ > mygen =3D devstat_generation; > =20 > - error =3D SYSCTL_OUT(req, &mygen, sizeof(mygen)); > - > - if (devstat_num_devs =3D=3D 0) > - return(0); > +#ifdef COMPAT_FREEBSD32 > + if ((req->flags & SCTL_MASK32) !=3D 0) { > + int32_t mygen32 =3D (int32_t)mygen; > =20 > + error =3D SYSCTL_OUT(req, &mygen32, sizeof(mygen32)); > + } else > +#endif /* COMPAT_FREEBSD32 */ > + error =3D SYSCTL_OUT(req, &mygen, sizeof(mygen)); > if (error !=3D 0) > return (error); > =20 > + if (devstat_num_devs =3D=3D 0) > + return(0); > + > mtx_lock(&devstat_mutex); > nds =3D STAILQ_FIRST(&device_statq);=20 > if (mygen !=3D devstat_generation) > error =3D EBUSY; > mtx_unlock(&devstat_mutex); > - > if (error !=3D 0) > return (error); > =20 > while (nds !=3D NULL) { > - error =3D SYSCTL_OUT(req, nds, sizeof(struct devstat)); > +#ifdef COMPAT_FREEBSD32 > + if ((req->flags & SCTL_MASK32) !=3D 0) { > + struct devstat32 ds32; > + unsigned int i; > + > + CP(*nds, ds32, sequence0); > + CP(*nds, ds32, allocated); > + CP(*nds, ds32, start_count); > + CP(*nds, ds32, end_count); > + BT_CP(*nds, ds32, busy_from); > + PTROUT_CP(*nds, ds32, dev_links.stqe_next); > + CP(*nds, ds32, device_number); > + strcpy(ds32.device_name, nds->device_name); > + CP(*nds, ds32, unit_number); > + for (i =3D 0; i < DEVSTAT_N_TRANS_FLAGS; i++) { > + FU64_CP(*nds, ds32, bytes[i]); > + FU64_CP(*nds, ds32, operations[i]); > + BT_CP(*nds, ds32, duration[i]); > + } > + BT_CP(*nds, ds32, busy_time); > + BT_CP(*nds, ds32, creation_time); > + CP(*nds, ds32, block_size); > + for (i =3D 0; i < nitems(ds32.tag_types); i++) { > + FU64_CP(*nds, ds32, tag_types[i]); > + } > + CP(*nds, ds32, flags); > + CP(*nds, ds32, device_type); > + CP(*nds, ds32, priority); > + PTROUT_CP(*nds, ds32, id); > + CP(*nds, ds32, sequence1); > + error =3D SYSCTL_OUT(req, &ds32, sizeof(ds32)); > + } else > +#endif /* COMPAT_FREEBSD32 */ > + error =3D SYSCTL_OUT(req, nds, sizeof(*nds)); > if (error !=3D 0) > return (error); > mtx_lock(&devstat_mutex); > @@ -428,7 +470,7 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) > if (error !=3D 0) > return (error); > } > - return(error); > + return (error); > } > =20 > /* >=20 >=20 --97a5bd8aa1ad4391bbe3cb58caa69cde Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
My build die= s with:

In file included from /usr/src/sys/kern= /subr_devstat.c:47:
In file included from /usr/src/sys/compat/= freebsd32/freebsd32.h:38:
/usr/src/sys/sys/user.h:692:16: erro= r: field has incomplete type 'struct kevent'
  692 | = ;        struct kevent   kn= t_event;
      |   &nb= sp;           &nb= sp;         ^
/usr/src= /sys/sys/user.h:692:9: note: forward declaration of 'struct kevent'
  692 |         struc= t kevent   knt_event;
     = |           &nbs= p;    ^
In file included from /usr/src/sys/kern= /subr_devstat.c:47:
/usr/src/sys/compat/freebsd32/freebsd32.h:= 465:18: error: field has incomplete type 'struct kevent32'
&nb= sp; 465 |         struct kevent3= 2 knt_event;
      |   = ;            = ;          ^
/usr= /src/sys/compat/freebsd32/freebsd32.h:465:9: note: forward declaration o= f 'struct kevent32'
  465 |     =     struct kevent32 knt_event;
  &nbs= p;   |         &n= bsp;      ^


=
Reverting this commit fixes it.

My kernel = conf a pretty close to standard GENERIC-NODEBUG.

Drew

include GENERIC-NODEBUG

ident   GENERIC-DREW

makeopt= ions     WITH_EXTRA_TCP_STACKS=3D1
nooptio= ns       INVARIANTS
nooptions&nb= sp;      INVARIANT_SUPPORT
nooptions&= nbsp;      WITNESS
nooptions &nb= sp;     WITNESS_SKIPSPIN
nooptions &n= bsp;     BUF_TRACKING
nooptions  = ;     DEADLKRES
nooptions   = ;    FULL_BUF_TRACKING
nooptions  &nb= sp;    COVERAGE
nooptions   &nbs= p;   KCOV
nooptions     &nb= sp; VIMAGE          &n= bsp;       # Subsystem virtualization, e.g= . VNET
#options        DEAD= LKRES           &= nbsp;   # Enable the deadlock resolver
options MSGBU= F_SIZE=3D524288
#options      &n= bsp; MP_WATCHDOG
nooptions      = IPSEC
options        = KERN_TLS          &nb= sp;     # TLS transmit offload
options&nbs= p;        TCPHPTS
options&n= bsp;        RATELIMIT  &nbs= p;            # T= X rate limiting support


On Mon, = Jan 26, 2026, at 7:02 AM, Dag-Erling Sm=C3=B8rgrav wrote:
The branch main has been upda= ted by des:


commit a11d132f6c62f32abe44b19f752= 7d97ddc239058
Author:     Dag-Erling Sm=C3= =B8rgrav <des@FreeBSD.org><= /div>
AuthorDate: 2026-01-26 12:01:39 +0000
Commit: &= nbsp;   Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
CommitDate: 2026-01-26 12:01= :59 +0000

    devstat: Provide 3= 2-bit compatibility
    
 &= nbsp;  If a 32-bit process running on a 64-bit kernel requests = ;kern.devstat.all,
&nb= sp;   translate each struct devstat to its 32-bit equivalent b= efore copying it
    out.
  = ;  
    Also fix a bug where an early= error would be ignored if there were no
    de= vices to report.
    
 &nbs= p;  MFC after:      1 week
 = ;   Reviewed by:    kib
  &= nbsp; Differential Revision:  https://reviews.freebsd.org/D54591
---
sys/compat/freebsd32/freebsd32.h | 27 +++++++++++++++++++
sys/kern/subr_devstat.c        = ;  | 56 +++++++++++++++++++++++++++++++++++-----
2 files = changed, 76 insertions(+), 7 deletions(-)

diff = --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd3= 2.h
index 7d21a5be5570..a8d54290980d 100644
--- a/sy= s/compat/freebsd32/freebsd32.h
+++ b/sys/compat/freebsd32/free= bsd32.h
@@ -29,7 +29,10 @@
#ifndef _COMPAT_FREEBSD32= _FREEBSD32_H_
#define _COMPAT_FREEBSD32_FREEBSD32_H_
 
+#include <sys/cdefs.h>
#include <s= ys/abi_compat.h>
+#include <sys/devicestat.h>
+#include <sys/mount.h>
#include <sys/procfs.h>=
#include <sys/socket.h>
#include <sys/user= .h>
@@ -540,4 +543,28 @@ struct ptrace_sc_remote32 {
<= div>uint32_t pscr_args;
};
 
+struct = devstat32 {
+ u_int sequence0;
+ int allocated;<= /div>
+ u_int start_count;
+ u_int end_count;
+ struct bintime32 busy_from;
+ struct { u_int32_t stqe_next= ; } dev_links;
+ u_int32_t device_number;
+ char = device_name[DEVSTAT_NAME_LEN];
+ int unit_number;
= + freebsd32_uint64_t bytes[DEVSTAT_N_TRANS_FLAGS];
+ freebsd32= _uint64_t operations[DEVSTAT_N_TRANS_FLAGS];
+ struct bintime3= 2 duration[DEVSTAT_N_TRANS_FLAGS];
+ struct bintime32 busy_tim= e;
+ struct bintime32       = ; creation_time;
+ u_int32_t block_size;
+ freebsd3= 2_uint64_t tag_types[3];
+ devstat_support_flags flags;
<= div>+ devstat_type_flags device_type;
+ devstat_priority prior= ity;
+ u_int32_t id;
+ u_int sequence1;
+};
+
#endif /* !_COMPAT_FREEBSD32_FREEBSD32_H_ */<= /div>
diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c=
index c4d0223d484f..c62df0e210e1 100644
--- a/sys/k= ern/subr_devstat.c
+++ b/sys/kern/subr_devstat.c
@@ = -43,6 +43,10 @@
#include <vm/vm.h>
#include &l= t;vm/pmap.h>
 
+#ifdef COMPAT_FREEBSD32
+#include <compat/freebsd32/freebsd32.h>
+#endif
+
#include <machine/atomic.h>
 <= /div>
SDT_PROVIDER_DEFINE(io);
@@ -398,25 +402,63 @@ sysct= l_devstat(SYSCTL_HANDLER_ARGS)
*/
mygen =3D devstat_= generation;
 
- error =3D SYSCTL_OUT(req, &= mygen, sizeof(mygen));
-
- if (devstat_num_devs =3D=3D= 0)
- return(0);
+#ifdef COMPAT_FREEBSD32
+ if ((req->flags & SCTL_MASK32) !=3D 0) {
+ int32_t = mygen32 =3D (int32_t)mygen;
 
+ error =3D SYSC= TL_OUT(req, &mygen32, sizeof(mygen32));
+ } else
+#endif /* COMPAT_FREEBSD32 */
+ error =3D SYSCTL_OUT(req, &= amp;mygen, sizeof(mygen));
if (error !=3D 0)
return = (error);
 
+ if (devstat_num_devs =3D=3D 0)
+ return(0);
+
mtx_lock(&devstat_mutex);=
nds =3D STAILQ_FIRST(&device_statq); 
if (= mygen !=3D devstat_generation)
error =3D EBUSY;
mtx_= unlock(&devstat_mutex);
-
if (error !=3D 0)
return (error);
 
while (nds !=3D NULL) {=
- error =3D SYSCTL_OUT(req, nds, sizeof(struct devstat));
+#ifdef COMPAT_FREEBSD32
+ if ((req->flags & S= CTL_MASK32) !=3D 0) {
+ struct devstat32 ds32;
+ = unsigned int i;
+
+ CP(*nds, ds32, sequence0);
+ CP(*nds, ds32, allocated);
+ CP(*nds, ds32, star= t_count);
+ CP(*nds, ds32, end_count);
+ BT_CP(*= nds, ds32, busy_from);
+ PTROUT_CP(*nds, ds32, dev_links.stq= e_next);
+ CP(*nds, ds32, device_number);
+ strc= py(ds32.device_name, nds->device_n= ame);
+ CP(*nds, ds32, unit_number);
+ for (i =3D= 0; i < DEVSTAT_N_TRANS_FLAGS; i++) {
+ FU64_CP(*nds, ds= 32, bytes[i]);
+ FU64_CP(*nds, ds32, operations[i]);
<= div>+ BT_CP(*nds, ds32, duration[i]);
+ }
+ B= T_CP(*nds, ds32, busy_time);
+ BT_CP(*nds, ds32, creation_ti= me);
+ CP(*nds, ds32, block_size);
+ for (i =3D = 0; i < nitems(ds32.tag_types); i++) {=
+ FU64_CP(*nds, ds32, tag_types[i]);
+ }
=
+ CP(*nds, ds32, flags);
+ CP(*nds, ds32, device_type= );
+ CP(*nds, ds32, priority);
+ PTROUT_CP(*nds,= ds32, id);
+ CP(*nds, ds32, sequence1);
+ error= =3D SYSCTL_OUT(req, &ds32, sizeof(ds32));
+ } else
=
+#endif /* COMPAT_FREEBSD32 */
+ error =3D SYSCTL_OUT(r= eq, nds, sizeof(*nds));
if (error !=3D 0)
return (er= ror);
mtx_lock(&devstat_mutex);
@@ -428,7 +470,7= @@ sysctl_devstat(SYSCTL_HANDLER_ARGS)
if (error !=3D 0)
return (error);
}
- return(error);
+= return (error);
}
 
/*


--97a5bd8aa1ad4391bbe3cb58caa69cde--