Run the S3 service suites unconditionally
The daemon is in the TrueNAS image now, so the two suites that start
it no longer wait for TRUENAS_S3_DAEMON to say a box has one. The
access key suite never needed it.
(cherry picked from commit b600cb68314579ad97c1f096c1ba0d4ad5462ed0)
NAS-143161 / 26.0.0-RC.1 / Run the S3 service suites unconditionally (#19629)
The daemon is in the TrueNAS image now, so the two suites that start it
no longer wait for TRUENAS_S3_DAEMON to say a box has one. The access
key suite never needed it.
NAS-143103 / 26.0.0 / add s3 service (by yocalebo) (#19627)
Adds the s3 service with associated tests. All of the tests pass locally
and without issue but they are disabled until the s3 binary is included
in the TrueNAS image.
Original PR: https://github.com/truenas/middleware/pull/19610
---------
Co-authored-by: caleb <yocalebo at gmail.com>
[VPlan] Preserve nneg when expanding SCEVZeroExtendExpr. (#221322)
Add nneg to ZExt when expanding a SCEV where SCEV can prove it is
non-negative, matching behavior of IR SCEVExpander::visitZeroExtendExpr.
NAS-143103 / 26.0.0-RC.1 / add s3 service (#19610)
Adds the s3 service with associated tests. All of the tests pass locally
and without issue but they are disabled until the s3 binary is included
in the TrueNAS image.
manpages: Fix author e-mail address formatting
- consistently use Mt request within Aq. This makes author
e-mail addresses clickable in many frontends.
- @freebsd.org -> @FreeBSD.org
- (user at host.tld) -> Aq Mt user at host.tld
Event: Berlin Hackathon 202609
MFC after: 3 days
Reviewed by: ziaee
Differential Revision: https://reviews.freebsd.org/D59410
[libc] Add CMake formatting utility (#213102)
Added libc/utils/cmake_format.py and libc/utils/cmake_format_test.py to
format LLVM and subproject CMake files according to LLVM-libc formatting
conventions.
The formatter operates in three passes:
* Lexer: Tokenises input using the cmake-language(7) EBNF specification
into typed Token objects with line and column position tracking.
* Dynamic Schema Scanner: Pre-scans repository CMake modules and
function blocks to learn option, single-value, and multi-value keyword
argument schemas from cmake_parse_arguments and set calls.
* Token-Stream Formatter: Applies 2-space control block nesting, keyword
casing, comment buffering, and multi-line list indentation in a single
pass.
The utility supports parallel multi-core execution (-j/--jobs) and
in-place file formatting (-i/--inplace). Added 44 unit tests covering
[2 lines not shown]
[CIR] Emit Memset in emitNullInitialization for default inits case (#221029)
Emit the cir.libc.memset op in emitNullInitialization for the default
inits case, which ends up with emitted IR identical to the original
codegen and eliminates the need to create a private global instance of a
struct with zero init
Mips: Drop use of AllowFPOpFusion
Fuse MSA fmadd/fmsub based on the contract flag. Fix a few
places dropping the flags during legalization.
The handling here of fusion isn't ideal. isFMAFasterThanFMulAndFAdd
is not implemented, so these patterns are doing a lot heavier and
less optimal work than the DAGCombiner logic will do.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
NVPTX: Drop global AllowFPOpFusion read from allowFMA (#221313)
We're near the end of the decade long effort to eliminate the
fast math fields from TargetOptions. This is one of the few
remaining consumers, so remove it. Update incidentally
changed tests by adding contract flags.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
zpool: things get messy with 0 columns
zpool iostat with terminal reporting 0 columns will print out
a very long line. Use columns 80 when query reports 0.
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Toomas Soome <tsoome at me.com>
Closes #19051
[OMPIRBuilder] Keep the target construct's location for the deinit call (#221303)
#217407 gave __kmpc_target_init and __kmpc_target_deinit a debug
location by setting the outlined function's location once, before
generating the target body. The init call is emitted before the body and
keeps it, but the deinit call is emitted after, and by then the body may
have replaced it.
The body callback builds the body with its own IRBuilder, so nothing it
emits can disturb the one createOutlinedFunction() uses for the
epilogue. But a body holding another OpenMP construct, a nested parallel
say, calls OpenMPIRBuilder::createParallel, and that leaves the builder
pointing at the wrong debug location, or at none at all. The deinit call
then silently loses its !dbg again.
The test added with #217407 uses a target region whose body is a single
store. Such a body never calls back into OpenMPIRBuilder, the location
survives, and the gap was not visible.
[8 lines not shown]
[cmake] Fix ninja clean failure for cross-compilation native build dir (#200641)
Ninja clean treats every build OUTPUT as a path to remove(). When NATIVE
(the cross-compilation host sub-build directory) was registered directly
as the OUTPUT of the CREATE_<project>_<target> custom command, ninja
tried to remove() it as if it were a file and failed with "Directory not
empty".
Fixed by introducing a stamp file (NATIVE/created.stamp) as the sole
CMake OUTPUT of that custom command. The stamp file is what ninja cleans
(a single file removal), while make_directory remains idempotent on
subsequent builds.
ZTS: wait for the zhack pids mmp_concurrent_import started
verify_zhack() looks up the processes to wait for by name:
ZHACKPIDS=$(pgrep zhack)
for pid in $ZHACKPIDS; do
wait $pid
so it only waits for the zhacks that pgrep happens to see. One that has
not reached its exec() yet is still named after the shell that forked
it, and one that has already exited is gone; either way the test
continues while a zhack may still hold the pool imported, and the
import_activity_check() that follows then finds activity where it
requires mmp_result: 0. A zhack missed this way is also not counted,
so IMPORT_COUNT can silently disagree with what actually happened.
A CI run failed this way. Two zhacks were started, only one was
reported, the other was still running at the end and was killed by
cleanup:
[21 lines not shown]
ZTS: let the zvol settle before alloc_class_016_pos destroys the pool
The test writes 10M to a zvol and then destroys the pool a few tens of
milliseconds later:
cannot destroy 'testpool': pool is busy
ERROR: zpool destroy -f testpool exited 1
Closing the zvol makes the kernel emit a change uevent, udev opens the
device to scan it, and a destroy issued while that scan is in flight
gets EBUSY. The test already waits for udev after creating the volume
but not after writing to it, and it destroys the pool with log_must
rather than log_must_busy.
Wait for udev again after the write, and destroy the pool the way
destroy_pool() does, retrying while it reports "busy".
Verified in a VM. The race does not reproduce on an idle machine, so
udev was imitated by holding the zvol open for three seconds before the
[7 lines not shown]
[include-cleaner] Support Objective-C toll-free bridged casts (#216158)
Handle `CK_CPointerToObjCPointerCast` in `WalkAST` to report implicit
case when converting id/void to an Objective-C type (non-arc only). Also
adds unit tests for various bridged cast types (these were already
covered, but this verifies that they work).
18400 posix_spawnattr_init(3C) uses wrong size
Reviewed by: Andrew Stormont <andyjstormont at gmail.com>
Reviewed by: Cedric Blancher <cedric.blancher at gmail.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Dale Ghent <daleg at elemental.org>
Approved by: Dan McDonald <danmcd at kebe.com>
[LV] Add VPlan printing tests for memory runtime check generation (NFC) (#221232)
Add VPlan printing tests with runtime check blocks, as well as coverage
for checks where one of the bounds involves an AddRec.
[lit] Apply --filter-out to GoogleTest shard results (#220410)
[lit] Apply --filter-out to tests expanded from GoogleTest shards
A GoogleTest shard is a single lit test at discovery time, so
`--filter-out` can only match the shard's name and has no way to
deselect individual gtest cases. The cases only get real names once
`post_process_shard_results` expands the shard's JSON output.
Apply the filter there instead: mark expanded subtests whose full name
matches `--filter-out` as EXCLUDED. Record `has_failure_in_shard` before
the filter is applied, so a shard whose only failing cases were filtered
out is still considered accounted for and is not additionally reported as
a failure of the parent shard.
Add a test which filters out the failing and unresolved cases of the
googletest-format inputs and checks that the run reports 2 excluded
and no failures.
Assisted-By: Claude Opus 5.
zcp: support bookmarks in zfs.sync.destroy
Teach the channel-program synctask destroy path to recognize bookmark
targets and route them through the existing bookmark-destroy
implementation. This enables zfs.sync.destroy() to remove bookmarks from
Lua channel programs, matching the behavior already available for
datasets and snapshots. A functional regression test was added to cover
bookmark destruction from a channel program.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
Closes #18992