NAS-143145 / 27.0.0-BETA.1 / always trigger smbd service reload on attachment op (#19784)
This commit adds a manual reload of the smb.conf whenever we trigger a
filesystem attachment event for an SMB share. Established SMB sessions
will only check for changes to smb.conf every 180 seconds which can
cause TCON refused messages. This behavior regressed when we
transitioned from the old libzfs python library, which necessitated a
large-scale service / filesystem attachment refactor.
(cherry picked from commit 9eacfecef44b6200e470a11fae26083ee941e6b1)
NAS-143145 / 26.0.0-RC.1 / always trigger smbd service reload on attachment op (by anodos325) (#19792)
This commit adds a manual reload of the smb.conf whenever we trigger a
filesystem attachment event for an SMB share. Established SMB sessions
will only check for changes to smb.conf every 180 seconds which can
cause TCON refused messages. This behavior regressed when we
transitioned from the old libzfs python library, which necessitated a
large-scale service / filesystem attachment refactor.
Original PR: https://github.com/truenas/middleware/pull/19784
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
[mlir] Migrate AMDGPU/ROCDL to targets, not chipset versions
**migration tl;dr:** Replace usages of `amdgpu::Chipset` with `ROCDL::TargetInfo`, ideally move from `chipset=` to `arch=`. If you don't use upstream pipelines, call 'TargetInfo::migrateArchFeaturesToModuleFlags` at the appropriate location.
Further note: if you've got a build pipeline that's getting a `gfxXXX` name from something like `rocm_agent_enumerator`, using a full triple name like the ones you get from `rocminfo` is preferred.
`amdgpu::Chipset` was an awkward hack that was hard to keep up to date
with changes in the compiler/new architectures, and didn't properly
support generic targets (and has been strongly disfavored by the
compiler team).
This PR replaces `amdgpu::Chipset` with `ROCDL::TargetInfo`, a
structure that uses LLVM's TargetParser and the underlying LLVM
features tables to get the real nature of the target being compiled
for.
This also helps MLIR move to
new-style (`-mtriple=amdgpuX.YZ-amd-amdhsa`) over "old
style" (`-mtriple=amdgcn-amd-amdhsa -mcpu=gfxXYZ`) triples.
[36 lines not shown]
[mlir][ROCDL] Add TargetInfo to replace Chipset, allow features queries
Add a now ROCDL::TargetInfo struct that parses AMDGPU triples and
target names using the same logic that Clang and LLVM
use (TargetParser) and maintains the set of features available on a
given GPU.
This is an improvement over the old `amdgpu::Chipset` struct since
that was just a version number and often became stale compared to the
knowledge exposed by LLVM, such as gfx1170 having OCP FP8 support even
though other gfx11 chips don't have it.
This struct also allows for moving to new-style
triples (amdgpu9.42-amd-amdhsa vs amdgcn-amd-amdhsa--gfx942, for
example), which is an ongoing migration in other parts of the compiler
that this PR lets us follow.
It also enables compiling for generic targets, like `gfx11-generic`,
which can be run on all chips in a generation.
[15 lines not shown]
[lldb] Surface GetIndexOfChildWithName errors instead of dropping them (#224059)
`ValueObjectSynthetic::GetChildMemberWithName` and
`SBValue::GetIndexOfChildWithName` called `llvm::consumeError` on the
`llvm::Expected` returned by `GetIndexOfChildWithName` and reported the
failure as a null `ValueObjectSP` / `UINT32_MAX`, so the reason a lookup
failed never reached anyone. Log them instead: `LLDBLog::DataFormatters`
from ValueObject and formatter code, `LLDBLog::API` at the SB boundary.
That is the convention `BlockPointer.cpp` and `LibCxx.cpp` already
follow.
Also, in `ValueObjectSynthetic::GetIndexOfChildWithName`:
- A front-end with `TypeOptions::eTypeOptionCustomSubscripting` that
failed to find the child left `index` at its `SIZE_MAX` initializer,
dropped the front-end's error unread, then cached `SIZE_MAX` in
`m_name_toindex` and returned it as a valid index. Return the
front-end's error instead.
- Call `GetNumChildren(max)` rather than
[13 lines not shown]
japanese/jvim3: Fix simd(7) issue
Update MASTER_SITES.
Take maintainership.
Remove cygwin.txt, vim-jp.htm and vim32.ini from PORTDOCS.
Change the option name of DIRECT_CANNNA to CANNA.
Add XORG=xorgproto.
Add patch file for simd(7) issue.
PR: 276459
Approved by: fluffy (mentor)
[Clang][Parser] Accept contextual _except in MS compatibility mode (#223551)
Clang already accepts _try, _finally, and _leave under
-fms-compatibility, but rejects the corresponding _except spelling
because __except is recognized contextually by the parser rather than as
a reserved token.
This patch extends the contextual handler check to accept _except in
Microsoft compatibility mode and uses that check consistently in SEH and
C++ try-handler parsing. _except remains an ordinary identifier outside
the handler position, and -fms-extensions alone does not enable the
alias.
The change is limited to parsing; it does not modify SEH lowering, LLVM
IR, optimization, or runtime behavior.
Assisted-by: Claude Opus 5 (via VS Code)
---------
Co-authored-by: Adam Glass <adamglass at microsoft.com>
acpi: Set status to AE_ERROR if device suspend failed
Previously, we would be returning AE_OK from acpi_EnterSleepState().
Reviewed by: olce
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59735
[lldb] Substitute breakpoint opcodes in expedited memory (#224304)
A stub may send expedited memory in a stop reply, and
`ProcessGDBRemote::SetThreadStopInfo` puts those bytes straight into the
memory cache. When a range covers a breakpoint lldb manages itself, the
cache then holds the trap opcode, and every later read of that address
returns the trap instead of the instruction underneath. However, A read
reply does not have this problem: `ReadMemoryFromInferior` calls
`RemoveBreakpointOpcodesFromBuffer` before returning. The expedited path
never did, so this fix adds `Process::AddCacheData` to do the same and
use
it at the two places that cache expedited memory.
`TestWriteOverSoftwareBreakpoint.py` catches this once the stub
expedites a
range that covers the breakpoint:
```
AssertionError: bytearray(b'\x00\x00 \xd4') != bytearray(b'\xcd\x00\x00\x90')
[4 lines not shown]
[clang][Parse] Fix stale `CurParsedObjCImpl` after an `@implementation` ends early (#219953)
Fixes #209503
`ObjCImplParsingDataRAII` only reset `CurParsedObjCImpl` in its
destructor, but an `@implementation` can be finished well before that:
`CheckNestedObjCContexts` ends it as soon as a nested
`@interface`/`@protocol`/`@implementation` shows up, and that container
is then parsed inside the same frame. Anything defined in there still
looked like it was inside the already finished `@implementation`, so
`ParseFunctionDefinition` queued the body into a `LateParsedObjCMethods`
that nobody was going to drain again, and the destructor's
`assert(LateParsedObjCMethods.empty())` fired. The fatal `#include` in
the report is a red herring, by the way — it only hides the diagnostics
for the function that gets queued.
`finish()` now restores the previous `CurParsedObjCImpl` the moment the
`@implementation` ends, instead of the destructor nulling it later.
Restoring rather than clearing also covers the mirror image: an
[7 lines not shown]
nuageinit: fix support on OpenStack
Change added in 90a7728cd8905cd26b90d06f7873df8bad43ae9a contained a
lot of bugs:
- If all network interfaces correctly respond to DHCP, then pwait was
waiting forever.
- If there was more than 1 interface, then "cat
/tmp/ephemeraldhcp.*.pid" joined pid numbers into one long string.
- "for iface in $left; do kill -15 $left; done" is not using $iface.
Tested by: adam.mizerski at ovhcloud.com
Sponsored by: OVHcloud
Pull Request: https://github.com/freebsd/freebsd-src/pull/2436
[HLSL][DirectX] handle updatecounter in dxil resource access pass (#223591)
Recognize UpdateCounter operation in 'getStoreLoadOperand' and treat it
like Store or Load, the source of a usage of a resource. The operand
returned by this function is no longer always a Ptr so, handle when it
is a target extension type.
Closes #222400
Assisted by GPT-5.6 Sol
[lldb][docs] Put missing ';' in qMemoryRegionInfo ProtectionKey doc (#224341)
These are all name:value; and are documented as such but I forgot to add
the ; for this one.
Found while reviewing #224319.
improve table load error in npf
an EEXIST should clearly state already defined and a load failure should
also clearly be stated. do not class all error returns under EEXIST
since npf_table_insert can return other errors aside EEXIST.