MFC: fsck_msdosfs: add a test for reconnecting on volumes larger than 4 GiB
MFC after: 1 week
(cherry picked from commit 37aec55d0a7165960f686e5277f030ab3d44cf45)
MFC: fsck_msdosfs: add a test for reconnecting on volumes larger than 4 GiB
MFC after: 1 week
(cherry picked from commit 37aec55d0a7165960f686e5277f030ab3d44cf45)
[AMDGPU] Add missing attributes to llvm.amdgcn.init.whole.wave
`llvm.amdgcn.init.whole.wave` only sets the EXEC mask and reports whether
the lane was active on entry. It never calls into the module, never frees
memory, and always returns, so it can carry `nocallback`, `nofree`, and
`willreturn`.
The neighboring `llvm.amdgcn.init.exec` and
`llvm.amdgcn.init.exec.from.input` already have all three; this brings
`init.whole.wave` in line and lets the attributor propagate them to
callers.
[NFC][AMDGPU] Remove unused MC insts in isPackedSingleSGPR64BitInst (#222463)
There is no opsel support for these instructions, and thus we do not have
to manipulate opsel at MC layer. As a result, isPackedSingleSGPR64BitIns
is currently only used before pseudo-expansion. So we remove MC instruction
check inside.
ZTS: Fix device_access_import cleanup
The device_access_import test will complete without destroying
the pool it created. Instead it will end with "testpool" being
exported on loop0 and loop1. This causes a failure later on
with fadvise_willneed_limit, where it will fail to import due to
two pools named "testpool". This can be reproduced by running:
./scripts/zfs-tests.sh -T device_access,fadvise
To fix this, simply wipe the labels during cleanup() in
device_access_import.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes #19089
Fix self-deadlock when cloning a range within the same file
zfs_clone_range() takes an RL_READER range lock on the source range
and an RL_WRITER range lock on the destination range. When the
source and destination are the same file (inzp == outzp) both locks
are on the same znode's rangelock. If the destination write has to
grow the file's block size, zfs_rangelock_enter() grows the writer
lock to cover the whole file (see zfs_rlock.c), which then conflicts
with the source reader held by the same thread. The result is an
unrecoverable self-deadlock (the thread waits forever in
zfs_rangelock_enter_impl(), D state, freed only by a reboot).
Reproduced by fstests generic/564, whose copy_range probe does a
sub-recordsize copy_file_range() within one file that extends it (so
the destination block size grows).
For a same-file clone, take a single writer lock spanning both ranges
instead of a separate reader and writer. The source block pointers
are read before zfs_clone_range_locked() reduces the lock, so the
[11 lines not shown]
Assign connections a 64 bit identifier rather than using the socket fd to
identify them between subprocesses.
Based on a report from Franz Bettag of Bettag Systems
ok deraadt