From nobody Tue Apr 16 20:54:54 2024 X-Original-To: dev-commits-src-main@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 4VJxB93ZDlz5H3mH; Tue, 16 Apr 2024 20:54:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VJxB93Lq2z4NS9; Tue, 16 Apr 2024 20:54:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713300897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6FBYe/bCHU6iWkf4Cd4ZNw1Il/uDOgWyF3W5ZB8LMM=; b=II3QG7iX6+hgP0ctO7R+y9EYrVB+Hb4zD9ZxDJHAGO+BGyqPMjKBLAuf7wS+4M24+6tgLX cuNaiZAt211U49o8qZ0wrBLy7wkIbv6i3sGSmp9CUl0bHJDPGnEUJ5PxN82ctOx1m4Xmuy ubgEJwgsYlbGpOzG7jNaRhj1s9b5C/HdatYVC1DHxojGsDr3MKY9SAZUcCex8IwQu5rd9B Rsy2O2tiPOhhd7ckBQ7PM0KOhBDisnN3RjG/w6wb7rEMnrp0UgtV/y6FFwiKbJ3DaUOsKx ltmF1X7aV4cw6U346WDBmZJKb/J4hw0wTng6kmn3m63iaUz9+XFKsir0xlT6sQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713300897; a=rsa-sha256; cv=none; b=NbILxMrbfD9s21St+Kv1LrwBPbw7wX17BG7v5d61yrveN9OdZXxKbNXKfm9T4c7NVqCS+7 dmX3JY/YUhAhHmu1ou2B36tvl1kn6KGVbJMLivTkGRNDUzI4Z9jtLJuRdlh/xUKJS56Uwa plWbSbZUy/56NMPxxL5mSonh74VZYx8kK5CpkY4AvnvGLGSEa11DnKkDP0RZKr0kzQiupH WW5Q+3YwKr+4oNjmB32+acLeZXtstw+QNjQ2w3VwXInT3BBUZZoW0ODPtNAIRM4w2D/NEs V4J2fiZf6w1P7sj5kvAisa5BciCDovAL1BLib+ocRHTzMY4dQSUJcVpXVk2kTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713300897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6FBYe/bCHU6iWkf4Cd4ZNw1Il/uDOgWyF3W5ZB8LMM=; b=EHip44pYRxxVpr6blyPntX4Yg3/PLMMEYVkK97CXVjCyhLU7jjP4nki2NGkoMX+ZfHSF7V a62UN6s2nQhi7J3KP2mt4yF0E2Ozjr7RRxkpfQzxEG/vP9eqdzXiq7fm5lGlwxAQ7plnaG N5REfDEP5JD4tEzW4GO4+sYDpeW/inKhqXP/4n7hQyzQegGW9R8Bcpyx2JhZtwHoSg4zQL Z+LPHKpHKadWrRahS8aImtt6n6h/+PqGnnNGIqqvq31HhsTumsAeH8/inR0TGRH5nKd2So d/ednzdmmTC47ssOYe2amiRGkTzCAVeSQ1dgpMrG5UfS4W9BH7ydCaZq6yCYHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VJxB92xbGzy4M; Tue, 16 Apr 2024 20:54:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43GKsvu7009358; Tue, 16 Apr 2024 20:54:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43GKssXB009354; Tue, 16 Apr 2024 20:54:54 GMT (envelope-from git) Date: Tue, 16 Apr 2024 20:54:54 GMT Message-Id: <202404162054.43GKssXB009354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: 1719886f6d08 - main - zfs: merge openzfs/zfs@90ba19eb7 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1719886f6d08408b834d270c59ffcfd821c8f63a Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=1719886f6d08408b834d270c59ffcfd821c8f63a commit 1719886f6d08408b834d270c59ffcfd821c8f63a Merge: e4a0c92e7aea 90ba19eb7b81 Author: Martin Matuska AuthorDate: 2024-04-16 20:52:34 +0000 Commit: Martin Matuska CommitDate: 2024-04-16 20:54:07 +0000 zfs: merge openzfs/zfs@90ba19eb7 Notable upstream pull request merges: #15784 90ba19eb7b Do no use .cfi_negate_ra_state within the assembly on Arm64 #15942 b6bbaa8372 Give a better message from 'zpool get' with invalid pool name #15943 ca678bc0bc Makefile.bsd: sort and cleanup source file list #15953 fa480fe5ba zinject: show more device fault fields #15983 30c4eba4ea Fix panics when truncating/deleting files #15992 99741bde59 zvol: use multiple taskq #16015 a100a195fa Add support for zfs mount -R #16022 5e5fd0a178 Speculative prefetch for reordered requests #16040 997f85b4d3 L2ARC: Relax locking during write #16042 b12738182c Improve dbuf_read() error reporting #16051 a9a4290173 xdr: header cleanup #16052 eeca9a91d6 Fix read errors race after block cloning #16057 aa5445c28b Remove db_state DB_NOFILL checks from syncing context #16061 76d1dde94c zinject: inject device errors into ioctls #16072 9e63631dea Small fix to prefetch ranges aggregation #16077 44f337be30 Illumos#16463 zfs_ioc_recv leaks nvlist #16085 4725e543be zinject: "no-op" error injection #16086 c6da985e28 Add the BTI elf note to the AArch64 SHA2 assembly Obtained from: OpenZFS OpenZFS commit: 90ba19eb7b81f0225e63bedfb902000d23383921 cddl/lib/libnvpair/Makefile | 2 - sys/contrib/openzfs/.mailmap | 18 + sys/contrib/openzfs/AUTHORS | 35 ++ sys/contrib/openzfs/cmd/arc_summary | 11 +- sys/contrib/openzfs/cmd/zfs/zfs_main.c | 75 +++- sys/contrib/openzfs/cmd/zinject/zinject.c | 84 +++-- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 17 +- sys/contrib/openzfs/config/Substfiles.am | 3 +- sys/contrib/openzfs/config/kernel-blk-queue.m4 | 15 + sys/contrib/openzfs/config/kernel-blkdev.m4 | 159 ++++++-- .../openzfs/config/kernel-make-request-fn.m4 | 33 ++ sys/contrib/openzfs/config/zfs-build.m4 | 8 +- sys/contrib/openzfs/etc/init.d/README.md | 6 +- sys/contrib/openzfs/etc/init.d/zfs-import.in | 2 +- sys/contrib/openzfs/etc/init.d/zfs-load-key.in | 2 +- sys/contrib/openzfs/etc/init.d/zfs-mount.in | 2 +- sys/contrib/openzfs/etc/init.d/zfs-share.in | 3 +- sys/contrib/openzfs/etc/init.d/zfs-zed.in | 3 +- sys/contrib/openzfs/include/os/freebsd/Makefile.am | 3 - .../openzfs/include/os/freebsd/spl/rpc/xdr.h | 71 ---- .../openzfs/include/os/freebsd/spl/sys/debug.h | 149 +++++++- .../openzfs/include/os/freebsd/spl/sys/dkio.h | 34 -- sys/contrib/openzfs/include/os/linux/Makefile.am | 2 +- .../include/os/linux/kernel/linux/blkdev_compat.h | 6 +- .../os/linux/spl/{sys/dkio.h => rpc/types.h} | 25 +- sys/contrib/openzfs/include/os/linux/spl/rpc/xdr.h | 2 - .../openzfs/include/os/linux/spl/sys/debug.h | 152 +++++++- .../include/os/linux/zfs/sys/trace_common.h | 6 +- sys/contrib/openzfs/include/sys/dmu_zfetch.h | 16 +- sys/contrib/openzfs/include/sys/fs/zfs.h | 8 +- sys/contrib/openzfs/include/sys/multilist.h | 5 +- sys/contrib/openzfs/include/sys/vdev_impl.h | 3 +- sys/contrib/openzfs/include/sys/zap_leaf.h | 2 +- sys/contrib/openzfs/include/sys/zio.h | 6 +- sys/contrib/openzfs/include/sys/zio_impl.h | 21 +- sys/contrib/openzfs/lib/libspl/include/assert.h | 97 +++++ sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 6 +- sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c | 1 + sys/contrib/openzfs/man/Makefile.am | 4 +- sys/contrib/openzfs/man/man4/zfs.4 | 18 + sys/contrib/openzfs/man/man7/vdevprops.7 | 8 +- sys/contrib/openzfs/man/man8/zfs-mount.8 | 6 +- sys/contrib/openzfs/man/man8/zinject.8 | 10 +- sys/contrib/openzfs/man/man8/zpool-events.8 | 12 +- sys/contrib/openzfs/module/Makefile.bsd | 85 +++-- .../icp/asm-aarch64/blake3/b3_aarch64_sse2.S | 14 +- .../icp/asm-aarch64/blake3/b3_aarch64_sse41.S | 12 +- .../module/icp/asm-aarch64/sha2/sha256-armv8.S | 10 + .../module/icp/asm-aarch64/sha2/sha512-armv8.S | 10 + sys/contrib/openzfs/module/nvpair/nvpair.c | 1 + .../openzfs/module/os/freebsd/zfs/vdev_file.c | 11 +- .../openzfs/module/os/freebsd/zfs/vdev_geom.c | 49 +-- sys/contrib/openzfs/module/os/linux/spl/spl-xdr.c | 1 + .../openzfs/module/os/linux/zfs/vdev_disk.c | 215 +++++++---- .../openzfs/module/os/linux/zfs/vdev_file.c | 46 +-- sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 131 ++++++- sys/contrib/openzfs/module/zfs/arc.c | 184 ++++----- sys/contrib/openzfs/module/zfs/dbuf.c | 143 ++++--- sys/contrib/openzfs/module/zfs/dmu.c | 8 +- sys/contrib/openzfs/module/zfs/dmu_objset.c | 10 +- sys/contrib/openzfs/module/zfs/dmu_zfetch.c | 289 +++++++++++--- sys/contrib/openzfs/module/zfs/metaslab.c | 8 +- sys/contrib/openzfs/module/zfs/multilist.c | 26 +- sys/contrib/openzfs/module/zfs/spa.c | 2 +- sys/contrib/openzfs/module/zfs/vdev.c | 12 +- sys/contrib/openzfs/module/zfs/vdev_draid.c | 24 +- sys/contrib/openzfs/module/zfs/zfs_fm.c | 5 +- sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 30 +- sys/contrib/openzfs/module/zfs/zil.c | 93 +++-- sys/contrib/openzfs/module/zfs/zio.c | 51 ++- sys/contrib/openzfs/module/zfs/zio_inject.c | 6 +- sys/contrib/openzfs/scripts/zfs-tests.sh | 15 +- sys/contrib/openzfs/tests/runfiles/common.run | 14 +- sys/contrib/openzfs/tests/runfiles/sanity.run | 9 +- sys/contrib/openzfs/tests/zfs-tests/Makefile.am | 3 + .../openzfs/tests/zfs-tests/tests/Makefile.am | 2 + .../functional/cli_root/zfs_mount/zfs_mount.cfg | 1 + .../cli_root/zfs_mount/zfs_mount_recursive.ksh | 146 ++++++++ .../functional/cli_root/zinject/zinject_args.ksh | 62 ++++ .../tests/functional/vdev_disk/.gitignore | 1 + .../tests/functional/vdev_disk/page_alignment.c | 413 +++++++++++++++++++++ sys/modules/zfs/zfs_config.h | 44 ++- sys/modules/zfs/zfs_gitrev.h | 2 +- 83 files changed, 2475 insertions(+), 864 deletions(-) diff --cc cddl/lib/libnvpair/Makefile index fb80d7c22ea5,000000000000..a93ffcbd00de mode 100644,000000..100644 --- a/cddl/lib/libnvpair/Makefile +++ b/cddl/lib/libnvpair/Makefile @@@ -1,32 -1,0 +1,30 @@@ + +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/nvpair +.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libnvpair +.PATH: ${SRCTOP}/sys/contrib/openzfs/include + +LIB= nvpair +LIBADD= spl + +PACKAGE= zfs +# user +INCS= libnvpair.h +SRCS= libnvpair.c \ + libnvpair_json.c \ + nvpair_alloc_system.c +# kernel +SRCS+= nvpair_alloc_fixed.c \ + nvpair.c \ + fnvpair.c + +WARNS?= 2 +CFLAGS+= -DIN_BASE -DHAVE_RPC_TYPES +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/ +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd +CFLAGS+= -I${SRCTOP}/sys +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include +CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h +CFLAGS+= -DHAVE_ISSETUGID -DHAVE_CONFIG_H -DHAVE_XDR_BYTESREC + - - CFLAGS.nvpair.c+= -UHAVE_RPC_TYPES +.include diff --cc sys/contrib/openzfs/.mailmap index 46ef016b93f8,000000000000..32bdb5209613 mode 100644,000000..100644 --- a/sys/contrib/openzfs/.mailmap +++ b/sys/contrib/openzfs/.mailmap @@@ -1,189 -1,0 +1,207 @@@ +# This file maps the name+email seen in a commit back to a canonical +# name+email. Git will replace the commit name/email with the canonical version +# wherever it sees it. +# +# If there is a commit in the history with a "wrong" name or email, list it +# here. If you regularly commit with an alternate name or email address and +# would like to ensure that you are always listed consistently in the repo, add +# mapping here. +# +# On the other hand, if you use multiple names or email addresses legitimately +# (eg you use a company email address for your paid OpenZFS work, and a +# personal address for your evening side projects), then don't map one to the +# other here. +# +# The most common formats are: +# +# Canonical Name +# Canonical Name +# Canonical Name Commit Name +# +# See https://git-scm.com/docs/gitmailmap for more info. + +# These maps are making names consistent where they have varied but the email +# address has never changed. In most cases, the full name is in the +# Signed-off-by of a commit with a matching author. +Ahelenia Ziemiańska +Ahelenia Ziemiańska +Alex John +Andreas Dilger +Andrew Walker +Benedikt Neuffer +Chengfei Zhu ++ChenHao Lu <18302010006@fudan.edu.cn> +Chris Lindee +Colm Buckley +Crag Wang +Damian Szuberski +Daniel Kolesa +Debabrata Banerjee +Finix Yan +Gaurav Kumar +Gionatan Danti +Glenn Washburn +Gordan Bobic +Gregory Bartholomew +hedong zhang ++Ilkka Sovanto +InsanePrawn +Jason Cohen +Jason Harmening +Jeremy Faulkner +Jinshan Xiong +John Poduska +Justin Scholz +Ka Ho Ng +Kash Pande +Kay Pedersen +KernelOfTruth +Liu Hua +Liu Qing +loli10K ++Mart Frauenlob +Matthias Blankertz +Michael Gmelin +Olivier Mazouffre +Piotr Kubaj +Quentin Zdanis +Roberto Ricci +Rob Norris +Rob Norris +Sam Lunt +Sanjeev Bagewadi +Stoiko Ivanov +Tamas TEVESZ +WHR +Yanping Gao +Youzhong Yang + ++# Signed-off-by: overriding Author: ++Yuxin Wang ++ +# Commits from strange places, long ago +Brian Behlendorf +Brian Behlendorf +Brian Behlendorf +Brian Behlendorf +Brian Behlendorf +Herb Wartens +Ned Bass +Tulsi Jain + +# Mappings from Github no-reply addresses +ajs124 +Alek Pinchuk +Alexander Lobakin +Alexey Smirnoff +Allen Holl <65494904+allen-4@users.noreply.github.com> +Ameer Hamza <106930537+ixhamza@users.noreply.github.com> +Andrew J. Hesford <48421688+ahesford@users.noreply.github.com>> +Andrew Sun +Aron Xu +Arun KV <65647132+arun-kv@users.noreply.github.com> +Ben Wolsieffer +bernie1995 <42413912+bernie1995@users.noreply.github.com> +Boris Protopopov +Brad Forschinger +Brandon Thetford +buzzingwires <131118055+buzzingwires@users.noreply.github.com> +Cedric Maunoury <38213715+cedricmaunoury@users.noreply.github.com> +Charles Suh ++Chris Peredun <126915832+chrisperedun@users.noreply.github.com> +Dacian Reece-Stremtan <35844628+dacianstremtan@users.noreply.github.com> +Damian Szuberski <30863496+szubersk@users.noreply.github.com> +Daniel Hiepler <32984777+heeplr@users.noreply.github.com> +Daniel Kobras +Daniel Reichelt +David Quigley ++Dennis R. Friedrichsen <31087738+dennisfriedrichsen@users.noreply.github.com> ++Dex Wood +DHE +Dmitri John Ledkov <19779+xnox@users.noreply.github.com> +Dries Michiels <32487486+driesmp@users.noreply.github.com> +Edmund Nadolski <137826107+ednadolski-ix@users.noreply.github.com> +Érico Nogueira <34201958+ericonr@users.noreply.github.com> +Fedor Uporov <60701163+fuporovvStack@users.noreply.github.com> +Felix Dörre +Felix Neumärker <34678034+xdch47@users.noreply.github.com> +Finix Yan +Gaurav Kumar +George Gaydarov +Georgy Yakovlev <168902+gyakovlev@users.noreply.github.com> +Gerardwx +Gian-Carlo DeFazio +Giuseppe Di Natale +Hajo Möller +Harry Mallon <1816667+hjmallon@users.noreply.github.com> +Hiếu Lê +Jake Howard +James Cowgill ++Jaron Kent-Dobias +Jason King +Jeff Dike <52420226+jdike@users.noreply.github.com> +Jitendra Patidar <53164267+jsai20@users.noreply.github.com> +João Carlos Mendes Luís +John Eismeier <32205350+jeis2497052@users.noreply.github.com> +John L. Hammond <35266395+jhammond-intel@users.noreply.github.com> +John-Mark Gurney +John Ramsden +Jonathon Fernyhough <559369+jonathonf@users.noreply.github.com> ++Jose Luis Duran +Justin Hibbits ++Kevin Greene <104801862+kxgreene@users.noreply.github.com> +Kevin Jin <33590050+jxdking@users.noreply.github.com> +Kevin P. Fleming +Krzysztof Piecuch <3964215+pikrzysztof@users.noreply.github.com> +Kyle Evans +Laurențiu Nicola +loli10K +Lorenz Hüdepohl +Luís Henriques <73643340+lumigch@users.noreply.github.com> +Marcin Skarbek +Matt Fiddaman <81489167+matt-fidd@users.noreply.github.com> ++Maxim Filimonov +Max Zettlmeißl <6818198+maxz@users.noreply.github.com> +Michael Niewöhner +Michael Zhivich <33133421+mzhivich@users.noreply.github.com> ++MigeljanImeri <78048439+MigeljanImeri@users.noreply.github.com> +Mo Zhou <5723047+cdluminate@users.noreply.github.com> +Nick Mattis +omni <79493359+omnivagant@users.noreply.github.com> +Pablo Correa Gómez <32678034+pablofsf@users.noreply.github.com> +Paul Zuchowski <31706010+PaulZ-98@users.noreply.github.com> +Peter Ashford +Peter Dave Hello +Peter Wirdemo <4224155+pewo@users.noreply.github.com> +Petros Koutoupis +Ping Huang <101400146+hpingfs@users.noreply.github.com> +Piotr P. Stefaniak +Richard Allen <33836503+belperite@users.noreply.github.com> +Rich Ercolani <214141+rincebrain@users.noreply.github.com> ++Rick Macklem <64620010+rmacklem@users.noreply.github.com> +Rob Wing <98866084+rob-wing@users.noreply.github.com> +Roman Strashkin +Ryan Hirasaki <4690732+RyanHir@users.noreply.github.com> +Samuel Wycliffe J <115969550+samwyc@users.noreply.github.com> +Samuel Wycliffe <50765275+npc203@users.noreply.github.com> +Savyasachee Jha +Scott Colby +Sean Eric Fagan +Spencer Kinny <30333052+Spencer-Kinny@users.noreply.github.com> +Srikanth N S <75025422+nssrikanth@users.noreply.github.com> ++Stefan Lendl <1321542+stfl@users.noreply.github.com> ++Thomas Bertschinger <101425190+bertschinger@users.noreply.github.com> +Thomas Geppert +Tim Crawford +Tom Matthews +Tony Perkins <62951051+tony-zfs@users.noreply.github.com> +Torsten Wörtwein +Tulsi Jain +Václav Skála <33496485+vaclavskala@users.noreply.github.com> ++Vaibhav Bhanawat <88050553+vaibhav-delphix@users.noreply.github.com> +Violet Purcell <66446404+vimproved@users.noreply.github.com> +Vipin Kumar Verma <75025470+vermavipinkumar@users.noreply.github.com> +Wolfgang Bumiller +xtouqh <72357159+xtouqh@users.noreply.github.com> +Yuri Pankov <113725409+yuripv@users.noreply.github.com> +Yuri Pankov <82001006+yuripv@users.noreply.github.com> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_recursive.ksh index 000000000000,0e5cc5d6955e..0e5cc5d6955e mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_recursive.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_recursive.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zinject/zinject_args.ksh index 000000000000,dd9ef9ddd229..dd9ef9ddd229 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zinject/zinject_args.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zinject/zinject_args.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_disk/.gitignore index 000000000000,27653e5924fc..27653e5924fc mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_disk/.gitignore +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_disk/.gitignore diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_disk/page_alignment.c index 000000000000,5c6d28eb2c44..5c6d28eb2c44 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_disk/page_alignment.c +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_disk/page_alignment.c diff --cc sys/modules/zfs/zfs_config.h index 267fe048749c,000000000000..0e18c6092b9c mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,1200 -1,0 +1,1218 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* bio_end_io_t wants 1 arg */ +/* #undef HAVE_1ARG_BIO_END_IO_T */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* submit_bio() wants 1 arg */ +/* #undef HAVE_1ARG_SUBMIT_BIO */ + +/* bdi_setup_and_register() wants 2 args */ +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 2 args */ +/* #undef HAVE_2ARGS_VFS_GETATTR */ + +/* zlib_deflate_workspacesize() wants 2 args */ +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */ + +/* bdi_setup_and_register() wants 3 args */ +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 3 args */ +/* #undef HAVE_3ARGS_VFS_GETATTR */ + +/* vfs_getattr wants 4 args */ +/* #undef HAVE_4ARGS_VFS_GETATTR */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* posix_acl has refcount_t */ +/* #undef HAVE_ACL_REFCOUNT */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + ++/* bdev_file_open_by_path() exists */ ++/* #undef HAVE_BDEV_FILE_OPEN_BY_PATH */ ++ +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* bdev_open_by_path() exists */ +/* #undef HAVE_BDEV_OPEN_BY_PATH */ + +/* bdev_release() exists */ +/* #undef HAVE_BDEV_RELEASE */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio->bi_opf is defined */ +/* #undef HAVE_BIO_BI_OPF */ + +/* bio->bi_status exists */ +/* #undef HAVE_BIO_BI_STATUS */ + +/* bio has bi_iter */ +/* #undef HAVE_BIO_BVEC_ITER */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() is available */ +/* #undef HAVE_BIO_SET_DEV */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + - /* blkdev_issue_discard() is available */ - /* #undef HAVE_BLKDEV_ISSUE_DISCARD */ ++/* __blkdev_issue_discard(flags) is available */ ++/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_FLAGS */ + +/* __blkdev_issue_discard() is available */ - /* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC */ ++/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_NOFLAGS */ ++ ++/* blkdev_issue_discard(flags) is available */ ++/* #undef HAVE_BLKDEV_ISSUE_DISCARD_FLAGS */ ++ ++/* blkdev_issue_discard() is available */ ++/* #undef HAVE_BLKDEV_ISSUE_DISCARD_NOFLAGS */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + ++/* blkdev_put() exists */ ++/* #undef HAVE_BLKDEV_PUT */ ++ +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + ++/* blk_alloc_disk() exists and takes 2 args */ ++/* #undef HAVE_BLK_ALLOC_DISK_2ARG */ ++ +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue is available */ +/* #undef HAVE_BLK_MQ */ + ++/* block multiqueue hardware context is cached in struct request */ ++/* #undef HAVE_BLK_MQ_RQ_HCTX */ ++ +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* blk_queue_flag_clear() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ + +/* blk_queue_flag_set() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_SET */ + +/* blk_queue_flush() is available */ +/* #undef HAVE_BLK_QUEUE_FLUSH */ + +/* blk_queue_flush() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */ + +/* blk_queue_secdiscard() is available */ +/* #undef HAVE_BLK_QUEUE_SECDISCARD */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* blk_queue_write_cache() exists */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ + +/* blk_queue_write_cache() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* clear_inode() is available */ +/* #undef HAVE_CLEAR_INODE */ + +/* dentry uses const struct dentry_operations */ +/* #undef HAVE_CONST_DENTRY_OPERATIONS */ + +/* copy_from_iter() is available */ +/* #undef HAVE_COPY_FROM_ITER */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* copy_to_iter() is available */ +/* #undef HAVE_COPY_TO_ITER */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* yes */ +/* #undef HAVE_CPU_HOTPLUG */ + +/* current_time() exists */ +/* #undef HAVE_CURRENT_TIME */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* dentry aliases are in d_u member */ +/* #undef HAVE_DENTRY_D_U_ALIASES */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* sops->dirty_inode() wants flags */ +/* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* d_make_root() is available */ +/* #undef HAVE_D_MAKE_ROOT */ + +/* d_prune_aliases() is available */ +/* #undef HAVE_D_PRUNE_ALIASES */ + +/* dops->d_revalidate() operation takes nameidata */ +/* #undef HAVE_D_REVALIDATE_NAMEIDATA */ + +/* eops->encode_fh() wants child and parent inodes */ +/* #undef HAVE_ENCODE_FH_WITH_INODE */ + +/* sops->evict_inode() exists */ +/* #undef HAVE_EVICT_INODE */ + - /* Define to 1 if you have the `execvpe' function. */ - /* #undef HAVE_EXECVPE */ ++/* Define to 1 if you have the 'execvpe' function. */ ++#define HAVE_EXECVPE 1 + +/* FALLOC_FL_ZERO_RANGE is defined */ +/* #undef HAVE_FALLOC_FL_ZERO_RANGE */ + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* filemap_range_has_page() is available */ +/* #undef HAVE_FILEMAP_RANGE_HAS_PAGE */ + +/* fops->aio_fsync() exists */ +/* #undef HAVE_FILE_AIO_FSYNC */ + +/* file_dentry() is available */ +/* #undef HAVE_FILE_DENTRY */ + +/* fops->fadvise() exists */ +/* #undef HAVE_FILE_FADVISE */ + +/* file_inode() is available */ +/* #undef HAVE_FILE_INODE */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* iops->follow_link() cookie */ +/* #undef HAVE_FOLLOW_LINK_COOKIE */ + +/* iops->follow_link() nameidata */ +/* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + +/* fsync_bdev() is declared in include/blkdev.h */ +/* #undef HAVE_FSYNC_BDEV */ + +/* fops->fsync() with range */ +/* #undef HAVE_FSYNC_RANGE */ + +/* fops->fsync() without dentry */ +/* #undef HAVE_FSYNC_WITHOUT_DENTRY */ + +/* yes */ +/* #undef HAVE_GENERIC_FADVISE */ + +/* generic_fillattr requires struct mnt_idmap* */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ + +/* generic_fillattr requires struct mnt_idmap* and u32 request_mask */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 3 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_3ARG */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* generic_readlink is global */ +/* #undef HAVE_GENERIC_READLINK */ + +/* generic_setxattr() exists */ +/* #undef HAVE_GENERIC_SETXATTR */ + +/* generic_write_checks() takes kiocb */ +/* #undef HAVE_GENERIC_WRITE_CHECKS_KIOCB */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iops->get_link() cookie */ +/* #undef HAVE_GET_LINK_COOKIE */ + +/* iops->get_link() delayed */ +/* #undef HAVE_GET_LINK_DELAYED */ + +/* group_info->gid exists */ +/* #undef HAVE_GROUP_INFO_GID */ + +/* has_capability() is available */ +/* #undef HAVE_HAS_CAPABILITY */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* mnt_idmap does not have user_namespace */ +/* #undef HAVE_IDMAP_NO_USERNS */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* inode_get_atime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_ATIME */ + +/* inode_get_ctime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_CTIME */ + +/* inode_get_mtime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_MTIME */ + +/* yes */ +/* #undef HAVE_INODE_LOCK_SHARED */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes mnt_idmap */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ + +/* inode_set_atime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_ATIME_TO_TS */ + +/* inode_set_ctime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_CTIME_TO_TS */ + +/* inode_set_flags() exists */ +/* #undef HAVE_INODE_SET_FLAGS */ + +/* inode_set_iversion() exists */ +/* #undef HAVE_INODE_SET_IVERSION */ + +/* inode_set_mtime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_MTIME_TO_TS */ + +/* inode->i_*time's are timespec64 */ +/* #undef HAVE_INODE_TIMESPEC64_TIMES */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* in_compat_syscall() is available */ +/* #undef HAVE_IN_COMPAT_SYSCALL */ + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->setattr() exists */ +/* #undef HAVE_IOPS_SETATTR */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_advance() is available */ +/* #undef HAVE_IOV_ITER_ADVANCE */ + +/* iov_iter_count() is available */ +/* #undef HAVE_IOV_ITER_COUNT */ + +/* iov_iter_fault_in_readable() is available */ +/* #undef HAVE_IOV_ITER_FAULT_IN_READABLE */ + +/* iov_iter_revert() is available */ +/* #undef HAVE_IOV_ITER_REVERT */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* iov_iter types are available */ +/* #undef HAVE_IOV_ITER_TYPES */ + +/* yes */ +/* #undef HAVE_IO_SCHEDULE_TIMEOUT */ + - /* Define to 1 if you have the `issetugid' function. */ ++/* Define to 1 if you have the 'issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ *** 652 LINES SKIPPED ***