OpenZFS/src 604805cmodule/os/linux/zfs zpl_ctldir.c

zpl_ctldir: remove comments describing ancient kernel behaviour

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+4-12module/os/linux/zfs/zpl_ctldir.c
+4-121 files

OpenZFS/src 96caec8module/os/linux/zfs zpl_ctldir.c zfs_ctldir.c

zfs_ctldir: move the invalid dentry check up to zpl_snapdir_automount()

If the dentry is invalid, don't even bother calling
zfsctl_snapshot_mount(). There's no practical change here, but it just
helps keep the notion of "invalidated dentry" in the binding.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+7-0module/os/linux/zfs/zpl_ctldir.c
+1-2module/os/linux/zfs/zfs_ctldir.c
+8-22 files

OpenZFS/src 85268c3include/os/linux/zfs/sys zfs_ctldir.h, module/os/linux/zfs zfs_ctldir.c zpl_ctldir.c

zfs_ctldir: remove flags arg to zfsctl_snapshot_mount()

Always set to 0, and never read anyway.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+1-1include/os/linux/zfs/sys/zfs_ctldir.h
+1-1module/os/linux/zfs/zfs_ctldir.c
+1-1module/os/linux/zfs/zpl_ctldir.c
+3-33 files

OpenZFS/src 3d50e1einclude/os/freebsd/zfs/sys zfs_ctldir.h, include/os/linux/zfs/sys zfs_ctldir.h

zfs_ctldir: remove flags arg to zfsctl_snapshot_unmount()

On FreeBSD, its ignored. On Linux, it's set to either MNT_EXPIRE or
MNT_FORCE, with MNT_FORCE adding the -f switch to the userspace
unmount(8) call. However, MNT_FORCE to umount(2) simply causes an early
call into sb->umount_begin() early in the unmount process, which we do
not implement. Therefore, it is effectively a no-op, and we can remove
it.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+3-5module/os/linux/zfs/zfs_ctldir.c
+1-1include/os/linux/zfs/sys/zfs_ctldir.h
+1-1module/os/freebsd/zfs/zfs_ctldir.c
+1-1include/os/freebsd/zfs/sys/zfs_ctldir.h
+1-1module/zfs/zfs_ioctl.c
+7-95 files

OpenZFS/src 8cffd87include/os/linux/zfs/sys zfs_ctldir.h, module/os/linux/zfs zfs_ctldir.c zfs_vfsops.c

zfs_ctldir: remove delay param for zfsctl_snapshot_unmount_delay()

It's always set to the zfs_expire_snapshot tunable and never changed.
There's no need to thread it through.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+9-8module/os/linux/zfs/zfs_ctldir.c
+1-2include/os/linux/zfs/sys/zfs_ctldir.h
+1-1module/os/linux/zfs/zfs_vfsops.c
+11-113 files

OpenZFS/src 7d9c1b3module/os/linux/zfs zfs_ctldir.c zfs_vfsops.c

zfs_ctldir: use dmu_objset_spa() to get spa pointer

Just for slightly easier readability against dmu_objset_id(), which is
often right near it.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+4-3module/os/linux/zfs/zfs_ctldir.c
+2-3module/os/linux/zfs/zfs_vfsops.c
+6-62 files

OpenZFS/src 42cbaafmodule/os/linux/zfs zfs_ctldir.c

zfs_ctldir: remove unused args to zfsctl_snapshot_alloc()

Since 4ce030e025 (2025) these have always been null/zero, which those
fields already are, so there's no need for them.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+2-5module/os/linux/zfs/zfs_ctldir.c
+2-51 files

OpenZFS/src ecab6ddmodule/os/linux/zfs zfs_ctldir.c

zfs_ctldir: remove se_root_dentry

Unused field since 9b77d1c958 (2017).

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18722
DeltaFile
+4-8module/os/linux/zfs/zfs_ctldir.c
+4-81 files

FreeBSD/ports c44751email/nextcloud-mail distinfo

mail/nextcloud-mail: Update to 5.10.4
DeltaFile
+3-3mail/nextcloud-mail/distinfo
+3-31 files

FreeBSD/ports 4c198ddmail/nextcloud-mail Makefile

mail/nextcloud-mail: Update to 5.10.5
DeltaFile
+1-1mail/nextcloud-mail/Makefile
+1-11 files

FreeBSD/ports 0702e01www/nextcloud-groupfolders distinfo Makefile

www/nextcloud-groupfolders: Update to 22.0.2
DeltaFile
+3-3www/nextcloud-groupfolders/distinfo
+1-1www/nextcloud-groupfolders/Makefile
+4-42 files

LLVM/project 4a6f7b1lld/ELF/Arch AArch64.cpp, lld/test/ELF aarch64-prel16.s aarch64-prel32.s

[lld] Make R_AARCH64_PREL32/16 only signed ints (#205963)

After https://github.com/ARM-software/abi-aa/pull/401, these are defined
to be only signed 32/16 bit ints rather than both signed and unsigned.

Assisted-by: Gemini
DeltaFile
+5-5lld/test/ELF/aarch64-prel16.s
+5-5lld/test/ELF/aarch64-prel32.s
+5-2lld/ELF/Arch/AArch64.cpp
+15-123 files

FreeBSD/ports d216e0cmail/nextcloud-mail distinfo Makefile

mail/nextcloud-mail: Update to 5.10.4
DeltaFile
+3-3mail/nextcloud-mail/distinfo
+1-1mail/nextcloud-mail/Makefile
+4-42 files

FreeBSD/ports 1044386www/nextcloud-tasks distinfo Makefile

www/nextcloud-tasks: Update to 0.18.1
DeltaFile
+3-3www/nextcloud-tasks/distinfo
+1-1www/nextcloud-tasks/Makefile
+4-42 files

LLVM/project f8e3973flang/lib/Semantics check-omp-variant.cpp check-omp-structure.h, flang/test/Semantics/OpenMP metadirective-loop-nest.f90 metadirective-loop-applicability.f90

[flang][OpenMP] Semantic checks for metadirective loop nests

A loop-associated metadirective variant (`do`, `simd`, ...) is only
resolved during lowering, so it is never checked as a loop construct
during semantic analysis; a malformed or non-canonical associated nest
therefore reaches lowering, which assumes a canonical nest.

This patch Validate the nest that follows such a variant (the next
executable construct) during semantics, reusing the diagnostics of a real
loop-associated construct. Each applicable variant is checked against it:

  * Canonical loop: the affected loop must be a canonical DO loop, so a
    `DO WHILE`, a pre-6.0 `DO CONCURRENT`, or a `DO` without loop control
    is rejected.
  * Nest depth: `collapse(n)` and `ordered(n)` must not exceed the depth
    of the associated loop nest.
  * Rectangularity: loops that must be rectangular (e.g. under `tile`) may
    not have bounds that depend on an outer loop's variable.


    [8 lines not shown]
DeltaFile
+134-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+123-0flang/lib/Semantics/check-omp-variant.cpp
+54-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+11-0flang/lib/Semantics/check-omp-structure.h
+4-0flang/lib/Semantics/check-omp-structure.cpp
+326-05 files

LLVM/project e6c909autils/bazel .bazelrc

[bazel] Fix remote exec with thin docker images (#205849)

rules_python is working on flipping this default but without this
setting /usr/bin/python3 must exist to run a py_binary. This might not
be the case in remote exec environments where you're trying to use the
smallest possible image.
DeltaFile
+3-0utils/bazel/.bazelrc
+3-01 files

LLVM/project 842558ellvm/test/TableGen searchabletables-multi-string-key.td, llvm/utils/TableGen SearchableTableEmitter.cpp

[TableGen] Fix SearchableTable lookup comparator w/ multiple string keys (#207021)

This change fixes a bug in `SearchableTableEmitter::emitLookupFunction`
where `emitComparator` redeclares `LHSStr`/`RHSStr` in the same scope.
This fix simply attaches the Field.Name to the emitted `LHSStr`/`RHSStr`
variable names.
DeltaFile
+40-0llvm/test/TableGen/searchabletables-multi-string-key.td
+15-9llvm/utils/TableGen/SearchableTableEmitter.cpp
+55-92 files

LLVM/project 1d2645fclang/lib/CIR/CodeGen CIRGenModule.cpp, clang/test/CIR/CodeGen global-replace-string-array.c

[CIR] Fix getNewInitValue on string-literal arrays

`getNewInitValue` in `CIRGenModule.cpp` rebuilds a global's initializer when
`replaceGlobal` fixes up references after a global's type changes -- for
example when an `extern` array is referenced while still incomplete and then
completed. Its `ConstArrayAttr` branch cast `getElts()` to an `mlir::ArrayAttr`,
but a `ConstArrayAttr` built from a string literal stores its elements as a
`StringAttr`. A struct global that both points at the replaced global and has a
`char` array member therefore aborted on a failed `cast<ArrayAttr>` during
CIRGen.

`ConstArrayAttr::verify` allows only two element kinds: an `ArrayAttr` or a
`StringAttr`. A `StringAttr` holds raw 8-bit bytes and references no globals, so
there is nothing to rewrite. The fix returns the initializer unchanged for the
`StringAttr` case and `cast`s on the `ArrayAttr` path, so a future third element
kind asserts rather than silently passing through.

This surfaced compiling CPython's deep-frozen module data (SPEC CPU 2026
714.cpython_r), where frozen objects cross-reference each other and carry string
payloads. The benchmark advances past this abort to a const-record type-identity
issue that is tracked separately.
DeltaFile
+21-0clang/test/CIR/CodeGen/global-replace-string-array.c
+9-1clang/lib/CIR/CodeGen/CIRGenModule.cpp
+30-12 files

LLVM/project f2ff9a5llvm/test/CodeGen/AMDGPU s-barrier-signal-var-gep.ll

[AMDGPU] Consolidate CHECK lines for barrier-gep test. NFC

Change-Id: I5d1e155cb02acba76bcdd8a1413d8e694b83ee83
DeltaFile
+172-197llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
+172-1971 files

FreeNAS/freenas bff0a5csrc/middlewared/middlewared/api/v27_0_0 filesystem.py update.py, src/middlewared/middlewared/plugins filesystem.py

NAS-141463 / 27.0.0-BETA.1 / Enable pydantic mypy plugin and fix some errors (#19165)
DeltaFile
+19-14src/middlewared/middlewared/utils/filesystem/stat_x.py
+17-6src/middlewared/middlewared/utils/filesystem/directory.py
+5-7src/middlewared/middlewared/api/v27_0_0/filesystem.py
+10-1src/middlewared/middlewared/utils/crypto.py
+5-4src/middlewared/middlewared/plugins/filesystem.py
+4-2src/middlewared/middlewared/api/v27_0_0/update.py
+60-3414 files not shown
+75-4120 files

LLVM/project 8ad161dllvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp

No else after return

Change-Id: Iff2630b1ac15ff821eacb4a8c9339c85a876ddbc
DeltaFile
+6-5llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+6-51 files

LLVM/project cf360fbllvm/include/llvm/ADT IntervalMap.h, llvm/lib/Support UnicodeNameToCodepoint.cpp

[LLVM] Avoid nested std::min and std::max. NFC. (#206982)
DeltaFile
+2-2llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
+2-2llvm/include/llvm/ADT/IntervalMap.h
+1-2llvm/lib/TextAPI/RecordsSlice.cpp
+1-2llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp
+1-1llvm/lib/Support/UnicodeNameToCodepoint.cpp
+1-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+8-106 files

FreeNAS/freenas 8cb27e7src/middlewared/middlewared/plugins/enclosure_ nvme2.py slot_mappings.py, src/middlewared/middlewared/pytest/unit/plugins/enclosure/test-cases/V260-NOJBODS mocked.json expected.json

NAS-141457 / 26.0.0-RC.1 / V-series rear-bay enclosure support via bifurcated NTG SES partition

Adds enclosure2.query support for V-series rear bays (V140, V160, V260,
V280) served by the bay-serving half of the bifurcated PEX89032 NTG
chip. The other half has no drives and is dropped from enclosure2.query
— discriminated by Array Device Slot descriptor labels ('slot01'..'slot04'
identifies the bay-serving partition; '<empty>' identifies the no-drives
half). Both halves share the same vendor / product / encid, so descriptor
labels are the only discriminator.

Changes:

- ses_enclosures2 adds _VSERIES_REAR_PRODUCTS, the
  _vseries_rear_partition_owns_bays discriminator, and
  _initialize_v_series_rear_enclosures (picks the bay-serving partition,
  tags it slot_designation='REAR', drops the no-drives partition).
  get_ses_enclosures grows a deferred_rear bucket and dispatches via the
  unified _initialize_v_series_enclosures wrapper.


    [21 lines not shown]
DeltaFile
+702-0src/middlewared/middlewared/pytest/unit/plugins/enclosure/test-cases/V260-NOJBODS/mocked.json
+606-0src/middlewared/middlewared/pytest/unit/plugins/enclosure/test-cases/V260-NOJBODS/expected.json
+0-101src/middlewared/middlewared/plugins/enclosure_/nvme2.py
+27-48src/middlewared/middlewared/plugins/enclosure_/slot_mappings.py
+58-10src/middlewared/middlewared/plugins/enclosure_/ses_enclosures2.py
+5-14src/middlewared/middlewared/plugins/enclosure_/enclosure_class.py
+1,398-1736 files

FreeNAS/freenas 603e1dbsrc/middlewared/middlewared/plugins/enclosure_ slot_mappings.py

drop V-series from get_nvme_slot_info

(cherry picked from commit 8010d68bf6d0c634a892835358a0e1acf163ee1a)
DeltaFile
+0-4src/middlewared/middlewared/plugins/enclosure_/slot_mappings.py
+0-41 files

FreeNAS/freenas fc3f25fsrc/middlewared/middlewared/plugins/enclosure_ sysfs_disks.py

remove fluffy comment

(cherry picked from commit ed7d00dc43712708889d2d49f3f98b13f1c99419)
DeltaFile
+0-4src/middlewared/middlewared/plugins/enclosure_/sysfs_disks.py
+0-41 files

FreeNAS/freenas cce9571src/middlewared/middlewared/plugins/enclosure_ ses_enclosures2.py constants.py

address further reviews

(cherry picked from commit 65d21ad881edb5b435a3ab82c14bb8a0548690cb)
DeltaFile
+12-17src/middlewared/middlewared/plugins/enclosure_/ses_enclosures2.py
+21-0src/middlewared/middlewared/plugins/enclosure_/constants.py
+5-3src/middlewared/middlewared/plugins/enclosure_/slot_mappings.py
+2-5src/middlewared/middlewared/plugins/enclosure_/sysfs_disks.py
+2-1src/middlewared/middlewared/plugins/enclosure_/enclosure_class.py
+42-265 files

FreeNAS/freenas 360869asrc/middlewared/middlewared/plugins/enclosure_ ses_enclosures2.py

remove _initialize_v_series_enclosures

(cherry picked from commit 94bfae0434590c6b599741283ade1b356ce29243)
DeltaFile
+4-14src/middlewared/middlewared/plugins/enclosure_/ses_enclosures2.py
+4-141 files

FreeNAS/freenas eb04c4fsrc/middlewared/middlewared/plugins/enclosure_ ses_enclosures2.py slot_mappings.py

NAS-141457 / 26.0.0-RC.1 / V-series V2xx front-bay enclosure support

Adds enclosure2.query support for V2xx (V260/V280) front-bay drives,
which are served by a single Broadcom PEX89088 PCIe switch chip
partitioned into two SES VirtualSES enclosures (replacing V1xx's dual
9600w-12i4e SAS HBAs).

Key V2xx differences handled here:

- The two PEX89088 SES partitions advertise the SAME encid (SAS
  address), so the V1xx encid-comparison disambiguation fails.
  ses_enclosures2 now falls back to inspecting Array Device Slot element
  descriptor labels ('slot01'..'slot12' identifies the NVME0 partition;
  'slot13'..'slot24' identifies NVME8).

- V2xx slot indexing differs from V1xx: each partition exposes its 12
  owned slots at libsg3 element keys 1-12 (NVME0) or 13-24 (NVME8),
  with sysfs slot files matching the key 1:1. slot_mappings now branches
  by enc.product so the V2xx table is picked for ECStream 4IXGA-SWp/s.

    [12 lines not shown]
DeltaFile
+82-20src/middlewared/middlewared/plugins/enclosure_/ses_enclosures2.py
+79-5src/middlewared/middlewared/plugins/enclosure_/slot_mappings.py
+24-2src/middlewared/middlewared/plugins/enclosure_/sysfs_disks.py
+19-1src/middlewared/middlewared/plugins/enclosure_/enclosure_class.py
+204-284 files

FreeBSD/ports 44d8278math/octave-forge-io distinfo Makefile

math/octave-forge-io: Update to 2.7.2.
DeltaFile
+3-3math/octave-forge-io/distinfo
+1-2math/octave-forge-io/Makefile
+4-52 files

LLVM/project 478acecllvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU s-barrier-signal-var-gep.ll

[AMDGPU] Fold constant offsets into named barrier addresses

Allow isOffsetFoldingLegal to fold a constant offset into an LDS
named-barrier global, and include the node offset when materializing the
LDS address in LowerGlobalAddress. s_barrier_signal_var on a GEP'd named
barrier now selects the immediate form, matching a bare global and GlobalISel.
With object linking the offset folds into the relocation addend.

The barrier ID is derived from the address via (addr >> 4) & 0x3F, so a
byte offset that does not land on a 16-byte barrier boundary is still
valid: it simply selects the containing barrier. No alignment assertion
is needed, and such offsets must not crash the compiler (see the
misaligned test).

Change-Id: I639bc723eb001573585cc05d0ad19f2773054f21
Assisted-by: Cursor
DeltaFile
+8-6llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+4-8llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
+8-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+20-143 files