Illumos/gate 025a8c1usr/src/cmd/smbsrv/smbadm smbadm.c, usr/src/man/man8 smbadm.8

15977 smbadm option to show group member SIDs
Reviewed by: Jerry Jelinek <gjelinek at racktopsystems.com>
Reviewed by: Matt Barden <mbarden at racktopsystems.com>
Approved by: Robert Mustacchi <rm at fingolfin.org>
DeltaFile
+19-13usr/src/cmd/smbsrv/smbadm/smbadm.c
+5-2usr/src/man/man8/smbadm.8
+24-152 files

Illumos/gate 821b358usr/src/cmd/smbsrv/smbadm smbinfo.c smbadm.c, usr/src/man/man8 smbadm.8

15976 List users connected via SMB
Reviewed by: Gordon Ross <gwr at racktopsystems.com>
Reviewed by: Matt Barden <mbarden at racktopsystems.com>
Approved by: Robert Mustacchi <rm at fingolfin.org>
DeltaFile
+714-0usr/src/cmd/smbsrv/smbadm/smbinfo.c
+115-14usr/src/man/man8/smbadm.8
+66-18usr/src/cmd/smbsrv/smbadm/smbadm.c
+38-0usr/src/cmd/smbsrv/smbadm/smbadm.h
+4-1usr/src/cmd/smbsrv/smbadm/Makefile
+937-335 files

Illumos/gate 34bbc83usr/src/lib/smbsrv/libfksmbsrv/common fksmb_init.c, usr/src/lib/smbsrv/libsmb/common smb_kmod.c

15975 Let smbsrv driver allow multiple opens
Reviewed by: Jason King <jking at racktopsystems.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Robert Mustacchi <rm at fingolfin.org>
DeltaFile
+193-63usr/src/uts/common/fs/smbsrv/smb_init.c
+26-84usr/src/uts/common/fs/smbsrv/smb_server.c
+39-30usr/src/lib/smbsrv/libfksmbsrv/common/fksmb_init.c
+21-18usr/src/uts/common/smbsrv/smb_kproto.h
+7-29usr/src/uts/common/fs/smbsrv/smb_kshare.c
+16-4usr/src/lib/smbsrv/libsmb/common/smb_kmod.c
+302-2286 files not shown
+313-23312 files

LLVM/project 130ebdellvm/docs ReleaseNotes.rst, llvm/docs/CommandGuide llvm-readelf.rst llvm-readobj.rst

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5-bogner
DeltaFile
+15-53llvm/tools/llvm-readobj/ELFDumper.cpp
+2-47llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
+0-4llvm/docs/CommandGuide/llvm-readelf.rst
+0-4llvm/docs/CommandGuide/llvm-readobj.rst
+4-0llvm/docs/ReleaseNotes.rst
+0-2llvm/tools/llvm-readobj/llvm-readobj.cpp
+21-1102 files not shown
+21-1128 files

LLVM/project afc8ad0llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 vector-fshr-256.ll vector-fshl-256.ll

[X86] LowerFunnelShift - improve handling of vXi8 constant splat funnel shifts

This patch moves the promotion to vXi16 shifts and the upper/lower bit masking into LowerFunnelShift for targets that have a bit-select instruction (XOP's VPCMOV and AVX512's VPTERNLOG).

This prevents the regressions in #89115 due to the masking of ((X << V) | (Y >> (8-V))) vXi8 shifts.
DeltaFile
+24-1llvm/lib/Target/X86/X86ISelLowering.cpp
+9-11llvm/test/CodeGen/X86/vector-fshr-256.ll
+9-11llvm/test/CodeGen/X86/vector-fshl-256.ll
+3-3llvm/test/CodeGen/X86/vector-fshl-128.ll
+3-3llvm/test/CodeGen/X86/vector-fshr-128.ll
+48-295 files

HardenedBSD/src 59f854bsbin/ldconfig elfhints.c, usr.bin/expand expand.1

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+93-132usr.sbin/adduser/adduser.sh
+5-9usr.sbin/freebsd-update/freebsd-update.sh
+4-4sbin/ldconfig/elfhints.c
+1-1usr.bin/expand/expand.1
+103-1464 files

HardenedBSD/ports 469692asysutils/conky/files patch-src_display-x11.cc, www/deno distinfo Makefile.crates

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+379-355www/deno/distinfo
+188-176www/deno/Makefile.crates
+26-0sysutils/conky/files/patch-src_display-x11.cc
+24-0x11-toolkits/gtk-session-lock/Makefile
+11-12x11/gtklock/Makefile
+3-15www/deno/files/patch-Cargo.lock
+631-55851 files not shown
+758-65157 files

LLVM/project a6a4d4aflang CMakeLists.txt

Reland "[flang][build] Fixed paths discrovery for the out-of-tree build. (#87822)"

This reverts commit 215eee60497489ae0cc7cc78c0d8b8270e057a70.
DeltaFile
+10-8flang/CMakeLists.txt
+10-81 files

LLVM/project 7c7eb6dmlir/test/lib/Dialect/Test TestDialect.cpp TestOpDefs.cpp

[mlir][test] Shard and reorganize the test dialect

Shard the test dialect by 4. This patch also reorganizes the manually-written
op hooks into `TestOpDefs.cpp` and format custom directive parser and printers
into `TestFormatUtils`, adds missing comment blocks, and moves around where
generated source files are included for types, attributes, enums, etc.

In my case, the compilation time of the test dialect drops from >60s to ~10s.
DeltaFile
+151-1,300mlir/test/lib/Dialect/Test/TestDialect.cpp
+1,161-0mlir/test/lib/Dialect/Test/TestOpDefs.cpp
+377-0mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
+211-0mlir/test/lib/Dialect/Test/TestFormatUtils.h
+149-0mlir/test/lib/Dialect/Test/TestOps.h
+6-44mlir/test/lib/Dialect/Test/TestDialect.h
+2,055-1,34437 files not shown
+2,133-1,36643 files

LLVM/project efdf99dflang/lib/Lower/OpenMP OpenMP.cpp

Concatenate begin/end directives for "parallel sections"
DeltaFile
+10-18flang/lib/Lower/OpenMP/OpenMP.cpp
+10-181 files

LLVM/project 4841d70flang/docs FlangDriver.md, flang/tools/f18 flang-to-external-fc.in CMakeLists.txt

[flang] Remove obsolete flang-to-external-fc tool (#88904)

It seems like the `flang-to-external-fc` tool is no longer needed,
because Flang is now a full compiler in its own right. After PR #85249
has landed, this tool will not be able to pick up the `.f18.mod` files.
DeltaFile
+0-497flang/tools/f18/flang-to-external-fc.in
+0-20flang/docs/FlangDriver.md
+0-11flang/tools/f18/CMakeLists.txt
+0-5283 files

OPNSense/core 8167625src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms dialogConfigBuilder.xml

misquelling of address in wireguard peer generator (#7398)

DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogConfigBuilder.xml
+1-11 files

LLVM/project c045955mlir/lib/Dialect/Tensor/IR TensorOps.cpp, mlir/test/Dialect/Tensor canonicalize.mlir

[mlir][tensor] Fold `tensor.reshape` for dynamic reshape (#88961)

If `tensor.reshape` occurs with `d0, d1, d2, ...` for the dimensions we
know that the reshape is a no-op. Checking for this case lets us fold
away the computation.
DeltaFile
+47-0mlir/test/Dialect/Tensor/canonicalize.mlir
+35-0mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+82-02 files

LLVM/project ab22504libcxx/include variant, libcxx/include/__memory uses_allocator_construction.h

[libc++] Fix usage of 'exclude_from_explicit_instantiation' attribute on local class members (#89377)

#88777 adds a warning for when the `exclude_from_explicit_instantiation`
attribute is applied to local classes and members thereof. This patch
addresses the few instances of `exclude_from_explicit_instantiation`
being applied to local class members in libc++.
DeltaFile
+3-5libcxx/include/__memory/uses_allocator_construction.h
+2-2libcxx/include/variant
+5-72 files

OpenZFS/src 72e4996include/os/linux/kernel/linux blkdev_compat.h

bdev_discard_supported: understand discard_granularity=0

Kernel documentation for the discard_granularity property says:

    A discard_granularity of 0 means that the device does not support
    discard functionality.

Some older kernels had drivers (notably loop, but also some USB-SATA
adapters) that would set the QUEUE_FLAG_DISCARD capability flag, but
have discard_granularity=0. Since 5.10 (torvalds/linux at b35fd7422c2f) the
discard entry point blkdev_issue_discard() has had a check for this,
which would immediately reject the call with EOPNOTSUPP, and throw a
scary diagnostic message into the log. See #16068.

Since 6.8, the block layer sets a non-zero default for
discard_granularity (torvalds/linux at 3c407dc723bb), and a future kernel
will remove the check entirely[1].

As such, there's no good reason for us to enable discard when

    [10 lines not shown]
DeltaFile
+4-2include/os/linux/kernel/linux/blkdev_compat.h
+4-21 files

OpenZFS/src cd3e6b4cmd arcstat.in

Add zfetch stats in arcstats

arc_summary also reports zfetch stats but it's inconvenient to monitor
contiguously incrementing numbers. Adding them in arcstats allows us to
observe streams more conveniently.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Signed-off-by: Ameer Hamza <ahamza at ixsystems.com>
Closes #16094 
DeltaFile
+42-5cmd/arcstat.in
+42-51 files

OpenZFS/src 35bf258module/icp/asm-aarch64/blake3 b3_aarch64_sse2.S b3_aarch64_sse41.S

Fix: FreeBSD Arm64 does not build currently

The define LD_VERSION isn't defined on FreeBSD Arm64 when OpenZFS is
build with the default compiler: clang.
I used only gcc for testing - my fault.

Fast fix as suggested by @mmatuska

Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Martin Matuska <mm at FreeBSD.org>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes #16103 
DeltaFile
+1-1module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S
+1-1module/icp/asm-aarch64/blake3/b3_aarch64_sse41.S
+2-22 files

HardenedBSD/ports bdf02e6devel/jenkins distinfo Makefile

devel/jenkins: Update to 2.454

Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-3devel/jenkins/distinfo
+1-1devel/jenkins/Makefile
+4-42 files

FreeBSD/ports bdf02e6devel/jenkins distinfo Makefile

devel/jenkins: Update to 2.454

Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-3devel/jenkins/distinfo
+1-1devel/jenkins/Makefile
+4-42 files

OpenZFS/src 575872cinclude/sys multilist.h, module/zfs arc.c multilist.c

L2ARC: Relax locking during write

Previous code held ARC state sublist lock throughout all L2ARC
write process, which included number of allocations and even ZIO
issues.  Being blocked in any of those places the code could also
block ARC eviction, that could cause OOM activation or even dead-
lock if system is low on memory or one is too fragmented.

Fix it by dropping the lock as soon as we see a block eligible
for L2ARC writing and pick it up later using earlier inserted
marker.  While there, also reduce scope of hash lock, moving
ZIO allocation and other operations not requiring header access
out of it.  All operations requiring header access move under
hash lock, since L2_WRITING flag does not prevent header eviction
only transition to arc_l2c_only state with L1 header.

To be able to manipulate sublist lock and marker as needed add few
more multilist functions and modify one.


    [3 lines not shown]
DeltaFile
+98-91module/zfs/arc.c
+24-2module/zfs/multilist.c
+5-5module/zfs/dmu_objset.c
+4-4module/zfs/metaslab.c
+4-1include/sys/multilist.h
+1-1module/zfs/dbuf.c
+136-1046 files

OpenZFS/src 3e91a9cmodule/zfs brt.c

BRT: Skip getting length in brt_entry_lookup()

Unlike DDT, where ZAP values may have different lengths due to
compression, all BRT entries are identical 8-byte counters.  It
does not make sense to first fetch the length only to assert it.
zap_lookup_uint64() is specifically designed to work with counters
of different size and should return error if something odd found.
Calling it straight allows to save some measurable CPU time.

Reviewed-by: Pawel Jakub Dawidek <pawel at dawidek.net>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rob Norris <robn at despairlabs.com>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15950 
DeltaFile
+2-16module/zfs/brt.c
+2-161 files

OpenZFS/src c94f730man/man4 zfs.4, module/zfs brt.c

BRT: Make BRT block sizes configurable

Similar to DDT make BRT data and indirect block sizes configurable
via module parameters.  I am not sure what would be the best yet,
but similar to DDT 4KB blocks kill all chances of compression on
vdev with ashift=12 or more, that on my tests reaches 3x.

While here, fix documentation for respective DDT parameters.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15967 
DeltaFile
+11-11module/zfs/brt.c
+15-2man/man4/zfs.4
+26-132 files

OpenZFS/src 19bf54binclude/sys zap.h, module/zfs zap_micro.c brt.c

ZAP: Massively switch to _by_dnode() interfaces

Before this change ZAP called dnode_hold() for almost every block
access, that was clearly visible in profiler under heavy load, such
as BRT.  This patch makes it always hold the dnode reference between
zap_lockdir() and zap_unlockdir().  It allows to avoid most of dnode
operations between those.  It also adds several new _by_dnode() APIs
to ZAP and uses them in BRT code.  Also adds dmu_prefetch_by_dnode()
variant and uses it in the ZAP code.

After this there remains only one call to dmu_buf_dnode_enter(),
which seems to be unneeded.  So remove the call and the functions.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15951 
DeltaFile
+146-60module/zfs/zap_micro.c
+14-58module/zfs/brt.c
+16-27module/zfs/zap.c
+14-4module/zfs/dmu.c
+0-15module/zfs/dbuf.c
+8-0include/sys/zap.h
+198-1643 files not shown
+202-1729 files

OpenZFS/src fdd8c0amodule/zfs brt.c

BRT: Skip duplicate BRT prefetches

If there is a pending entry for this block, then we've already
issued BRT prefetch for it within this TXG, so don't do it again.
BRT vdev lookup and following zap_prefetch_uint64() call can be
pretty expensive and should be avoided when not necessary.

Reviewed-by: Pawel Jakub Dawidek <pawel at dawidek.net>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15941 
DeltaFile
+3-3module/zfs/brt.c
+3-31 files

OpenZFS/src fa5de0cmodule/zfs dmu_recv.c

Update resume token at object receive.

Before this change resume token was updated only on data receive.
Usually it is enough to resume replication without much overlap.
But we've got a report of a curios case, where replication source
was traversed with recursive grep, which through enabled atime
modified every object without modifying any data.  It produced
several gigabytes of replication traffic without a single data
write and so without a single resume point.

While the resume token was not designed to resume from an object,
I've found that the send implementation always sends object before
any data. So by requesting resume from offset 0 we are effectively
resuming from the object, followed (or not) by the data at offset
0, just as we need it.

Reviewed-by: Allan Jude <allan at klarasystems.com>
Reviewed-by: Paul Dagnelie <pcd at delphix.com>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15927 
DeltaFile
+10-0module/zfs/dmu_recv.c
+10-01 files

OpenZFS/src 793a2cfinclude/os/linux/spl/sys taskq.h, man/man4 spl.4

Linux: Cleanup taskq threads spawn/exit

This changes taskq_thread_should_stop() to limit maximum exit rate
for idle threads to one per 5 seconds.  I believe the previous one
was broken, not allowing any thread exits for tasks arriving more
than one at a time and so completing while others are running.

Also while there:
 - Remove taskq_thread_spawn() calls on task allocation errors.
 - Remove extra taskq_thread_should_stop() call.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rich Ercolani <rincebrain at gmail.com>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15873 
DeltaFile
+29-56module/os/linux/spl/spl-taskq.c
+4-14man/man4/spl.4
+1-1include/os/linux/spl/sys/taskq.h
+34-713 files

OpenZFS/src 3b8817dinclude/os/linux/zfs/sys trace_zil.h

ZIL: Update Linux tracing after #15635

While picking parts from #14909 I've missed Linux tracing specific
ones, that went unnoticed in default configurations, but breaks the
build in some.

Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Reviewed-by: Brian Atkinson <batkinson at lanl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15730 
DeltaFile
+10-4include/os/linux/zfs/sys/trace_zil.h
+10-41 files

OpenZFS/src 8b1a132module/zfs zio.c zil.c

ZIO: Optimize zio_flush()

- Generalize vdev_nowritecache handling by traversing through the
VDEV tree and skipping children ZIOs where not supported.
 - Remove intermediate zio_null() in case of several VDEV children.
 - Remove children handling from zio_ioctl().  There are no other
use cases for this code beside DKIOCFLUSHWRITECACHED, and would there
be, I doubt they would so straightforward apply to all VDEV children.

Comparing to removed previous optimization this should improve cases
of redundant ZILs/SLOGs.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: George Wilson <george.wilson at delphix.com>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15515 
DeltaFile
+15-21module/zfs/zio.c
+1-1module/zfs/zil.c
+16-222 files

OpenZFS/src 7ea8331include/sys zil_impl.h, man/man4 zfs.4

ZIL: Detect single-threaded workloads

... by checking that previous block is fully written and flushed.
It allows to skip commit delays since we can give up on aggregation
in that case.  This removes zil_min_commit_timeout parameter, since
for single-threaded workloads it is not needed at all, while on very
fast devices even some multi-threaded workloads may get detected as
single-threaded and still bypass the wait.  To give multi-threaded
workloads more aggregation chances increase zfs_commit_timeout_pct
from 5 to 10%, as they should suffer less from additional latency.

Also single-threaded workloads detection allows in perspective better
prediction of the next block size.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Prakash Surya <prakash.surya at delphix.com>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #15381 
DeltaFile
+40-51module/zfs/zil.c
+1-8man/man4/zfs.4
+3-1include/sys/zil_impl.h
+44-603 files

OpenZFS/src f4ce02amodule/zfs dmu_zfetch.c

Small fix to prefetch ranges aggregation

When after #16022 adding new range we aggregate more than two
existing ranges, that should be very rare, only if several streams
overlap, we may need to zero not the last range, but some earlier.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #16072 
DeltaFile
+2-2module/zfs/dmu_zfetch.c
+2-21 files