- 17 Feb, 2022 40 commits
-
-
Tomohiro Kusumi authored
All of these externs are already #included as static inline functions via corresponding headers. Reviewed-by:
Igor Kozhukhov <igor@dilos.org> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Tomohiro Kusumi <kusumi.tomohiro@gmail.com> Closes #13073
-
наб authored
Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12844
-
Brian Behlendorf authored
Related to commit 90b77a03 . Retry the `zpool export` if the pool is "busy" indicating there is a process accessing the mount point. This can happen after an import and allowing it to be retried will avoid spurious test failures. Reviewed by: George Melikov <mail@gmelikov.ru> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #13092
-
Brian Behlendorf authored
The dRAID section of the zpool_expand_001_pos test would reliably fail because the calculated expansion size assumed the dRAID top-level vdev was created with a distributed spare. Create the vdev as expected to resolve the test failure. This test case flaw was accidentally caused by changing the default number of dRAID distributed spares from one to zero while dRAID was being developed. Additionally, remove zpool_expand_005_pos from the list of possible faulty tests. It appears to be passing consistently in my testing. Reviewed by: George Melikov <mail@gmelikov.ru> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #13091
-
Brian Behlendorf authored
Observed when building on CentOS 8 Stream. Remove the `out` label at the end of the function and instead return. linux/simd_x86.h: In function 'kfpu_begin': linux/simd_x86.h:337:1: error: label at end of compound statement Reviewed-by:
Tony Hutter <hutter2@llnl.gov> Reviewed-by:
Attila Fülöp <attila@fueloep.org> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #13089
-
наб authored
Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13082
-
наб authored
Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13082
-
наб authored
It's noted very scarcely in the code as it stands, indeed the only actual comment on this is /* * We have finished background destroying, but there is still * some space left in the dp_free_dir. Transfer this leaked * space to the dp_leak_dir. */ Introduced in fbeddd60 ("Illumos 4390 - I/O errors can corrupt space map when deleting fs/vol"), which explains, alongside the references, that this can only happen with a corrupted pool Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13081
-
Zhu Chuang authored
Should be `-o keyformat=passphrase` instead of `-o -keyformat=passphrase` Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Chuang Zhu <chuang@melty.land> Closes #13072
-
Brian Behlendorf authored
Changing volmode may need to remove minors, which could be open, so call udev_wait() before we "zfs set volmode=<value>". This ensures no udev process has the zvol open (i.e. blkid) and the kernel zvol_remove_minor_impl() function won't skip removing the in use device. Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #13075
-
drowfx authored
This allows reads/writes caused by accesses to mmap files to be accounted correctly in the per-dataset kstats for both Linux and FreeBSD. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Ryan Moeller <freqlabs@FreeBSD.org> Signed-off-by:
Matthias Blankertz <matthias@blankertz.org> Closes #12994 Closes #13044
-
Attila Fülöp authored
dmu_recv_begin_check() unconditionally sets the DS_HOLD_FLAG_DECRYPT flag before calling dsl_dataset_hold_flags(). If the key on the receiving side isn't loaded or the send stream contains embedded blocks, the receive check fails for a stream which is perfectly valid and could be received without any problem. This seems like a remnant of the initial design, where unencrypted datasets below encrypted ones weren't allowed. Add a condition to set `DS_HOLD_FLAG_DECRYPT` only for encrypted datasets, modify an existing test to detect this regression and add a test for raw replication streams. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
George Amanakis <gamanakis@gmail.com> Co-authored-by:
George Amanakis <gamanakis@gmail.com> Signed-off-by:
Attila Fülöp <attila@fueloep.org> Closes #13033 Closes #13076
-
Damian Szuberski authored
Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Authored-by:
Damian Szuberski <szuberskidamian@gmail.com> Signed-off-by:
Peter Levine <plevine457@gmail.com> Closes #13046
-
Peter Levine authored
Currently, $(CC), $(LD), and $(LLVM) variables aren't passed to kbuild while building modules. This causes modules to build with the default GNU GCC toolchain and prevents experimenting with other toolchains such as CLANG/LLVM. It can also lead to build failure if the CFLAGS/LDFLAGS passed are incompatible with gcc/ld. Pass $KERNEL_CC, $KERNEL_LD, and $KERNEL_LLVM as $(CC), $(LD), and $(LLVM), respectively, to kbuild for each that is defined in the environment. This should take care of the majority of alternative toolchain use cases. Reviewed-by:
Damian Szuberski <szuberskidamian@gmail.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Peter Levine <plevine457@gmail.com> Closes #13046
-
наб authored
Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12979
-
наб authored
Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Issue #12899
-
Attila Fülöp authored
Linux 5.16 moved XSTATE_XSAVE and XSTATE_XRESTORE out of our reach, so add our own XSAVE{,OPT,S} code and use it for Linux 5.16. Please note that this differs from previous behavior in that it won't handle exceptions created by XSAVE an XRSTOR. This is sensible for three reasons. - Exceptions during XSAVE and XRSTOR can only occur if the feature is not supported or enabled or the memory operand isn't aligned on a 64 byte boundary. If this happens something else went terribly wrong, and it may be better to stop execution. - Previously we just printed a warning and didn't handle the fault, this is arguable for the above reason. - All other *SAVE instruction also don't handle exceptions, so this at least aligns behavior. Finally add a test to catch such a regression in the future. Reviewed-by:
Tony Hutter <hutter2@llnl.gov> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Attila Fülöp <attila@fueloep.org> Closes #13042 Closes #13059
-
Damian Szuberski authored
Using `zfs_mount_at()` gives opportunity to properly propagate mountopts from what's stored in a pool to the `mount(2)` syscall invocation. It fixes cases when mount options are set to incorrect values and rectification is impossible (e. g. Linux initrd boot sequence in #7947). Moved debug information printing after all variables are initialized - printed text reflects what is passed to `mount(2)`. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
szubersk <szuberskidamian@gmail.com> Issue #7947 Closes #13021
-
Christian Schwarz authored
The following commit moved the users of `deferred` into function dsl_pool_unreserved_space: commit d2734cce Author: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com> Date: Fri Dec 16 14:11:29 2016 -0800 OpenZFS 9166 - zfs storage pool checkpoint Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Ryan Moeller <freqlabs@FreeBSD.org> Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Christian Schwarz <christian.schwarz@nutanix.com> Closes #13056
-
наб authored
@LIBFETCH_SONAME@ is no longer quoted. The C define still is. Ref: 153f7c9f Ref: https://github.com/openzfs/zfs/pull/12835#discussion_r776833743 Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Damian Szuberski <szuberskidamian@gmail.com> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12922
-
наб authored
Bullseye shellcheck picks these up as SC2140, and it's right! @LIBFETCH_SONAME@ is already quoted, so dracut had "$d/"libcurl.so.4"" and i-t had ""libcurl.so.4"" Partially reverts 34eef3e9 (#12760), which broke this Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12835
-
наб authored
Basenames that remain, in cmd/zed/zed.d/statechange-led.sh: dev=$(basename "$(echo "$therest" | awk '{print $(NF-1)}')") vdev=$(basename "$ZEVENT_VDEV_PATH") I don't wanna interfere with #11988 scripts/zfs-tests.sh: SINGLETESTFILE=$(basename "$SINGLETEST") tests/zfs-tests/tests/functional/cli_user/zfs_list/zfs_list.kshlib: ACTUAL=$(basename $dataset) ACTUAL=$(basename $dataset) tests/zfs-tests/tests/functional/cli_user/zpool_iostat/ zpool_iostat_-c_homedir.ksh: typeset USER_SCRIPT=$(basename "$USER_SCRIPT_FULL") tests/zfs-tests/tests/functional/cli_user/zpool_iostat/ zpool_iostat_-c_searchpath.ksh: typeset CMD_1=$(basename "$SCRIPT_1") typeset CMD_2=$(basename "$SCRIPT_2") tests/zfs-tests/tests/functional/cli_user/zpool_status/ zpool_status_-c_homedir.ksh: typeset USER_SCRIPT=$(basename "$USER_SCRIPT_FULL") tests/zfs-tests/tests/functional/cli_user/zpool_status/ zpool_status_-c_searchpath.ksh typeset CMD_1=$(basename "$SCRIPT_1") typeset CMD_2=$(basename "$SCRIPT_2") tests/zfs-tests/tests/functional/migration/migration.cfg: export BNAME=`basename $TESTFILE` tests/zfs-tests/tests/perf/perf.shlib: typeset logbase="$(get_perf_output_dir)/$(basename \ tests/zfs-tests/tests/perf/perf.shlib: typeset logbase="$(get_perf_output_dir)/$(basename \ These are potentially Of Directories, where basename is actually useful Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12652
-
Jorgen Lundman authored
To avoid clashing with tags and releases, we'll use "zfs-macOS". Meta: 1 Name: zfs-macOS Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Tony Hutter <hutter2@llnl.gov> Signed-off-by:
Jorgen Lundman <lundman@lundman.net> Closes #12437
-
Brian Behlendorf authored
The on-disk cost of creating a snapshot or bookmark is sufficiently low that it is difficult to make it reliably fail even when the pool is "full". In order to avoid false positives remove these two checks from the test case. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #13060
-
Pawel Jakub Dawidek authored
POSIX requires that set-uid and set-gid bits to be removed when an unprivileged user writes to a file and ZFS does that during normal operation. The problem arrises when the write is stored in the ZIL and replayed. During replay we have no access to original credentials of the process doing the write, so zfs_write() will be performed with the root credentials. When root is doing the write set-uid and set-gid bits are not removed from the file. To correct that, log a separate TX_SETATTR entry that removed those bits on first write to such file. Idea from: Christian Schwarz Add test for ZIL replay of setuid/setgid clearing. Improve various edge cases when clearing setid bits: - The setid bits can be readded during a single write, so make sure to check for them on every chunk write. - Log TX_SETATTR record at most once per transaction group (if the setid bits are keep coming back). - Move zfs_log_setattr() outside of zp->z_acl_lock. Reviewed-by:
Dan McDonald <danmcd@joyent.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Co-authored-by:
Christian Schwarz <me@cschwarz.com> Signed-off-by:
Pawel Jakub Dawidek <pawel@dawidek.net> Closes #13027
-
Akash B authored
This commit adds enumerated names to disambiguate between the different vdevs. Previously only 'zpool status' showed enumerated vdev names, now 'zpool list -v' and 'zpool iostat -v' also shows the enumerated vdev names. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Dipak Ghosh <dipak.ghosh@hpe.com> Signed-off-by:
Akash B <akash-b@hpe.com> Closes #12510 Closes #13031
-
George Amanakis authored
In files created/modified before 4254acb0 there may be a corruption of xattrs which is not reported during scrub and normal send/receive. It manifests only as an error when raw sending/receiving. This happens because currently only the raw receive path checks for discrepancies between the dnode bonus length and the spill pointer flag. In case we encounter a dnode whose bonus length is greater than the predicted one, we should report an error. Modify in this regard dnode_sync() with an assertion at the end, dump_dnode() to error out, dsl_scan_recurse() to report errors during a scrub, and zstream to report a warning when dumping. Also added a test to verify spill blocks are sent correctly in a raw send. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
George Amanakis <gamanakis@gmail.com> Closes #12720 Closes #13014
-
ColMelvin authored
When the optional PAM binaries are included in a build, ./configure will look for security/pam_modules.h and - if it doesn't find it - recommend the user install `libpam0g-dev`. On Red Hat systems, `pam-devel` is the package that supplies this requirement; `libpam0g-dev` does not exist. By encoding this requirement in the spec file, we give packagers more appropriate (and timely) recommendations for completing the build. Reviewed-by:
Tony Hutter <hutter2@llnl.gov> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Chris Lindee <chris.lindee+github@gmail.com> Closes #13001
-
Brian Behlendorf authored
Nowhere in the description of the failmode property does it clearly state how to bring a suspended pool back online. Add a few words to property description and the zpool-clear(8) man page. Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #12907 Closes #9395
-
Ryan Hirasaki authored
This change is to first replace the OpenZFS website in the README to point to openzfs.org as this is what open-zfs.org redirects to. Along with replacing the URL, the protocol is also upgraded from http to https. These changes should prevent web browsers such as Firefox from complaining about visiting a http site, if the proper security settings are enabled, when it will still end up on a https page after the redirect. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Ryan Hirasaki <ryanhirasaki@gmail.com> Closes #12939
-
chrisrd authored
Fix spelling. Reviewed-by:
Rich Ercolani <rincebrain@gmail.com> Reviewed-by:
Matthew Ahrens <mahrens@delphix.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Chris Dunlop <chris@onthe.net.au> Closes #12911
-
Brian Behlendorf authored
This is a follow up commit for e03a41a6 which aimed to resolve this same test failure. The core "problem" here is that it takes very little space to perform a clone/snapshot/bookmark, which means if we want these commands to reliably fail the pool must truely have exhausted all free space. This commit increases the number of fill iterations to try and consume every block which we can. This still can't guarantee the clone/snapshot/bookmark will fail, but it significantly improves the odds. The exception was kept since it's still not a sure thing. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Reviewed-by:
Igor Kozhukhov <igor@dilos.org> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #12903
-
Brian Behlendorf authored
Under Linux when rolling back a mounted filesystem negative dentries may not be dropped from the cache. This can result in an ENOENT being incorrectly returned on first access. Issuing a `df` before the unmount results in the negative dentries being invalidated and side steps the issue. This is solely a workaround for the test case on Linux and not correct behavior. The core issue of invalidating negative dentries needs to be handled with a kernel side change. This is being tracked as issue #6143. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #12898 Issue #6143
-
Brian Behlendorf authored
The following test cases may still occasionally fail and are being added to the "maybe" list for Linux until they can be updated to be entirely reliable. cli_root/zfs_rename/zfs_rename_002_pos.ksh cli_root/zpool_reopen/zpool_reopen_003_pos.ksh refreserv/refreserv_raidz These 6 tests consistently fail only on Fedora 31+, the failures are related to the kernel rescanning the partition table on loopback devices which is no longer reliable unless partprobe is used. In order to enable the Fedora bot by default they are also being added to the list until the tests can be updated. Any significant regression in functionality covered by these tests will still be detected by the FreeBSD builders. alloc_class/alloc_class_009_pos alloc_class/alloc_class_010_pos cli_root/zpool_expand/zpool_expand_001_pos cli_root/zpool_expand/zpool_expand_005_pos rsend/rsend_007_pos rsend/rsend_010_pos rsend/rsend_011_pos snapshot/rollback_003_pos Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #10489
-
Rich Ercolani authored
It keeps failing, on changes which aren't related at all. So until someone runs down why, I'd like it to stop being the sole reason for CI failures. Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Rich Ercolani <rincebrain@gmail.com> Closes #12733
-
Brian Behlendorf authored
Add the following test failures to the exception list for FreeBSD to ensure we notice new unexpected failures. pool_checkpoint/checkpoint_big_rewind pool_checkpoint/checkpoint_indirect And the following for Linux. zvol/zvol_misc/zvol_misc_snapdev Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Issue #12621 Issue #12622 Issue #12623 Closes #12624
-
Ryan Moeller authored
The zvol_misc tests, in particular zvol_misc_volmode, make use of a common udev_wait function to wait for zvol devices in /dev to quiesce on Linux. On other platforms this function currently only sleeps for one second before returning. This is insufficient, and zvol_misc_volmode has been flaky on FreeBSD as a result. Replace udev_wait with block_device_wait, passing through the optional device parameter where possible. Rearrange a few checks to strengthen the verifications we are making and avoid unnecessarily sleeping. We must keep udev_wait in a couple places to pass in Github CI workflows. Remove zvol_misc_volmode from the maybe failing tests on FreeBSD in zts-report.py. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Signed-off-by:
Ryan Moeller <ryan@iXsystems.com> Closes #12583
-
Ka Ho Ng authored
Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Alexander Motin <mav@FreeBSD.org> Reviewed-by:
Ryan Moeller <ryan@iXsystems.com> Signed-off-by:
Ka Ho Ng <khng@FreeBSD.org> Sponsored-by: The FreeBSD Foundation Closes #12458
-
Brian Behlendorf authored
The rerefreserv_raidz test was failing on Linux because the sync being issued doesn't guarantee a pool sync. Switch to using the sync_pool function and remove the ZTS exception for Linux. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
John Kennedy <john.kennedy@delphix.com> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #12897
-
Georgy Yakovlev authored
The build on musl needs linux/fs.h for SEEK_DATA and friends, and sys/sysmacros.h for P2ROUNDUP. Add the needed headers. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Georgy Yakovlev <gyakovlev@gentoo.org> Closes #12891
-