openzfs: fix gcc kernel module builds - Suppress -Wredundant-decls. Ultimately this warning is harmless in any case, and it does not look like there is a simple way to avoid redundant declar
openzfs: fix gcc kernel module builds - Suppress -Wredundant-decls. Ultimately this warning is harmless in any case, and it does not look like there is a simple way to avoid redundant declarations in this case without a lot of header pollution (e.g. having openzfs's shim param.h pulling in sys/kernel.h for hz). - Suppress -Wnested-externs, which is useless anyway.Unfortunately it was not sufficient just to modify OPENZFS_CFLAGS,because the warning suppressions need to appear on the command lineafter they are explicitly enabled by CWARNFLAGS from sys/conf/kern.mk,but OPENZFS_CFLAGS get added before due to use of -I for the shims.Reviewed by: markjSponsored by: Dell EMC IsilonDifferential Revision: https://reviews.freebsd.org/D27685
show more ...
Merge OpenZFS support in to HEAD.The primary benefit is maintaining a completely sharedcode base with the community allowing FreeBSD to receivenew features sooner and with less effort.I would a
Merge OpenZFS support in to HEAD.The primary benefit is maintaining a completely sharedcode base with the community allowing FreeBSD to receivenew features sooner and with less effort.I would advise against doing 'zpool upgrade'or creating indispensable pools using newfeatures until this change has had a month+to soak.Work on merging FreeBSD support in to what wasat the time "ZFS on Linux" began in August 2018.I first publicly proposed transitioning FreeBSDto (new) OpenZFS on December 18th, 2018. FreeBSDsupport in OpenZFS was finally completed in December2019. A CFT for downstreaming OpenZFS support into FreeBSD was first issued on July 8th. All issuesthat were reported have been addressed or, fora couple of less critical matters there arepull requests in progress with OpenZFS. iXsystemshas tested and dogfooded extensively internally.The TrueNAS 12 release is based on OpenZFS withsome additional features that have not yet madeit upstream.Improvements include: project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, various command line improvements, zstd compression.Thanks to those who have helped along the way:Ryan Moeller, Allan Jude, Zack Welch, and manyothers.Sponsored by: iXsystems, Inc.Differential Revision: https://reviews.freebsd.org/D25872
sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
Use SYSDIR to reference to the top of the sys hierarchy. Define SYSDIRrelative to .CURDIR if not already defined. This makes the makefilesmore readable but also more re-usable and adaptable.Obtai
Use SYSDIR to reference to the top of the sys hierarchy. Define SYSDIRrelative to .CURDIR if not already defined. This makes the makefilesmore readable but also more re-usable and adaptable.Obtained from: Juniper Networks, Inc.
- For kernel compiled only with KDTRACE_HOOKS and not any lock debugging option, unbreak the lock tracing release semantic by embedding calls to LOCKSTAT_PROFILE_RELEASE_LOCK() direclty in the in
- For kernel compiled only with KDTRACE_HOOKS and not any lock debugging option, unbreak the lock tracing release semantic by embedding calls to LOCKSTAT_PROFILE_RELEASE_LOCK() direclty in the inlined version of the releasing functions for mutex, rwlock and sxlock. Failing to do so skips the lockstat_probe_func invokation for unlocking.- As part of the LOCKSTAT support is inlined in mutex operation, for kernel compiled without lock debugging options, potentially every consumer must be compiled including opt_kdtrace.h. Fix this by moving KDTRACE_HOOKS into opt_global.h and remove the dependency by opt_kdtrace.h for all files, as now only KDTRACE_FRAMES is linked there and it is only used as a compile-time stub [0].[0] immediately shows some new bug as DTRACE-derived support for debugin sfxge is broken and it was never really tested. As it was notincluding correctly opt_kdtrace.h before it was never enabled so itwas kept broken for a while. Fix this by using a protection stub,leaving sfxge driver authors the responsibility for fixing itappropriately [1].Sponsored by: EMC / Isilon storage divisionDiscussed with: rstone[0] Reported by: rstone[1] Discussed with: philip
Fix make depend
opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUGDo this by forcing inclusion ofsys/cddl/compat/opensolaris/sys/debug_compat.hvia -include option into all source files from OpenSolari
opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUGDo this by forcing inclusion ofsys/cddl/compat/opensolaris/sys/debug_compat.hvia -include option into all source files from OpenSolaris.Note that this -include option must always be after -include opt_global.h.Additionally, remove forced definition of DEBUG for some modules and fixtheir build without DEBUG.Also, meaning of DEBUG was overloaded to enable WITNESS support for someOpenSolaris (primarily ZFS) locks. Now this overloading is removed andthat use of DEBUG is replaced with a new option OPENSOLARIS_WITNESS.MFC after: 17 days
Add the DTrace kernel module makefiles.