NAS-139059 / 26.04 / fix snapshot regressions (and tests) (#17893)
I regressed a few tests and behavior. This fixes most of them. The
retention tests are still failing but I'll have to review those more
closely since it's not immediately apparent what it's even testing
especially since it's only a specific area of a test that's failing.
Improve handling of SMB paths for HA systems
This commit shifts the majority of SMB-related paths that aren't
required for SMB session persistence to the boot pool. This
enables the standby controller to more readily be prepared to take
over sessions because we have to resync fewer items on failover
and don't have to replace winbindd / sssd state and flush caches.
atf_python: support setting interface mtu
Teach the vnet support code to set interface MTU. Some tests make use of
this, so have the framework handle it.
Adapt a few pf tests to use this.
Reviewed by: melifaro
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D54333
NAS-139002 / 25.10.2 / Ensure that various services don't run on HA standby (by anodos325) (#17891)
This commit adds ability to flag services such that they should not be
run on the standby controller. During vrrp_backup events the specified
services are stopped.
Original PR: https://github.com/truenas/middleware/pull/17884
Co-authored-by: Andrew Walker <awalker at ixsystems.com>
[ELF][AArch64][PAC] Replace R_AARCH64_AUTH_ABS64 addend hack
Rather than trying to infer deep down in AArch64::relocate whether we
need to actually write anything or not, we should instead mark the
relocations that we no longer want so we don't actually apply them. This
is similar to how X86_64::deleteFallThruJmpInsn works, although given
the target is still valid we don't need to mess with the offset, just
the expr.
This is mostly NFC, but if the addend ever exceeded 32-bits but then
came back in range then previously we'd pointlessly write it, but now we
do not. We also validate that the addend is actually 32-bit so will
catch errors in our implementation rather than silently assuming any
relocations where that isn't true have been moved to .rela.dyn.
Reviewers: kovdan01, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/171192
[NFC][ELF][AArch64][MTE] Replace addend hack with less-confusing code
The current implementation in addRelativeReloc makes it look like we're
writing the symbol's VA + addend to the section, because that's what the
given relocation will evaluate to, but we're supposed to be writing the
negated original addend (since the relative relocation's addend will be
the sum of the symbol's VA and the original addend). This only works
because deep down in AArch64::relocate we throw away the computed value
and peek back inside the relocation to extract the addend and negate it.
Do this properly by having a relocation that evaluates to the right
value instead.
Reviewers: kovdan01, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/171182
NAS-139002 / 26.04 / Ensure that various services don't run on HA standby (#17884)
This commit adds ability to flag services such that they should not be
run on the standby controller. During vrrp_backup events the specified
services are stopped.
[NFC][ELF][AArch64][PAC] Use existing addSymbolReloc for R_AARCH64_AUTH_ABS64
The only difference between these calls is whether rel or type is passed
as the first argument, but AArch64::getDynRel returns type unchanged for
R_AARCH64_AUTH_ABS64, so they are the same.
Reviewers: MaskRay, kovdan01
Pull Request: https://github.com/llvm/llvm-project/pull/171179
[StackProtector] Add metadata to opt-out (#170229)
This is the LLVM piece of this work. There is also a clang piece, which
adds this metadata to AllocaInst when the source does
`__attribute__((no_stack_protector))` on a variable.
We already have `__attribute__((no_stack_protector))` on functions, but
opting out the whole function might be too heavy a hammer. Instead this
allows us to opt out of stack protectors on specific allocations we
might have audited an know to be safe, but still allow the function to
generate a stack protector if other allocations necessitate it.
Ensure that various services don't run on HA standby
This commit adds ability to flag services such that they should
not be run on the standby controller. During vrrp_backup events
the specified services are stopped.
This value is also checked in service_remote hook in order to
determine whether to ha_propagate service actions for the service.
Improve handling of SMB paths for HA systems
This commit shifts the majority of SMB-related paths that aren't
required for SMB session persistence to the boot pool. This
enables the standby controller to more readily be prepared to take
over sessions because we have to resync fewer items on failover
and don't have to replace winbindd / sssd state and flush caches.
[lldb] Use ReadCStringsFromMemory to speed-up AppleObjCClassDescriptorV2::method_t lookup (#172031)
With this improvement, compiling a simple Objective-C program like:
```
int main() {
@autoreleasepool {
NSDictionary *mapping = @{ @"one": @1, @"two": @2, @"three": @3 };
return 0; //breakhere
}
}
```
And running `expr -O -- mapping[@"one"]`, we can observe the following
packet count for the expression evaluation:
```
Before:
multi mem read ($MultiMemRead) : 94
[12 lines not shown]
[AArch64][llvm] Add codegen for simd fpcvt intrinsics
Add tablegen patterns to provide codegen for SCVTF and UCVTF
operating purely on SIMD & FP registers, using explicit bitcasts.