-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raidz #2
Raidz #2
Commits on Dec 16, 2019
-
Fix zfs_xattr_owner_unlinked on FreeBSD and comment
Explain FreeBSD VFS' unfortunate idiosyncratic locking requirements. There is no functional change for other platforms. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9720
Configuration menu - View commit details
-
Copy full SHA for ba434b1 - Browse repository at this point
Copy the full SHA ba434b1View commit details
Commits on Dec 17, 2019
-
initramfs: setup keymapping and video for prompts
From Steve Langasek <steve.langasek@canonical.com>: > The poorly-named 'FRAMEBUFFER' option in initramfs-tools controls > whether the console_setup and plymouth scripts are included and used > in the initramfs. These are required for any initramfs which will be > prompting for user input: console_setup because without it the user's > configured keymap will not be set up, and plymouth because you are > not guaranteed to have working video output in the initramfs without > it (e.g. some nvidia+UEFI configurations with the default GRUB > behavior). > The zfs initramfs script may need to prompt the user for passphrases > for encrypted zfs datasets, and we don't know definitively whether > this is the case or not at the time the initramfs is constructed (and > it's difficult to dynamically populate initramfs config variables > anyway), therefore the zfs-initramfs package should just set > FRAMEBUFFER=yes in a conf snippet the same way that the > cryptsetup-initramfs package does > (/usr/share/initramfs-tools/conf-hooks.d/cryptsetup). https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1856408 Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Steve Langasek <steve.langasek@canonical.com> Signed-off-by: Richard Laager <rlaager@wiktel.com> Closes openzfs#9723
Configuration menu - View commit details
-
Copy full SHA for ad97643 - Browse repository at this point
Copy the full SHA ad97643View commit details
Commits on Dec 18, 2019
-
Force systems with kernel option "quiet" to display prompt for password
On systems that utilize TTY for password entry, if the kernel option "quiet" is set, the system would appear to freeze on a blank screen, when in fact it is waiting for password entry from the user. Since TTY is the fallback method, this has no effect on systemd or plymouth password prompting. By temporarily setting "printk" to "7", running the command, then resuming with the original "printk" state, the user can see the password prompt. Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Garrett Fields <ghfields@gmail.com> Closes openzfs#9731
Configuration menu - View commit details
-
Copy full SHA for e8b199f - Browse repository at this point
Copy the full SHA e8b199fView commit details -
Rely on ax_code_coverage to exclude test directories. - Removes broken codecov ignore - Places ignore section in ax_code_coverage - Forwards users from codecov to LCOV for ignores Reviewed-by: Prakash Surya <prakash.surya@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Richard Laager <rlaager@wiktel.com> Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl> Closes openzfs#9726
Configuration menu - View commit details
-
Copy full SHA for 3035f14 - Browse repository at this point
Copy the full SHA 3035f14View commit details -
Create symbolic links in /dev/disk/by-vdev for nvme disk devices
The existing rules miss nvme disk devices because of the trailing digits in the KERNEL device name, e.g. nvme0n1. Partitions of nvme disk devices are already properly handled by the existing rule for ENV{DEVTYPE}=="partition". Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Thomas Geppert <geppi@digitx.de> Closes openzfs#9730
Configuration menu - View commit details
-
Copy full SHA for fe56484 - Browse repository at this point
Copy the full SHA fe56484View commit details -
Minor performance fix for NEON RAID-Z
The NEON code replicates too closely the SSE code, including a masked 16-bits shift. But NEON, like AltiVec (openzfs#9539), has unsigned 8-bits shift, so use that instead and drop the masking. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu> Closes openzfs#9725
Configuration menu - View commit details
-
Copy full SHA for 118fc3e - Browse repository at this point
Copy the full SHA 118fc3eView commit details -
Update the common ZTS scripts and individual test cases as needed in order to allow them to be run on FreeBSD. The high level goal is to provide compatibility wrappers whenever possible to minimize changes to individual test cases. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9692
Configuration menu - View commit details
-
Copy full SHA for 7839c4b - Browse repository at this point
Copy the full SHA 7839c4bView commit details -
Exchanged two "${ZFS} get -H -o value" commands
Initramfs uses "get_fs_value()" elsewhere. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl> Signed-off-by: Garrett Fields <ghfields@gmail.com> Closes openzfs#9736
Configuration menu - View commit details
-
Copy full SHA for b8a899e - Browse repository at this point
Copy the full SHA b8a899eView commit details
Commits on Dec 19, 2019
-
cppcheck: (error) Uninitialized variable
Resolve the following uninitialized variable warnings. In practice these were unreachable due to the goto. Replacing the goto with a return resolves the warning and yields more readable code. [module/icp/algs/modes/ccm.c:892]: (error) Uninitialized variable: ccm_param [module/icp/algs/modes/ccm.c:893]: (error) Uninitialized variable: ccm_param [module/icp/algs/modes/gcm.c:564]: (error) Uninitialized variable: gcm_param [module/icp/algs/modes/gcm.c:565]: (error) Uninitialized variable: gcm_param [module/icp/algs/modes/gcm.c:599]: (error) Uninitialized variable: gmac_param [module/icp/algs/modes/gcm.c:600]: (error) Uninitialized variable: gmac_param Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for 5215fdd - Browse repository at this point
Copy the full SHA 5215fddView commit details -
cppcheck: (error) Uninitialized variable
As of cppcheck 1.82 warnings are issued when using the list_for_each_* functions with an uninitialized variable. Functionally, this is fine but to resolve the warning initialize these variables. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for 7cf1fe6 - Browse repository at this point
Copy the full SHA 7cf1fe6View commit details -
cppcheck: (error) Shifting signed 64-bit value by 63 bits
As of cppcheck 1.82 surpress the warning regarding shifting too many bits for __divdi3() implemention. The algorithm used here is correct. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for abfdb83 - Browse repository at this point
Copy the full SHA abfdb83View commit details -
cppcheck: (error) Memory leak: vtoc
Resolve the reported memory leak by using a dedicated local vptr variable to store the pointer reported by calloc(). Only assign the passed **vtoc function argument on success, in all other cases vptr is freed. [lib/libefi/rdwr_efi.c:403]: (error) Memory leak: vtoc [lib/libefi/rdwr_efi.c:422]: (error) Memory leak: vtoc [lib/libefi/rdwr_efi.c:440]: (error) Memory leak: vtoc [lib/libefi/rdwr_efi.c:454]: (error) Memory leak: vtoc [lib/libefi/rdwr_efi.c:470]: (error) Memory leak: vtoc Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for fe20400 - Browse repository at this point
Copy the full SHA fe20400View commit details -
cppcheck: (warning) Possible null pointer dereference: dnp
The dnp argument can only be set to NULL when the DNODE_DRY_RUN flag is set. In which case, an early return path will be executed and a NULL pointer dereference at the given location is impossible. Add an additional ASSERT to silence the cppcheck warning and document that dbp must never be NULL at the point in the function. [module/zfs/dnode.c:1566]: (warning) Possible null pointer deref: dnp Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for 070402f - Browse repository at this point
Copy the full SHA 070402fView commit details -
cppcheck: (error) Null pointer dereference: who_perm
As indicated by the VERIFY the local who_perm variable can never be NULL in parse_fs_perm(). Due to the existence of the is_set conditional, which is always true, cppcheck 1.88 was reporting a possible NULL reference. Resolve the issue by removing the extraneous is_set variable. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for 1e49b28 - Browse repository at this point
Copy the full SHA 1e49b28View commit details -
cppcheck: (error) Address of local auto-variable assigned
Suppress autoVariables warnings in the lua interpreter. The usage here while unconventional in intentional and the same as upstream. [module/lua/ldebug.c:327]: (error) Address of local auto-variable assigned to a function parameter. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for 487bdda - Browse repository at this point
Copy the full SHA 487bddaView commit details -
cppcheck: (warning) Possible null pointer dereference: nvh
Move the 'nvh = (void *)buf' assignment after the 'buf == NULL' check to resolve the warning. Interestingly, cppcheck 1.88 correctly determines that the existing code is safe, while cppcheck 1.86 reports the warning. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9732
Configuration menu - View commit details
-
Copy full SHA for d16a207 - Browse repository at this point
Copy the full SHA d16a207View commit details -
Extend the zfs.sh script to load and unload zfs kmods on FreeBSD. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9746
Configuration menu - View commit details
-
Copy full SHA for a364048 - Browse repository at this point
Copy the full SHA a364048View commit details -
Tests for btree implementation used by range trees
Additional test cases for the btree implementation, see openzfs#9181. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: John Kennedy <john.kennedy@delphix.com> Closes openzfs#9717
Configuration menu - View commit details
-
Copy full SHA for 523fc80 - Browse repository at this point
Copy the full SHA 523fc80View commit details -
* devices_001_pos and devices_002_neg - Failing after FreeBSD ZTS merged due to missing 'function' keyword for create_dev_file_linux. * pool_state - Occasionally fails due to an insufficient delay before checking 'zpool status'. Increasing the delay from 1 to 3 seconds resolved the issue in local testing. * procfs_list_basic - Fails when run in-tree because the logged command is actually 'lt-zfs'. Updated the regex accordingly. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9748
Configuration menu - View commit details
-
Copy full SHA for 5e8ac05 - Browse repository at this point
Copy the full SHA 5e8ac05View commit details
Commits on Dec 20, 2019
-
If the ZFS_COLOR env variable is set, then use ANSI color output in zpool status: - Column headers are bold - Degraded or offline pools/vdevs are yellow - Non-zero error counters and faulted vdevs/pools are red - The 'status:' and 'action:' sections are yellow if they're displaying a warning. This also includes a new 'faketty' function in libtest.shlib that is compatible with FreeBSD (code provided by @freqlabs). Reviewed-by: Jorgen Lundman <lundman@lundman.net> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes openzfs#9340
Configuration menu - View commit details
-
Copy full SHA for 9fb2771 - Browse repository at this point
Copy the full SHA 9fb2771View commit details -
Fix test pattern in zts-report.py
The pattern was not updated to match when the test output changed to include a platform identifier for platform specific tests. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9750
Configuration menu - View commit details
-
Copy full SHA for 54aefa6 - Browse repository at this point
Copy the full SHA 54aefa6View commit details
Commits on Dec 23, 2019
-
Update maximum kernel version to 5.4
Increase the maximum supported kernel version to 5.4. This was verified using the Fedora 5.4.2-300.fc31.x86_64 kernel. Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9754 Closes openzfs#9759
Configuration menu - View commit details
-
Copy full SHA for c587b2c - Browse repository at this point
Copy the full SHA c587b2cView commit details
Commits on Dec 26, 2019
-
* large_dnode_008_pos - Force a pool sync before invoking zdb to ensure the updated dnode blocks have been persisted to disk. * refreserv_raidz - Wait for the /dev/zvol links to be both created and removed, this is important because the same device volume names are being used repeatedly. * btree_test - Add missing .gitignore file for btree_test binary. Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9769
Configuration menu - View commit details
-
Copy full SHA for 80bde2c - Browse repository at this point
Copy the full SHA 80bde2cView commit details -
Cancel initialize and TRIM before vdev_metaslab_fini()
Any running 'zpool initialize' or TRIM must be cancelled prior to the vdev_metaslab_fini() call in spa_vdev_remove_log() which will unload the metaslabs and set ms->ms_group == NULL. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#8602 Closes openzfs#9751
Configuration menu - View commit details
-
Copy full SHA for 635a01a - Browse repository at this point
Copy the full SHA 635a01aView commit details -
libspl: declare aok extern in header
Rather than defining a new instance of 'aok' in every compilation unit which includes this header, there is a single instance defined in zone.c, and the header now only declares an extern. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Signed-off-by: Nick Black <dankamongmen@gmail.com> Closes openzfs#9752
Configuration menu - View commit details
-
Copy full SHA for 8cda5c5 - Browse repository at this point
Copy the full SHA 8cda5c5View commit details -
In initramfs, do not prompt if keylocation is "file://"
If the encryption key is stored in a file, the initramfs should not prompt for the password. For example, this could be the case if the boot partition is stored on removable media that is only present at boot time Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Garrett Fields <ghfields@gmail.com> Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Sam Lunt <samuel.j.lunt@gmail.com> Closes openzfs#9764
Configuration menu - View commit details
-
Copy full SHA for ad353e2 - Browse repository at this point
Copy the full SHA ad353e2View commit details -
Avoid some crashes when importing a pool with corrupt metadata
- Skip invalid DVAs when importing pools in readonly mode (in addition to when the config is untrusted). - Upon encountering a DVA with a null VDEV, fail gracefully instead of panicking with a NULL pointer dereference. Reviewed-by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Steve Mokris <smokris@softpixel.com> Closes openzfs#9022
Configuration menu - View commit details
-
Copy full SHA for d5c97f3 - Browse repository at this point
Copy the full SHA d5c97f3View commit details
Commits on Dec 27, 2019
-
ZTS: devices_001_pos and devices_002_neg
Update the devices_001_pos and devices_002_neg test cases such that the special block device file created is backed by a ZFS volume. Specifying a specific device allows the major and minor numbers to be easily determined. Furthermore, this avoids the potentially dangerous behavior of opening the first block device we happen to find under /dev/. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9773
Configuration menu - View commit details
-
Copy full SHA for 590ff61 - Browse repository at this point
Copy the full SHA 590ff61View commit details -
As of Python 3.5 the default behavior of json.tool was changed to preserve the input order rather than lexical order. The test case expects the output to be sorted so apply the --sort-keys option to the json.tool command when using Python 3.5 and the option is supported. https://docs.python.org/3/library/json.html#module-json.tool Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9774
Configuration menu - View commit details
-
Copy full SHA for a6f6ef8 - Browse repository at this point
Copy the full SHA a6f6ef8View commit details
Commits on Dec 28, 2019
-
ZTS: Replace /var/tmp with $TEST_BASE_DIR
Remove a few hardcoded instances of /var/tmp. This should use the $TEST_BASE_DIR in order to allow the ZTS to be optionally run in an alternate directory using `zfs-tests.sh -d <path>`. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9775
Configuration menu - View commit details
-
Copy full SHA for edb24be - Browse repository at this point
Copy the full SHA edb24beView commit details -
The externally faulted vdev should be brought back online and have its errors cleared before the pool is destroyed. Failure to do so will leave a vdev with a valid active label. This vdev may then not be used to create a new pool without the -f flag potentially leading to subsequent test failures. Additionally remove an unreachable log_pass from setup.ksh. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9777
Configuration menu - View commit details
-
Copy full SHA for 2c47bd5 - Browse repository at this point
Copy the full SHA 2c47bd5View commit details
Commits on Dec 29, 2019
-
zfs-load-key.sh: ${ZFS} is not the zfs binary
A change[1] was merged yesterday that should refer to the zfs binary in the initramfs, but is actually an unset shell variable. This commit changes this line to call `zfs` directly like the surrounding code. [1]: cb5b875 Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Garrett Fields <ghfields@gmail.com> Reviewed-by: Richard Laager <rlaager@wiktel.com> Signed-off-by: Ben Cordero <bencord0@condi.me> Closes openzfs#9780
Configuration menu - View commit details
-
Copy full SHA for 153db76 - Browse repository at this point
Copy the full SHA 153db76View commit details
Commits on Dec 30, 2019
-
zdb: print block checksums with 6 d's of verbosity
Include checksums in the output of 'zdb -dddddd' along with other indirect block information already displayed. Example output follows (with long lines trimmed): $ zdb -dddddd tank/fish 128 Dataset tank/fish [ZPL], ID 259, cr_txg 10, 16.2M, 93 objects, rootbp DV Object lvl iblk dblk dsize dnsize lsize %full type 128 2 128K 128K 634K 512 1M 100.00 ZFS plain f 168 bonus System attri dnode flags: USED_BYTES USERUSED_ACCOUNTED USEROBJUSED_ACCOUNTED dnode maxblkid: 7 path /c uid 0 gid 0 atime Sat Dec 21 10:49:26 2019 mtime Sat Dec 21 10:49:26 2019 ctime Sat Dec 21 10:49:26 2019 crtime Sat Dec 21 10:49:26 2019 gen 41 mode 100755 size 964592 parent 34 links 1 pflags 40800000104 Indirect blocks: 0 L1 0:2c0000:400 0:c021e00:400 20000L/400P F=8 B=41/41 0 L0 0:227800:13800 20000L/13800P F=1 B=41/41 cksum=167a 20000 L0 0:25ec00:17c00 20000L/17c00P F=1 B=41/41 cksum=2312 40000 L0 0:276800:18400 20000L/18400P F=1 B=41/41 cksum=24e0 60000 L0 0:2a7800:18800 20000L/18800P F=1 B=41/41 cksum=25be 80000 L0 0:28ec00:18c00 20000L/18c00P F=1 B=41/41 cksum=2579 a0000 L0 0:24d000:11c00 20000L/11c00P F=1 B=41/41 cksum=140a c0000 L0 0:23b000:12000 20000L/12000P F=1 B=41/41 cksum=164e e0000 L0 0:221e00:5a00 20000L/5a00P F=1 B=41/41 cksum=9de790 segment [0000000000000000, 0000000000100000) size 1M Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ned Bass <bass6@llnl.gov> Closes openzfs#9765
Configuration menu - View commit details
-
Copy full SHA for 8b3438e - Browse repository at this point
Copy the full SHA 8b3438eView commit details -
Improve Pull Request guidelines
- Splits PR advice into two sections. - Add "co-authored-by" instructions. - Add description of draft PR and when using it is appropriate. - Reword ZFS Test Suite checklist question. - Link to zfs-tests.sh and zloop.sh. Reviewed-By: Marcel Schilling <marcel.schilling@mdc-berlin.de> Reviewed-By: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-By: Richard Laager <rlaager@wiktel.com> Co-Authored-By: Marcel Schilling <marcel.schilling@mdc-berlin.de> Co-Authored-By: Brian Behlendorf <behlendorf1@llnl.gov> Co-Authored-By: Richard Laager <rlaager@wiktel.com> Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl> Closes openzfs#9753
Configuration menu - View commit details
-
Copy full SHA for 82e996c - Browse repository at this point
Copy the full SHA 82e996cView commit details
Commits on Jan 2, 2020
-
Add FreeBSD core handling in zloop.sh
And use the correct path to libtool and ztest. Reviewed-By: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9790
Configuration menu - View commit details
-
Copy full SHA for 54007c7 - Browse repository at this point
Copy the full SHA 54007c7View commit details
Commits on Jan 3, 2020
-
Static symbols exported by ICP
The crypto_cipher_init_prov and crypto_cipher_init are declared static and should not be exported by the ICP. This resolves the following warnings observed when building with the 5.4 kernel. WARNING: "crypto_cipher_init" [.../icp] is a static EXPORT_SYMBOL WARNING: "crypto_cipher_init_prov" [.../icp] is a static EXPORT_SYMBOL Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9791
Configuration menu - View commit details
-
Copy full SHA for cc618d1 - Browse repository at this point
Copy the full SHA cc618d1View commit details -
ZTS: Move dumpdev tests to sunos.run
Neither FreeBSD nor Linux support dumping to zvols. DilOS still uses these tests, so the files are kept and the tests have been relocated to sunos.run. An `is_illumos` function was added to libtest.shlib to eliminate some awkward platform checks. A few functions that are not expected to be used outside of illumos have been sanitized of extraneous FreeBSD adaptations. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9794
Configuration menu - View commit details
-
Copy full SHA for d7164b2 - Browse repository at this point
Copy the full SHA d7164b2View commit details -
ZTS: Add helper for disk device check
Replace `test -b` and equivalents with `is_disk_device`, so that `-c` is used instead on FreeBSD which has no block cache layer for devices. Reviewed-by: Richard Elling <Richard.Elling@RichardElling.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9795
Configuration menu - View commit details
-
Copy full SHA for 665684d - Browse repository at this point
Copy the full SHA 665684dView commit details
Commits on Jan 6, 2020
-
Fix ZPOOL_VDEV_NAME_PATH option description
The corresponding zpool status option is -P and not -p. Update this description to reference the correct option. Reviewed-by: loli10K <ezomori.nozomu@gmail.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9803
Configuration menu - View commit details
-
Copy full SHA for 33dc49e - Browse repository at this point
Copy the full SHA 33dc49eView commit details -
The cleanup_devices function should remove any partitions created on the device and force the partition table to be reread. This is needed to ensure that blkid has an up to date version of what devices and partitions are used by zfs. The cleanup_devices call was removed from inuse_008_pos.ksh since it operated on partitions instead of devices and was not needed. Lastly ddidecode may be called by parted and was therefore added to the constrained path. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9806
Configuration menu - View commit details
-
Copy full SHA for 581ca28 - Browse repository at this point
Copy the full SHA 581ca28View commit details -
Fix QAT allocation failure return value
When qat_compress() fails to allocate the required contiguous memory it mistakenly returns success. This prevents the fallback software compression from taking over and (un)compressing the block. Resolve the issue by correctly setting the local 'status' variable on all exit paths. Furthermore, initialize it to CPA_STATUS_FAIL to ensure qat_compress() always fails safe to guard against any similar bugs in the future. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9784 Closes openzfs#9788
Configuration menu - View commit details
-
Copy full SHA for bc9cef1 - Browse repository at this point
Copy the full SHA bc9cef1View commit details -
Fix "zpool add -n" for dedup, special and log devices
For dedup, special and log devices "zpool add -n" does not print correctly their vdev type: ~# zpool add -n pool dedup /tmp/dedup special /tmp/special log /tmp/log would update 'pool' to the following configuration: pool /tmp/normal /tmp/dedup /tmp/special /tmp/log This could lead storage administrators to modify their ZFS pools to unexpected and unintended vdev configurations. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes openzfs#9783 Closes openzfs#9390
Configuration menu - View commit details
-
Copy full SHA for c24fa4b - Browse repository at this point
Copy the full SHA c24fa4bView commit details
Commits on Jan 7, 2020
-
ZTS: Add sunos.run to dist data
This was missed when the file was introduced. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9815
Configuration menu - View commit details
-
Copy full SHA for 798b2b8 - Browse repository at this point
Copy the full SHA 798b2b8View commit details -
zfs-module-parameters(5): add all missing items
I ran a report against the output of `modinfo zfs.ko`. This commit adds everything missing and corrects a few renamed module parameters. Specifically: * zfs_checksums_per second renamed in ad796b8 * vdev_ms_count_limit renamed in c853f38 Also fixes some variable type inconsistencies (unsigned int => uint) Reviewed-by: George Amanakis <gamanakis@gmail.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: DHE <git@dehacked.net> Closes openzfs#9809
Configuration menu - View commit details
-
Copy full SHA for 6770951 - Browse repository at this point
Copy the full SHA 6770951View commit details
Commits on Jan 8, 2020
-
Avoid here-documents in systemd mount generator
On some systems - openSUSE, for example - there is not yet a writeable temporary file system available, so bash bails out with an error, 'cannot create temp file for here-document: Read-only file system', on the here documents in zfs-mount-generator. The simple fix is to change these into a multi-line echo statement. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-By: Richard Laager <rlaager@wiktel.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Lorenz Hüdepohl <dev@stellardeath.org> Closes openzfs#9802
Configuration menu - View commit details
-
Copy full SHA for 028e3b3 - Browse repository at this point
Copy the full SHA 028e3b3View commit details -
ZTS: Eliminate functions named 'random'
The name overlaps with a command needed by FreeBSD. There is also no sense having two 'random' functions that do nearly the same thing, so consolidate to just the more general one and name it 'random_int_between'. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9820
Configuration menu - View commit details
-
Copy full SHA for f8d55b9 - Browse repository at this point
Copy the full SHA f8d55b9View commit details
Commits on Jan 9, 2020
-
Remove parameter names from libzfs.h signatures
Most of libzfs.h doesn't provide names for the parameters in its signatures. These few functions included them. That wouldn't be a problem, per se, but the 'lines' parameter conflicts with the 'lines' #define from terminfo's term.h, present for at least a decade. This makes it difficult to compile code making use of both ZFS and terminfo. Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Nick Black <dankamongmen@gmail.com> Closes openzfs#9821
Configuration menu - View commit details
-
Copy full SHA for 4abd7d8 - Browse repository at this point
Copy the full SHA 4abd7d8View commit details -
ZTS: Provide an alternative to shuf for FreeBSD
There was a shuf package but the upstream for the port has recently disappeared, so it is no longer available. Create a function to hide the usage of shuf. Implement using seq|random on FreeBSD. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9824
Configuration menu - View commit details
-
Copy full SHA for 90ae487 - Browse repository at this point
Copy the full SHA 90ae487View commit details -
Performance tests, fio enhancements
- Set fixed chunk pattern, for sane compression - Adjust buffer to blocksize, for cross blocksize repeatability - Use fixed seed, for improved repeatability - Move comp-percent and comp-chunk to variables - set variables (mostly) to old defaults Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl> Closes openzfs#9793
Configuration menu - View commit details
-
Copy full SHA for 36e5b4a - Browse repository at this point
Copy the full SHA 36e5b4aView commit details
Commits on Jan 10, 2020
-
ZTS: Improve zts-auto_offline_001_pos
The zts-auto_offline_001_pos test could exceed the 10 minute test limit and be KILLED by the test infrastructure. To prevent this speed up the test case by: * Removing redundant pool configurations. Each of the following vdev types is tested once: mirror, raidz, cache, and special. * The block_device_wait function need only wait on the block device which has been removed as part of the test. Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9827
Configuration menu - View commit details
-
Copy full SHA for 9ab6109 - Browse repository at this point
Copy the full SHA 9ab6109View commit details -
This commit adds the --saved (-S) to the 'zfs send' command. This flag allows a user to send a partially received dataset, which can be useful when migrating a backup server to new hardware. This flag is compatible with resumable receives, so even if the saved send is interrupted, it can be resumed. The flag does not require any user / kernel ABI changes or any new feature flags in the send stream format. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Alek Pinchuk <apinchuk@datto.com> Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Reviewed-by: Christian Schwarz <me@cschwarz.com> Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tom Caputi <tcaputi@datto.com> Closes openzfs#9007
Configuration menu - View commit details
-
Copy full SHA for ba0ba69 - Browse repository at this point
Copy the full SHA ba0ba69View commit details -
ZTS: Create xattr helpers to hide platform
Create xattr helpers to hide platform and update usage in tests. This does not generally aim to enable all xattr tests yet, but it is a necessary step in that direction. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9826
Configuration menu - View commit details
-
Copy full SHA for 6e1c594 - Browse repository at this point
Copy the full SHA 6e1c594View commit details
Commits on Jan 13, 2020
-
ZTS: Clean up properties.shlib a bit
Fixes the last property having an empty value on FreeBSD and makes the code a bit more readable. Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9834
Configuration menu - View commit details
-
Copy full SHA for 602f667 - Browse repository at this point
Copy the full SHA 602f667View commit details
Commits on Jan 14, 2020
-
ZTS: Remove obsolete zts-report.py exceptions
The disk_reason and udev_reason exceptions can be removed since they apply to now unsupported kernel versions (<v3.10). The checks in the test cases were kept for the purposes of documentation and as useful sanity checks for the test environment. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9828
Configuration menu - View commit details
-
Copy full SHA for a4c3e3c - Browse repository at this point
Copy the full SHA a4c3e3cView commit details -
Change http://zfsonlinux.org links to https://zfsonlinux.org
Update the project website links contained in to repository to reference the secure https://zfsonlinux.org address. Reviewed-By: Richard Laager <rlaager@wiktel.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Garrett Fields <ghfields@gmail.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9837
Configuration menu - View commit details
-
Copy full SHA for e458fcc - Browse repository at this point
Copy the full SHA e458fccView commit details -
libzfs: add zfs_mount_at() function
zfs_mount_at() mounts a dataset at an arbitrary mountpoint rather than at the configured mountpoint. This may be used by consumers that wish to temporarily expose a dataset at another mountpoint without altering dataset/pool properties. This will be used by FreeBSD's libbe be_mount(), which mounts a boot environment at an arbitrary mountpoint. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Kyle Evans <kevans@FreeBSD.org> Closes openzfs#9833
Configuration menu - View commit details
-
Copy full SHA for 68a192e - Browse repository at this point
Copy the full SHA 68a192eView commit details -
KMC_KVMEM disrupts kv_alloc() memory alignment expectations
On kernels with KASAN enabled the following failure can be observed as soon as the zfs module is loaded: VERIFY(IS_P2ALIGNED(ptr, PAGE_SIZE)) failed PANIC at spl-kmem-cache.c:228:kv_alloc() The problem is kmalloc() has never guaranteed aligned allocations; this requirement resulted in openzfs/spl@8b45dda which removed all kmalloc() usage in kv_alloc(). Until a GFP_ALIGNED flag (or equivalent functionality) is provided by the kernel this commit partially reverts 6695588 and 6d948c3 to prevent k(v)malloc() allocations in kv_alloc(). Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes openzfs#9813
Configuration menu - View commit details
-
Copy full SHA for 7e2da77 - Browse repository at this point
Copy the full SHA 7e2da77View commit details -
Document zfs change-key caveats
As discussed on the 2019-01-07 OpenZFS Leadership Meeting, we need to be clear about the limitations of `zfs change-key`. Changing the user key does not change the master key, nor does it currently overwrite the old wrapped master key on disk. Reviewed-by: Tom Caputi <tcaputi@datto.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Garrett Fields <ghfields@gmail.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Richard Laager <rlaager@wiktel.com> Closes openzfs#9819
Configuration menu - View commit details
-
Copy full SHA for f744f36 - Browse repository at this point
Copy the full SHA f744f36View commit details -
Fix errata #4 handling for resuming streams
Currently, the handling for errata #4 has two issues which allow the checks for this issue to be bypassed using resumable sends. The first issue is that drc->drc_fromsnapobj is not set in the resuming code as it is in the non-resuming code. This causes dsl_crypto_recv_key_check() to skip its checks for the from_ivset_guid. The second issue is that resumable sends do not clean up their on-disk state if they fail the checks in dmu_recv_stream() that happen before any data is received. As a result of these two bugs, a user can attempt a resumable send of a dataset without a from_ivset_guid. This will fail the initial dmu_recv_stream() checks, leaving a valid resume state. The send can then be resumed, which skips those checks, allowing the receive to be completed. This commit fixes these issues by setting drc->drc_fromsnapobj in the resuming receive path and by ensuring that resumablereceives are properly cleaned up if they fail the initial dmu_recv_stream() checks. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tom Caputi <tcaputi@datto.com> Closes openzfs#9818 Closes openzfs#9829
Configuration menu - View commit details
-
Copy full SHA for 61152d1 - Browse repository at this point
Copy the full SHA 61152d1View commit details -
ZTS: Catalog tunable names for tests in tunables.cfg
Update tests to use the variables for tunable names. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9831
Configuration menu - View commit details
-
Copy full SHA for 2476f10 - Browse repository at this point
Copy the full SHA 2476f10View commit details
Commits on Jan 15, 2020
-
ZTS: Remove some path workarounds for FreeBSD
These are no longer needed after fixing device name matching for whole disks in libzutil on FreeBSD. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9839
Configuration menu - View commit details
-
Copy full SHA for 900010d - Browse repository at this point
Copy the full SHA 900010dView commit details -
ZTS: Fix is_physical_device on FreeBSD
This should have been using egrep. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9840
Configuration menu - View commit details
-
Copy full SHA for 83c3024 - Browse repository at this point
Copy the full SHA 83c3024View commit details -
ZTS: Avoid using PCRE with grep in zdb tests
On FreeBSD grep does not support Perl extensions Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9841
Configuration menu - View commit details
-
Copy full SHA for 6f48161 - Browse repository at this point
Copy the full SHA 6f48161View commit details
Commits on Jan 16, 2020
-
ZTS: Fix ksh path in btree tests
Every other ksh script has /bin/ksh in the shebang. If we're going to assume a path, we can at least be consistent. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9845
Configuration menu - View commit details
-
Copy full SHA for 1bb5f5e - Browse repository at this point
Copy the full SHA 1bb5f5eView commit details -
ZFS performance suite should use JSON fio output
Making the default FIO output format be JSON thus easier to post process performance results. To get previous 'normal' output format, PERF_FIO_FORMAT can be set prior to invoking zfs-tests.sh. For example: 'PERF_FIO_FORMAT=normal ./zfs-tests.sh -T perf -r ./runfiles/perf.run' Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Nguyen <tony.nguyen@delphix.com> Closes openzfs#9847
Configuration menu - View commit details
-
Copy full SHA for 1b64627 - Browse repository at this point
Copy the full SHA 1b64627View commit details -
zdb -d should accept the numeric objset id
As an alternative to the dataset name, zdb now allows the decimal or hexadecimal objset ID to be specified. When permanent errors are reported as 2 hexadecimal numbers (objset ID : object ID) in zpool status; you can now use 'zdb <pool>[/objset ID] object' to determine the names of the objset and object which have the error. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Paul Zuchowski <pzuchowski@datto.com> Closes openzfs#9733
Configuration menu - View commit details
-
Copy full SHA for f12e42c - Browse repository at this point
Copy the full SHA f12e42cView commit details -
ZTS: Fix incorrect is_physical_device usage
This check isn't meant to be used for command substitution. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9844
Configuration menu - View commit details
-
Copy full SHA for 31712a7 - Browse repository at this point
Copy the full SHA 31712a7View commit details
Commits on Jan 17, 2020
-
ZTS: Enable zpool_create_008_pos.ksh
Remove the blkid version check from zpool_create_008_pos.ksh so the test case will not be skipped. All versions of blkid tested by the CI are either new enough to not suffer from this issue, or have been patched as is the case with CentOS 7 (libblkid-2.23.2-61). Additionally, add a block_device_wait after device partitioning to ensure the expected partitions will exist. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9853
Configuration menu - View commit details
-
Copy full SHA for e5030fb - Browse repository at this point
Copy the full SHA e5030fbView commit details -
Over the years several slightly different approaches were used in the Makefiles to determine the target architecture. This change updates both the build system and Makefile to handle this in a consistent fashion. TARGET_CPU is set to i386, x86_64, powerpc, aarch6 or sparc64 and made available in the Makefiles to be used as appropriate. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9848
Configuration menu - View commit details
-
Copy full SHA for 70835c5 - Browse repository at this point
Copy the full SHA 70835c5View commit details -
ZTS: Make DVA pattern in zdb tests more robust
Ensure the capture ends at the first DVA in case there are multiple DVAs on the same line by only capturing up to the first '>' character. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9851
Configuration menu - View commit details
-
Copy full SHA for 914bd02 - Browse repository at this point
Copy the full SHA 914bd02View commit details -
ZTS: Eliminate partitioning in zpool_import setup
There doesn't seem to be a need for this complexity. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9854
Configuration menu - View commit details
-
Copy full SHA for 09436c5 - Browse repository at this point
Copy the full SHA 09436c5View commit details
Commits on Jan 21, 2020
-
Re-consolidate zio_delay_interrupt
With recent SPL changes there is no longer any need for a per platform version. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9860
Configuration menu - View commit details
-
Copy full SHA for d3c1e45 - Browse repository at this point
Copy the full SHA d3c1e45View commit details -
Update tunable macro usage for disable_ivset_guid_check
Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9861
Configuration menu - View commit details
-
Copy full SHA for af26a86 - Browse repository at this point
Copy the full SHA af26a86View commit details -
Disable get_numeric_property for xattr on FreeBSD
FreeBSD doesn't have a mount flag for determining the disposition of xattr. Disable so that it is fetched by the default route so that 'zfs get xattr' returns the correct value. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9862
Configuration menu - View commit details
-
Copy full SHA for 5206b82 - Browse repository at this point
Copy the full SHA 5206b82View commit details
Commits on Jan 22, 2020
-
Order zfs-import-*.service after multipathd
If someone is using both multipathd and ZFS, they are probably using them together. Ordering the zpool imports after multipathd is ready fixes import issues for multipath configurations. Tested-by: Mike Pastore <mike@oobak.org> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Richard Laager <rlaager@wiktel.com> Closes openzfs#9863
Configuration menu - View commit details
-
Copy full SHA for 79add96 - Browse repository at this point
Copy the full SHA 79add96View commit details
Commits on Jan 23, 2020
-
Support inheriting properties in channel programs
This adds support in channel programs to inherit properties analogous to `zfs inherit` by adding `zfs.sync.inherit` and `zfs.check.inherit` functions to the ZFS LUA API. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Jason King <jason.king@joyent.com> Closes openzfs#9738
Configuration menu - View commit details
-
Copy full SHA for e2ef1cb - Browse repository at this point
Copy the full SHA e2ef1cbView commit details -
Simplify FreeBSD's locking requirements in zfs_replay.c
Now that the FreeBSD zfs_vnops code avoids asserting that a vnode lock is held when z_replay is true we can limit the FreeBSD specific changes to the couple of changes where it is necessary to drop the vnode locks because a function returns with it held. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9865
Configuration menu - View commit details
-
Copy full SHA for 3d91490 - Browse repository at this point
Copy the full SHA 3d91490View commit details -
cmd/zfs: send: meaningful error message for incorrect redaction bookmark
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9867
Configuration menu - View commit details
-
Copy full SHA for 7b53e2e - Browse repository at this point
Copy the full SHA 7b53e2eView commit details -
cmd/zfs: redact: better error message for common usage errors
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9867
Configuration menu - View commit details
-
Copy full SHA for f658f61 - Browse repository at this point
Copy the full SHA f658f61View commit details -
dmu_send: redacted: fix memory leak on invalid redaction/from bookmark
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9867
Configuration menu - View commit details
-
Copy full SHA for 0ea03c7 - Browse repository at this point
Copy the full SHA 0ea03c7View commit details -
ZTS: Add missing export for DEV_DSKDIR default
Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9873
Configuration menu - View commit details
-
Copy full SHA for 1a69856 - Browse repository at this point
Copy the full SHA 1a69856View commit details -
Implements the RAID-Z function using AltiVec SIMD. This is basically the NEON code translated to AltiVec. Note that the 'fletcher' algorithm requires 64-bits operations, and the initial implementations of AltiVec (PPC74xx a.k.a. G4, PPC970 a.k.a. G5) only has up to 32-bits operations, so no 'fletcher'. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu> Closes openzfs#9539
Configuration menu - View commit details
-
Copy full SHA for 35b0749 - Browse repository at this point
Copy the full SHA 35b0749View commit details
Commits on Jan 24, 2020
-
ZTS: Get xattr tests running on FreeBSD
This mostly involves reworking platform checks to make illumos the exception (thanks to their unusual way of exposing xattrs). Other platforms are able to take advantage of the recently added xattr wrappers in libtest. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9872
Configuration menu - View commit details
-
Copy full SHA for dbfec5c - Browse repository at this point
Copy the full SHA dbfec5cView commit details -
scripts/zfs-test.sh: example for -t
Add an example for running a single test case. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9878
Configuration menu - View commit details
-
Copy full SHA for 603059e - Browse repository at this point
Copy the full SHA 603059eView commit details -
entity_namecheck: doc comment: include space as allowed character
The helper function valid_char already allows it but the doc comment was out of date. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9879
Configuration menu - View commit details
-
Copy full SHA for 3aea3c9 - Browse repository at this point
Copy the full SHA 3aea3c9View commit details -
dsl_bookmark_create_check: fix NULL pointer deref if dbca_errors == NULL
Discovered in preparation of zcp support for creating bookmarks. Handle the case where dbca_errors is NULL. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9880
Configuration menu - View commit details
-
Copy full SHA for 20ea854 - Browse repository at this point
Copy the full SHA 20ea854View commit details -
ZTS: zpool offline requires whole disk name
When used with non-loop devices, zdb_004_pos fails because the disk argument provided is the partition rather than the expected whole disk name. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Signed-off-by: John Kennedy <john.kennedy@delphix.com> Closes openzfs#9876
Configuration menu - View commit details
-
Copy full SHA for 0d37c2b - Browse repository at this point
Copy the full SHA 0d37c2bView commit details -
Performance tests, some variables missing PERF_ prefix
Adding the expected PERF_ prefix to RANDSEED, COMPPERCENT, and COMPCHUNK. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Nguyen <tony.nguyen@delphix.com> Closes openzfs#9877
Configuration menu - View commit details
-
Copy full SHA for 8e9e90b - Browse repository at this point
Copy the full SHA 8e9e90bView commit details -
zdb: add support for object ranges for zdb -d
Allow a range of object identifiers to dump with -d. This may be useful when dumping a large dataset and you want to break it up into multiple phases, or to resume where a previous scan left off. Object type selection flags are supported to reduce the performance overhead of verbosely dumping unwanted objects, and to reduce the amount of post-processing work needed to filter out unwanted objects from zdb output. This change extends existing syntax in a backward-compatible way. That is, the base case of a range is to specify a single object identifier to dump. Ranges and object identifiers can be intermixed as command line parameters. Usage synopsis: Object ranges take the form <start>:<end>[:<flags>] start Starting object number end Ending object number, or -1 for no upper bound flags Optional flags to select object types: A All objects (this is the default) d ZFS directories f ZFS files m SPA space maps z ZAPs - Negate effect of next flag Examples: # Dump all file objects zdb -dd tank/fish 0:-1:f # Dump all file and directory objects zdb -dd tank/fish 0:-1:fd # Dump all types except file and directory objects zdb -dd tank/fish 0:-1:A-f-d # Dump object IDs in a specific range zdb -dd tank/fish 1000:2000 Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Signed-off-by: Ned Bass <bass6@llnl.gov> Closes openzfs#9832
Configuration menu - View commit details
-
Copy full SHA for a340316 - Browse repository at this point
Copy the full SHA a340316View commit details
Commits on Jan 27, 2020
-
ZTS: Move more tests out of common.run
These tests won't run on all platforms as currently implemented: * add_nested_replacing_spare (needs zed) * fault (needs zed) * mmp (needs multihost_history) * umount_unlink_drained (needs procfs) * zpool_expand (needs udev events and zed) * zpool_reopen (needs scsi_debug) * zvol_swap_003_pos (needs to modify vfstab) * zvol_swap_00[56]_pos (needs swaphigh/swaplen) Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes openzfs#9871
Configuration menu - View commit details
-
Copy full SHA for e4c4390 - Browse repository at this point
Copy the full SHA e4c4390View commit details -
Add an .editorconfig; document git whitespace settings
Most of the projects I work on don't use tabs, and while authoring my first patch I had to wrestle with my editor to not introduce whitespace editors. The `.editorconfig` file is supported by a large number of editors out of the box, and many more with plugins. As a first-time contributor, I can't say for certain these settings are totally correct, but thus far git and my editor are satisfied enough. I considered adding `git config --local format.signOff true` but wanted to respect the warning: format.signOff A boolean value which lets you enable the -s/--signoff option of format-patch by default. Note: Adding the Signed-off-by: line to a patch should be a conscious act and means that you certify you have the rights to submit this work under the same open source license. Please see the SubmittingPatches document for further discussion. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Graham Christensen <graham@grahamc.com> Closes openzfs#9892
Configuration menu - View commit details
-
Copy full SHA for 25df8fb - Browse repository at this point
Copy the full SHA 25df8fbView commit details
Commits on Jan 28, 2020
-
ZTS: Eliminate random and shuf, consolidate code
Both GNU and FreeBSD sort have -R to randomize input. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9900
Configuration menu - View commit details
-
Copy full SHA for 7a298ae - Browse repository at this point
Copy the full SHA 7a298aeView commit details -
ZTS: Don't use edonr on FreeBSD
FreeBSD doesn't support feature@edonr. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9901
Configuration menu - View commit details
-
Copy full SHA for 0ecd910 - Browse repository at this point
Copy the full SHA 0ecd910View commit details
Commits on Jan 29, 2020
-
ZTS: Reverse constrained path lookup order
FreeBSD base system zfs utils are in /sbin. ZoF utils install to /usr/local/sbin. Ensure we link to the ZoF utils not the base utils when searching for utils to constrain paths to for the tests. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9906
Ryan Moeller authoredJan 29, 2020 Configuration menu - View commit details
-
Copy full SHA for 74b4d34 - Browse repository at this point
Copy the full SHA 74b4d34View commit details -
ZTS: Simplify zero_partitions on FreeBSD
We can avoid a great deal of `sleep 3` by simply destroying the whole partition table in one shot with gpart. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9908
Ryan Moeller authoredJan 29, 2020 Configuration menu - View commit details
-
Copy full SHA for 395a6b1 - Browse repository at this point
Copy the full SHA 395a6b1View commit details -
ZTS: FreeBSD tunable for DISABLE_IVSET_GUID_CHECK
Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9907
Ryan Moeller authoredJan 29, 2020 Configuration menu - View commit details
-
Copy full SHA for 9d8ce24 - Browse repository at this point
Copy the full SHA 9d8ce24View commit details
Commits on Jan 31, 2020
-
Linux was missing a default value for DEV_DSKDIR. Set it to /dev. Fix resulting fallout. SLICE_PREFIX seems like a good candidate for including in the defaults. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9898
Ryan Moeller authoredJan 31, 2020 Configuration menu - View commit details
-
Copy full SHA for a3bddd4 - Browse repository at this point
Copy the full SHA a3bddd4View commit details -
Use the correct spelling of 'jailed' in tests
FreeBSD has jails, not zones. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9899
Ryan Moeller authoredJan 31, 2020 Configuration menu - View commit details
-
Copy full SHA for 1243079 - Browse repository at this point
Copy the full SHA 1243079View commit details -
Index type props display as strings, which should be aligned to the left not to the right. Before: ``` FreeBSD-13_0-CURRENT-r356528 ➜ ~ zfs list -ro name,aclmode,mountpoint NAME ACLMODE MOUNTPOINT p0 passthrough /p0 p0/foo discard /p0/foo ``` After: ``` FreeBSD-13_0-CURRENT-r356528 ➜ ~ zfs list -ro name,aclmode,mountpoint NAME ACLMODE MOUNTPOINT p0 passthrough /p0 p0/foo discard /p0/foo ``` Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9912
Ryan Moeller authoredJan 31, 2020 Configuration menu - View commit details
-
Copy full SHA for fe7c159 - Browse repository at this point
Copy the full SHA fe7c159View commit details -
And while here, add a workaround for FreeBSD to ensure dirty data is synced before taking a snapshot, by remounting read-only, then remount again read-write after the snapshot. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9914
Ryan Moeller authoredJan 31, 2020 Configuration menu - View commit details
-
Copy full SHA for 591505d - Browse repository at this point
Copy the full SHA 591505dView commit details
Commits on Feb 3, 2020
-
Disable "-fipa-sra" when using "--enable-debuginfo"
To better enable dynamic tracing tools (e.g. "bpftrace") this change disables the "-fipa-sra" compilation optimization. This way, function signatures are not changed by the compiler, which allows us to better attach to kprobes and kretprobes with dynamic tracing tools. Otherwise, the compiler may append ".isra" to the function name, and possibly change the function arguments as well. Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Prakash Surya <prakash.surya@delphix.com> Closes openzfs#9921
Prakash Surya authoredFeb 3, 2020 Configuration menu - View commit details
-
Copy full SHA for 147622b - Browse repository at this point
Copy the full SHA 147622bView commit details -
async zvol minor node creation interferes with receive
When we finish a zfs receive, dmu_recv_end_sync() calls zvol_create_minors(async=TRUE). This kicks off some other threads that create the minor device nodes (in /dev/zvol/poolname/...). These async threads call zvol_prefetch_minors_impl() and zvol_create_minor(), which both call dmu_objset_own(), which puts a "long hold" on the dataset. Since the zvol minor node creation is asynchronous, this can happen after the `ZFS_IOC_RECV[_NEW]` ioctl and `zfs receive` process have completed. After the first receive ioctl has completed, userland may attempt to do another receive into the same dataset (e.g. the next incremental stream). This second receive and the asynchronous minor node creation can interfere with one another in several different ways, because they both require exclusive access to the dataset: 1. When the second receive is finishing up, dmu_recv_end_check() does dsl_dataset_handoff_check(), which can fail with EBUSY if the async minor node creation already has a "long hold" on this dataset. This causes the 2nd receive to fail. 2. The async udev rule can fail if zvol_id and/or systemd-udevd try to open the device while the the second receive's async attempt at minor node creation owns the dataset (via zvol_prefetch_minors_impl). This causes the minor node (/dev/zd*) to exist, but the udev-generated /dev/zvol/... to not exist. 3. The async minor node creation can silently fail with EBUSY if the first receive's zvol_create_minor() trys to own the dataset while the second receive's zvol_prefetch_minors_impl already owns the dataset. To address these problems, this change synchronously creates the minor node. To avoid the lock ordering problems that the asynchrony was introduced to fix (see openzfs#3681), we create the minor nodes from open context, with no locks held, rather than from syncing contex as was originally done. Implementation notes: We generally do not need to traverse children or prefetch anything (e.g. when running the recv, snapshot, create, or clone subcommands of zfs). We only need recursion when importing/opening a pool and when loading encryption keys. The existing recursive, asynchronous, prefetching code is preserved for use in these cases. Channel programs may need to create zvol minor nodes, when creating a snapshot of a zvol with the snapdev property set. We figure out what snapshots are created when running the LUA program in syncing context. In this case we need to remember what snapshots were created, and then try to create their minor nodes from open context, after the LUA code has completed. There are additional zvol use cases that asynchronously own the dataset, which can cause similar problems. E.g. changing the volmode or snapdev properties. These are less problematic because they are not recursive and don't touch datasets that are not involved in the operation, there is still potential for interference with subsequent operations. In the future, these cases should be similarly converted to create the zvol minor node synchronously from open context. The async tasks of removing and renaming minors do not own the objset, so they do not have this problem. However, it may make sense to also convert these operations to happen synchronously from open context, in the future. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Prakash Surya <prakash.surya@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> External-issue: DLPX-65948 Closes openzfs#7863 Closes openzfs#9885
Configuration menu - View commit details
-
Copy full SHA for ec21397 - Browse repository at this point
Copy the full SHA ec21397View commit details -
Fix const-correctness in raidz math
Clang warns (errors) that "cast from 'const void *' to 'struct v *' drops const qualifier." Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9917
Ryan Moeller authoredFeb 3, 2020 Configuration menu - View commit details
-
Copy full SHA for 07bc2bc - Browse repository at this point
Copy the full SHA 07bc2bcView commit details
Commits on Feb 4, 2020
-
Restore aclmode and remove acltype on FreeBSD
This replaces the placeholder ZFS_PROP_PRIVATE with ZFS_PROP_ACLMODE, matching what is done in the NFSv4 ACLs PR (openzfs#9709). On FreeBSD we hide ZFS_PROP_ACLTYPE, while on Linux we hide ZFS_PROP_ACLMODE. The tests already assume this arrangement. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9913
Ryan Moeller authoredFeb 4, 2020 Configuration menu - View commit details
-
Copy full SHA for 8c4987c - Browse repository at this point
Copy the full SHA 8c4987cView commit details -
Use -Werror to check if the compiler supports specific options
Be default, clang treats unknown warning option as warning. We need to use -Werror to make it an error. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: 12101111 <w12101111@gmail.com> Closes openzfs#9927
Configuration menu - View commit details
-
Copy full SHA for 52c487a - Browse repository at this point
Copy the full SHA 52c487aView commit details -
Prepare ks_data before calling kstat_install()
It violated sequence described in kstat.h, and at least on FreeBSD kstat_install() uses provided names to create the sysctls. If the names are not available at the time, it ends up bad. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored-By: iXsystems, Inc. Closes openzfs#9933
Configuration menu - View commit details
-
Copy full SHA for 741db5a - Browse repository at this point
Copy the full SHA 741db5aView commit details
Commits on Feb 5, 2020
-
Convert dbuf dirty record record list to a list_t
Additionally pull in state machine comments about upcoming async cow work. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9902
Configuration menu - View commit details
-
Copy full SHA for cccbed9 - Browse repository at this point
Copy the full SHA cccbed9View commit details -
Few microoptimizations to dbuf layer
Move db_link into the same cache line as db_blkid and db_level. It allows significantly reduce avl_add() time in dbuf_create() on systems with large RAM and huge number of dbufs per dnode. Avoid few accesses to dbuf_caches[].size, which is highly congested under high IOPS and never stays in cache for a long time. Use local value we are receiving from zfs_refcount_add_many() any way. Remove cache_size_bytes_max bump from dbuf_evict_one(). I don't see a point to do it on dbuf eviction after we done it on insertion in dbuf_rele_and_unlock(). Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored-By: iXsystems, Inc. Closes openzfs#9931
Configuration menu - View commit details
-
Copy full SHA for cbd8f5b - Browse repository at this point
Copy the full SHA cbd8f5bView commit details -
Suggest visudo which allows editing the sudoers file in a safe fashion. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Gerardwx <gerardw@alum.mit.edu> Closes openzfs#9918
Configuration menu - View commit details
-
Copy full SHA for 81acb1e - Browse repository at this point
Copy the full SHA 81acb1eView commit details
Commits on Feb 6, 2020
-
Fix unknown cc flag -fno-ipa-sra
Clang does not recognize -fno-ipa-sra, so add a check for it. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Prakash Surya <prakash.surya@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9946
Ryan Moeller authoredFeb 6, 2020 Configuration menu - View commit details
-
Copy full SHA for 5b7e6a3 - Browse repository at this point
Copy the full SHA 5b7e6a3View commit details -
Fix static data to link with -fno-common
-fno-common is the new default in GCC 10, replacing -fcommon in GCC <= 9, so static data must only be allocated once. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu> Closes openzfs#9943
Configuration menu - View commit details
-
Copy full SHA for af09c05 - Browse repository at this point
Copy the full SHA af09c05View commit details -
Replace static per-cpu with dynamic per-cpu data
This solves the issue of loading the spl module on RISC-V. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu> Closes openzfs#9942
Configuration menu - View commit details
-
Copy full SHA for 77122f9 - Browse repository at this point
Copy the full SHA 77122f9View commit details -
Reduce number of atomic_add() calls in aggsum
Previous code used 4 atomics to do aggsum_flush_bucket() and 2 more to re-borrow after the flush. But since asc_borrowed and asc_delta are accessed only while holding asc_lock, it makes no any sense to modify as_lower_bound and as_upper_bound in multiple steps. Instead of that the new code uses only 2 atomics in all the cases, one per as_*_bound variable. I think even that is overkill, simple atomic store and load could be used here, since all modifications are done under the as_lock, but there are no such primitives in ZFS code now. While there, make borrow code consider previous borrow value, so that on mixed request patterns reduce chance of needing to borrow again if much larger request follows tiny one that needed borrow. Also reduce as_numbuckets from uint64_t to u_int. It makes no sense to use so large division operation on every aggsum_add(). Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Paul Dagnelie <pcd@delphix.com> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored-By: iXsystems, Inc. Closes openzfs#9930
Configuration menu - View commit details
-
Copy full SHA for e0ce98d - Browse repository at this point
Copy the full SHA e0ce98dView commit details
Commits on Feb 7, 2020
-
Linux 5.6 compat: struct proc_ops
The proc_ops structure was introduced to replace the use of of the file_operations structure when registering proc handlers. This change creates a new kstat_proc_op_t typedef for compatibility which can be used to pass around the correct structure. This change additionally adds the 'const' keyword to all of the existing proc operations structures. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9961
Configuration menu - View commit details
-
Copy full SHA for 0dd7364 - Browse repository at this point
Copy the full SHA 0dd7364View commit details -
Linux 5.6 compat: timestamp_truncate()
The timestamp_truncate() function was added, it replaces the existing timespec64_trunc() function. This change renames our wrapper function to be consistent with the upstream name and updates the compatibility code for older kernels accordingly. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9956 Closes openzfs#9961
Configuration menu - View commit details
-
Copy full SHA for 795699a - Browse repository at this point
Copy the full SHA 795699aView commit details -
ZTS: Use wc -c instead of --bytes for portability
FreeBSD does not have the long opts for wc. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Paul Dagnelie <pcd@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9963
Ryan Moeller authoredFeb 7, 2020 Configuration menu - View commit details
-
Copy full SHA for 9825e7a - Browse repository at this point
Copy the full SHA 9825e7aView commit details -
ZTS: Add an is_dilos function for future ZTS updates
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Igor Kozhukhov <igor@dilos.org> Closes openzfs#9960
Configuration menu - View commit details
-
Copy full SHA for 818d4a8 - Browse repository at this point
Copy the full SHA 818d4a8View commit details -
Factor the portion of dbuf_sync_leaf() responsible for handling bonus buffers out in to its own dbuf_sync_bonus() helper function. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9909
Configuration menu - View commit details
-
Copy full SHA for fa3922d - Browse repository at this point
Copy the full SHA fa3922dView commit details
Commits on Feb 10, 2020
-
ICP: Improve AES-GCM performance
Currently SIMD accelerated AES-GCM performance is limited by two factors: a. The need to disable preemption and interrupts and save the FPU state before using it and to do the reverse when done. Due to the way the code is organized (see (b) below) we have to pay this price twice for each 16 byte GCM block processed. b. Most processing is done in C, operating on single GCM blocks. The use of SIMD instructions is limited to the AES encryption of the counter block (AES-NI) and the Galois multiplication (PCLMULQDQ). This leads to the FPU not being fully utilized for crypto operations. To solve (a) we do crypto processing in larger chunks while owning the FPU. An `icp_gcm_avx_chunk_size` module parameter was introduced to make this chunk size tweakable. It defaults to 32 KiB. This step alone roughly doubles performance. (b) is tackled by porting and using the highly optimized openssl AES-GCM assembler routines, which do all the processing (CTR, AES, GMULT) in a single routine. Both steps together result in up to 32x reduction of the time spend in the en/decryption routines, leading up to approximately 12x throughput increase for large (128 KiB) blocks. Lastly, this commit changes the default encryption algorithm from AES-CCM to AES-GCM when setting the `encryption=on` property. Reviewed-By: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-By: Jason King <jason.king@joyent.com> Reviewed-By: Tom Caputi <tcaputi@datto.com> Reviewed-By: Richard Laager <rlaager@wiktel.com> Signed-off-by: Attila Fülöp <attila@fueloep.org> Closes openzfs#9749
Configuration menu - View commit details
-
Copy full SHA for 31b160f - Browse repository at this point
Copy the full SHA 31b160fView commit details -
ZTS: Test zvol I/O in different volmodes
We found that our zvol code had some issues with volmode=dev that were not revealed by ZTS. Add some basic I/O operations to exercise more code paths in the volmode test. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9953
Ryan Moeller authoredFeb 10, 2020 Configuration menu - View commit details
-
Copy full SHA for 572b5b3 - Browse repository at this point
Copy the full SHA 572b5b3View commit details -
Share some code for spa deadman tunables
We need to do the same thing to update all spas on any OS for these tunables, so let's share the code. While here let's match the types of the literals initializing the variables with the type of the variable. Reviewed-by: Allan Jude <allanjude@freebsd.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Olaf Faaland <faaland1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9964
Ryan Moeller authoredFeb 10, 2020 Configuration menu - View commit details
-
Copy full SHA for 57940b4 - Browse repository at this point
Copy the full SHA 57940b4View commit details -
bash scripts: use /usr/bin/env for bash shebangs
Not all systems / distros have a `/bin/bash`, and these scripts are more difficult to run at development time. For example, my system is NixOS which doesn't have a /bin/bash. This is not a problem for NixOS building ZFS as a package: the build environment automatically replaces these shebangs with corrected paths. The problem is much more annoying at development time: either the scripts don't run, or I correct them for my local machine and deal with a perpetually dirty work tree. Before committing this patch I confirmed there are existing scripts which use `/usr/bin/env` to locate bash, so I am thinking this is a safe transformation. There are a handful of other shebangs in this repository which don't work on my system. This patch is useful on its own specifically for `commitcheck.sh`, otherwise I can't validate my commits before submission. Here are the remaining shebangs which NixOS systems won't have: 1274 #!/bin/ksh -p 91 #!/bin/ksh 89 #! /bin/ksh -p 2 #!/bin/sed -f 1 #!/usr/bin/perl -w 1 #!/usr/bin/ksh 1 #!/bin/nawk -f plus this which will create an invalid shebang in `tests/zfs-tests/tests/functional/mv_files/mv_files_common.kshlib`: echo "#!/bin/ksh" > $TEST_BASE_DIR/exitsZero.ksh I chose to leave those alone for now, and gauge the interest in this much smaller patch first. The fixes for these are easy enough by simply using `/usr/bin/env ksh`: 91 #!/bin/ksh 1 #!/usr/bin/ksh The fix for the other set is much trickier. Quoting the GNU coreutils manual: Most operating systems (e.g. GNU/Linux, BSDs) treat all text after the first space as a single argument. When using env in a script it is thus not possible to specify multiple arguments. and not all `env`'s support arguments. Mine (GNU Coreutils 8.31) does, though this feature is new since April 2018, GNU Coreutils 8.30: https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=668306ed86c8c79b0af0db8b9c882654ebb66db2 and worse, requires the -S argument: -S, --split-string=S process and split S into separate arguments; used to pass multiple arguments on shebang lines Example: $ seq 1 2 | $(nix-build '<nixpkgs>' -A coreutils)/bin/env "sort -nr" /nix/[...]-coreutils-8.31/bin/env: ‘sort -nr’: No such file or directory /nix/[...]-coreutils-8.31/bin/env: use -[v]S to pass options in shebang lines $ seq 1 2 | $(nix-build '<nixpkgs>' -A coreutils)/bin/env "-S sort -nr" 2 1 GNU Coreutils says FreeBSD's `env` does, though I wonder if FreeBSD's would be unhappy with the `-S`: https://www.gnu.org/software/coreutils/manual/html_node/env-invocation.html#env-invocation BusyBox v1.30.1 does not, and does not have a `-S`-like option: $ seq 1 2 | $(nix-build '<nixpkgs>' -A busybox)/bin/env "sort -nr" env: can't execute 'sort -nr': No such file or directory Toybox 0.8.1 also does not, and also does not have a `-S` option: $ seq 1 2 | $(nix-build '<nixpkgs>' -A toybox)/bin/env "sort -nr" env: exec sort -nr: No such file or directory --- At any rate, if this patch merges and the remaining ~1,500 are updated, the much larger patch should probably include a checkstyle-like test asserting all new shebangs use `/usr/bin/env`. I also don't mind dealing with NixOS weirdness if the project would prefer that. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Graham Christensen <graham@grahamc.com> Closes openzfs#9893
Configuration menu - View commit details
-
Copy full SHA for dda702f - Browse repository at this point
Copy the full SHA dda702fView commit details -
zdb -R :b fails due to the indirect block being compressed, and the 'b' and 'd' flag not working in tandem when specified. Fix the flag parsing code and create a zfs test for zdb -R block display. Also fix the zio flags where the dotted notation for the vdev portion of DVA (i.e. 0.0:offset:length) fails. Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Paul Zuchowski <pzuchowski@datto.com> Closes openzfs#9640 Closes openzfs#9729
Configuration menu - View commit details
-
Copy full SHA for bc67cba - Browse repository at this point
Copy the full SHA bc67cbaView commit details -
Add missing dmu_buf_unlock_parent() calls to dbuf_read_impl()
As explained by the comment in dbuf_read() and above dbuf_read_impl(). Under all circumstances the parent lock specified by dblt should be dropped when existing dbuf_read_impl(). This was not being done for two exist paths. Additionally, ensure the mutex is unlocked before dropping the parent lock. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9968
Configuration menu - View commit details
-
Copy full SHA for dceeca5 - Browse repository at this point
Copy the full SHA dceeca5View commit details
Commits on Feb 11, 2020
-
Address Coverity warnings in openzfs#9902
Coverity reports the variable may be NULL, but due to the way the dirty records are handled this cannot be the case. Add a comment and VERIFY to make this clear and silence the warning. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9962
Configuration menu - View commit details
-
Copy full SHA for 7b49bbc - Browse repository at this point
Copy the full SHA 7b49bbcView commit details -
This feature allows copying existing bookmarks using zfs bookmark fs#target fs#newbookmark There are some niche use cases for such functionality, e.g. when using bookmarks as markers for replication progress. Copying redaction bookmarks produces a normal bookmark that cannot be used for redacted send (we are not duplicating the redaction object). ZCP support for bookmarking (both creation and copying) will be implemented in a separate patch based on this work. Overview: - Terminology: - source = existing snapshot or bookmark - new/bmark = new bookmark - Implement bookmark copying in `dsl_bookmark.c` - create new bookmark node - copy source's `zbn_phys` to new's `zbn_phys` - zero-out redaction object id in copy - Extend existing bookmark ioctl nvlist schema to accept bookmarks as sources - => `dsl_bookmark_create_nvl_validate` is authoritative - use `dsl_dataset_is_before` check for both snapshot and bookmark sources - Adjust CLI - refactor shortname expansion logic in `zfs_do_bookmark` - Update man pages - warn about redaction bookmark handling - Add test cases - CLI - pyyzfs libzfs_core bindings Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9571
Configuration menu - View commit details
-
Copy full SHA for a73f361 - Browse repository at this point
Copy the full SHA a73f361View commit details -
Add support for bookmark creation and cloning. Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Christian Schwarz <me@cschwarz.com> Closes openzfs#9571
Configuration menu - View commit details
-
Copy full SHA for 948f0c4 - Browse repository at this point
Copy the full SHA 948f0c4View commit details
Commits on Feb 12, 2020
-
zdb: Always print symlink target
When zdb is printing paths, also print the symlink target if it exists. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Justin Keogh <commits@v6y.net> Closes openzfs#9925
Configuration menu - View commit details
-
Copy full SHA for 12f7b90 - Browse repository at this point
Copy the full SHA 12f7b90View commit details -
ZTS: Move zpool_split_wholedisks to linux.run
This test uses the scsi_debug Linux kernel module. Move the test to linux.run until we have an alternative to scsi_debug worked out on FreeBSD. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9984
Ryan Moeller authoredFeb 12, 2020 Configuration menu - View commit details
-
Copy full SHA for 1bbeb6d - Browse repository at this point
Copy the full SHA 1bbeb6dView commit details -
Move zfs_version_kernel to platform code
Linux uses sysfs to determine the module version, FreeBSD uses a different method. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9978
Ryan Moeller authoredFeb 12, 2020 Configuration menu - View commit details
-
Copy full SHA for e7be5c4 - Browse repository at this point
Copy the full SHA e7be5c4View commit details -
ZTS: Fix zdb_display_block on FreeBSD
Missed this in the review, but wc output on FreeBSD is indented, so string comparisons mismatch when comparing to an unindented number. Compare counts as integers instead of strings. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9980
Ryan Moeller authoredFeb 12, 2020 Configuration menu - View commit details
-
Copy full SHA for 9c536b9 - Browse repository at this point
Copy the full SHA 9c536b9View commit details -
ZTS: Interpret env vars in faketty on FreeBSD
This was missed in review. On FreeBSD, script does not understand environment variables being passed as a command. Use env to make faketty handle env vars on FreeBSD. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9981
Ryan Moeller authoredFeb 12, 2020 Configuration menu - View commit details
-
Copy full SHA for 834f274 - Browse repository at this point
Copy the full SHA 834f274View commit details -
ZTS: Move user_namespace test to linux.run
Namespaces is a Linux feature not available on other platforms. Move the user_namespace test out of common.run to linux.run. Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9982
Ryan Moeller authoredFeb 12, 2020 Configuration menu - View commit details
-
Copy full SHA for 610eec4 - Browse repository at this point
Copy the full SHA 610eec4View commit details
Commits on Feb 13, 2020
-
Remove duplicate dbufs accounting
Since AVL already has embedded element counter, use dn_dbufs_count only for dbufs not counted there (bonus buffers) and just add them. This removes two atomics per dbuf life cycle. According to profiler it reduces time spent by dbuf_destroy() inside bottlenecked dbuf_evict_thread() from 13.36% to 9.20% of the core. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored-By: iXsystems, Inc. Closes openzfs#9949
Configuration menu - View commit details
-
Copy full SHA for 465e4e7 - Browse repository at this point
Copy the full SHA 465e4e7View commit details -
Missed wakeup when growing kmem cache
When growing the size of a (VMEM or KVMEM) kmem cache, spl_cache_grow() always does taskq_dispatch(spl_cache_grow_work), and then waits for the KMC_BIT_GROWING to be cleared by the taskq thread. The taskq thread (spl_cache_grow_work()) does: 1. allocate new slab and add to list 2. wake_up_all(skc_waitq) 3. clear_bit(KMC_BIT_GROWING) Therefore, the waiting thread can wake up before GROWING has been cleared. It will see that the growing has not yet completed, and go back to sleep until it hits the 100ms timeout. This can have an extreme performance impact on workloads that alloc/free more than fits in the (statically-sized) magazines. These workloads allocate and free slabs with high frequency. The problem can be observed with `funclatency spl_cache_grow`, which on some workloads shows that 99.5% of the time it takes <64us to allocate slabs, but we spend ~70% of our time in outliers, waiting for the 100ms timeout. The fix is to do `clear_bit(KMC_BIT_GROWING)` before `wake_up_all(skc_waitq)`. A future investigation should evaluate if we still actually need to taskq_dispatch() at all, and if so on which kernel versions. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Wilson <gwilson@delphix.com> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#9989
Configuration menu - View commit details
-
Copy full SHA for 2adc6b3 - Browse repository at this point
Copy the full SHA 2adc6b3View commit details -
zstreamdump -C always fails. It is not calculating the checksums, but it's still trying to verify that the (non-calculated) checksum matches the one stored in the send stream. This change makes zstreamdump -C not verify checksums. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#9983
Configuration menu - View commit details
-
Copy full SHA for f49b7a0 - Browse repository at this point
Copy the full SHA f49b7a0View commit details -
zfs-mount-generator: Fix escaping for /
The correct name for the mount unit for / is "-.mount", not ".mount". Reviewed-by: InsanePrawn <insane.prawny@gmail.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Co-authored-by: Antonio Russo <antonio.e.russo@gmail.com> Signed-off-by: Richard Laager <rlaager@wiktel.com> Closes openzfs#9970
Configuration menu - View commit details
-
Copy full SHA for d1d65bb - Browse repository at this point
Copy the full SHA d1d65bbView commit details -
ZTS: Use ECKSUM instead of EBADE in libzfs test
Linux defines ECKSUM as EBADE, FreeBSD defines it as EINTEGRITY. Test for ECKSUM instead of EBADE so we don't have to define EBADE for this test on FreeBSD. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9992
Ryan Moeller authoredFeb 13, 2020 Configuration menu - View commit details
-
Copy full SHA for b90b01c - Browse repository at this point
Copy the full SHA b90b01cView commit details -
Fix a typo/whitespace in tests README
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: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9991
Ryan Moeller authoredFeb 13, 2020 Configuration menu - View commit details
-
Copy full SHA for 523bc0d - Browse repository at this point
Copy the full SHA 523bc0dView commit details -
ZTS: Cleanup some cleanup functions
Cleanup functions should make a best effort to clean up as much as possible. Do a consistency pass in a bunch of tests to make the cleanup functions less prone to failure and fix a few typos here and there. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9993
Ryan Moeller authoredFeb 13, 2020 Configuration menu - View commit details
-
Copy full SHA for 5ceccda - Browse repository at this point
Copy the full SHA 5ceccdaView commit details -
ZTS: Eliminate partitioning from write_dirs
These tests do not need to use partitions. Get rid of the partitioning and just use the disks directly. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9995
Ryan Moeller authoredFeb 13, 2020 Configuration menu - View commit details
-
Copy full SHA for 3e725f0 - Browse repository at this point
Copy the full SHA 3e725f0View commit details -
ZTS: Eliminate partitioning from zpool_remove
These tests do not need to use partitions. Get rid of the partitioning and just use the disks directly. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9996
Ryan Moeller authoredFeb 13, 2020 Configuration menu - View commit details
-
Copy full SHA for 3bdc4f6 - Browse repository at this point
Copy the full SHA 3bdc4f6View commit details -
ZTS: Don't include zpool_create.shlib in zpool_add
The zpool_add tests include zpool_create.shlib for a few silly variables. Don't use those variables for the file names. Include zpool_add.kshlib for whatever variables we still need. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9997
Ryan Moeller authoredFeb 13, 2020 Configuration menu - View commit details
-
Copy full SHA for 7143916 - Browse repository at this point
Copy the full SHA 7143916View commit details -
ZTS: Misc test fixes for FreeBSD
Add missing logic for FreeBSD to a few test scripts. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9994
Ryan Moeller authoredFeb 13, 2020 Configuration menu - View commit details
-
Copy full SHA for 4f4ddf9 - Browse repository at this point
Copy the full SHA 4f4ddf9View commit details
Commits on Feb 14, 2020
-
Use POSIX stdout/stderr redirect in configure macro
This PR fixes an issue wherein redirecting stdout and stderr when building kernel modules in configure tests relied on a bashism that does not work as expected when /bin/sh is not bash. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-By: Richard Laager <rlaager@wiktel.com> Signed-off-by: Andrew J. Hesford <ajh@sideband.org> Closes openzfs#9990 Closes openzfs#9998
Configuration menu - View commit details
-
Copy full SHA for db0ad39 - Browse repository at this point
Copy the full SHA db0ad39View commit details -
Make zpool.d/iostat work on FreeBSD
There are slight differences in the iostat commands between FreeBSD and Linux. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#9979
Ryan Moeller authoredFeb 14, 2020 Configuration menu - View commit details
-
Copy full SHA for 0f18321 - Browse repository at this point
Copy the full SHA 0f18321View commit details -
Remove limit on number of async zio_frees of non-dedup blocks
The module parameter zfs_async_block_max_blocks limits the number of blocks that can be freed by the background freeing of filesystems and snapshots (from "zfs destroy"), in one TXG. This is useful when freeing dedup blocks, becuase each zio_free() of a dedup block can require an i/o to read the relevant part of the dedup table (DDT), and will also dirty that block. zfs_async_block_max_blocks is set to 100,000 by default. For the more typical case where dedup is not used, this can have a negative performance impact on the rate of background freeing (from "zfs destroy"). For example, with recordsize=8k, and TXG's syncing once every 5 seconds, we can free only 160MB of data per second, which may be much less than the rate we can write data. This change increases zfs_async_block_max_blocks to be unlimited by default. To address the dedup freeing issue, a new tunable is introduced, zfs_max_async_dedup_frees, which limits the number of zio_free()'s of dedup blocks done by background destroys, per txg. The default is 100,000 free's (same as the old zfs_async_block_max_blocks default). Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10000
Configuration menu - View commit details
-
Copy full SHA for 4fe3a84 - Browse repository at this point
Copy the full SHA 4fe3a84View commit details -
Support setting user properties in a channel program
This adds support for setting user properties in a zfs channel program by adding 'zfs.sync.set_prop' and 'zfs.check.set_prop' to the ZFS LUA API. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Co-authored-by: Sara Hartse <sara.hartse@delphix.com> Contributions-by: Jason King <jason.king@joyent.com> Signed-off-by: Sara Hartse <sara.hartse@delphix.com> Signed-off-by: Jason King <jason.king@joyent.com> Closes openzfs#9950
Configuration menu - View commit details
-
Copy full SHA for 13b5a4d - Browse repository at this point
Copy the full SHA 13b5a4dView commit details -
Systemd mount generator: Silence shellcheck warnings
Silences a warning about an intentionally unquoted variable. Fixes a warning caused by strings split across lines by slightly refactoring keyloadcmd. Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Antonio Russo <antonio.e.russo@gmail.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: InsanePrawn <insane.prawny@gmail.com> Closes openzfs#9649
Configuration menu - View commit details
-
Copy full SHA for 9d2f3b7 - Browse repository at this point
Copy the full SHA 9d2f3b7View commit details -
Systemd mount generator: Generate noauto units; add control properties
This commit refactors the systemd mount generators and makes the following major changes: - The generator now generates units for datasets marked canmount=noauto, too. These units are NOT WantedBy local-fs.target. If there are multiple noauto datasets for a path, no noauto unit will be created. Datasets with canmount=on are prioritized. - Introduces handling of new user properties which are now included in the zfs-list.cache files: - org.openzfs.systemd:requires: List of units to require for this mount unit - org.openzfs.systemd:requires-mounts-for: List of mounts to require by this mount unit - org.openzfs.systemd:before: List of units to order after this mount unit - org.openzfs.systemd:after: List of units to order before this mount unit - org.openzfs.systemd:wanted-by: List of units to add a Wants dependency on this mount unit to - org.openzfs.systemd:required-by: List of units to add a Requires dependency on this mount unit to - org.openzfs.systemd:nofail: Toggles between a wants and a requires dependency. - org.openzfs.systemd:ignore: Do not generate a mount unit for this dataset. Consult the updated man page for detailed documentation. - Restructures and extends the zfs-mount-generator(8) man page with the above properties, information on unit ordering and a license header. Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Antonio Russo <antonio.e.russo@gmail.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: InsanePrawn <insane.prawny@gmail.com> Closes openzfs#9649
Configuration menu - View commit details
-
Copy full SHA for ecbbdac - Browse repository at this point
Copy the full SHA ecbbdacView commit details
Commits on Feb 16, 2020
-
Honour sync=disabled when relinking tpmfiles
Unlinked files don't respect synchronous flush commands, but when they get relinked their state is unknown. Previously we force flushed all such files even when sync=disabled. Correct this case. Reviewed-by: Chunwei Chen <tuxoko@gmail.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: DHE <git@dehacked.net> Closes openzfs#10005
Configuration menu - View commit details
-
Copy full SHA for d09dc59 - Browse repository at this point
Copy the full SHA d09dc59View commit details -
ZTS: Move cksum to common system commands
The cksum command is used by delegate tests. We have it on FreeBSD, so it should not have been moved to the Linux commands list. Move it back to the common commands list. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10007
Ryan Moeller authoredFeb 16, 2020 Configuration menu - View commit details
-
Copy full SHA for fb63fc0 - Browse repository at this point
Copy the full SHA fb63fc0View commit details
Commits on Feb 18, 2020
-
Prefer org.openzfs for features and properties
Moving forward, we wish to use org.openzfs (no dash) rather than org.open-zfs or org.zfsonlinux for feature GUIDs and property names. The existing feature GUIDs cannot be changed. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Richard Laager <rlaager@wiktel.com> Closes openzfs#10003
Configuration menu - View commit details
-
Copy full SHA for f244846 - Browse repository at this point
Copy the full SHA f244846View commit details -
Factor out some dbuf subroutines and add state change tracing
Create dedicated dbuf_read_hole and dbuf_read_bonus. Additionally, add a dtrace probe to allow state change tracing. Reviewed-by: Matt Ahrens <matt@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Will Andrews <wca@FreeBSD.org> Reviewed by: Brad Lewis <brad.lewis@delphix.com> Authored-by: Will Andrews <wca@FreeBSD.org> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9923
Configuration menu - View commit details
-
Copy full SHA for 8b3547a - Browse repository at this point
Copy the full SHA 8b3547aView commit details -
Enable zpool events tunables and tests on FreeBSD
We have have made the necessary changes in our module code to expose zevents through both devd and the zpool events ioctl. Now the tunables can be exposed and zpool events tests can be enabled on both platforms. A few minor tweaks to the tests were needed to accommodate the way wc formats output on FreeBSD. zed remains to be ported. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10008
Ryan Moeller authoredFeb 18, 2020 Configuration menu - View commit details
-
Copy full SHA for 5f087dd - Browse repository at this point
Copy the full SHA 5f087ddView commit details -
ZTS: Move free to Linux commands list
FreeBSD does not have the free command. This command is only used by Linux in a perf hostinfo function. Move free from the list of common commands to the list of Linux commands. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10011
Ryan Moeller authoredFeb 18, 2020 Configuration menu - View commit details
-
Copy full SHA for 43849fd - Browse repository at this point
Copy the full SHA 43849fdView commit details -
Add notice that forcefully unmount is not supported on Linux
The Linux VFS will never allow a filesystem which is in use to be unmounted. This behavior differs from other platforms like FreeBSD which allow a filesystem to be force unmounted. This will result in errors being returned to applications actively using the filesystem. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Mariusz Zaborski <oshogbo@vexillium.org> Closes openzfs#10013
Configuration menu - View commit details
-
Copy full SHA for 89adffb - Browse repository at this point
Copy the full SHA 89adffbView commit details
Commits on Feb 19, 2020
-
ZTS: Avoid nonportable cmp flag
FreeBSD doesn't have the -n flag for cmp. Read the area for the first four labels from the disk to a separate file to compare instead of using the special flag to limit the size. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10024
Ryan Moeller authoredFeb 19, 2020 Configuration menu - View commit details
-
Copy full SHA for 392556f - Browse repository at this point
Copy the full SHA 392556fView commit details -
ZTS: Fix zpool_create/create-o_ashift on FreeBSD
For some unknown reason, egrep was misbehaving with this pattern on FreeBSD. The command works fine run interactively from a shell, but in the test the output of egrep is empty. Work around the issue by using a filter in the awk script instead. While here, add a bit of diagnostic output and other simplifications to the awk script as well. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10023
Ryan Moeller authoredFeb 19, 2020 Configuration menu - View commit details
-
Copy full SHA for 873cd18 - Browse repository at this point
Copy the full SHA 873cd18View commit details
Commits on Feb 20, 2020
-
ZTS: Eliminate partitioning from zpool_create etc
These tests can be made to work without a bunch of complex partitioning of physical disks. Use the 3 disks directly, creating a few file disks if needed for a compelling reason. Reduce the use of shared variables that don't have a clear utility. Catch the fallout in tests that include cfg/shlib from zpool_create. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10002
Ryan Moeller authoredFeb 20, 2020 Configuration menu - View commit details
-
Copy full SHA for 8136956 - Browse repository at this point
Copy the full SHA 8136956View commit details -
Fix icp include directories for in-tree build
When zfs is built in-tree using --enable-linux-builtin, the compile commands are executed from the kernel build directory. If the build directory is different from the kernel source directory, passing -Ifs/zfs/icp will not find the headers as they are not present in the build directory. Fix this by adding @abs_top_srcdir@ to pull the headers from the zfs source tree instead. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Closes openzfs#10021
Configuration menu - View commit details
-
Copy full SHA for 65635c3 - Browse repository at this point
Copy the full SHA 65635c3View commit details -
ZTS: Fix faulty slog_replay_fs_001 test
This test is supposed to verify zil operations. For TX_WRITE, writes must be synchronous in order to be entered in the zil. Linux seems to be doing sync writes even when they are not asked for, but on FreeBSD the test does not do what is intended. Use dd oflag=sync for the parts of this test that are supposed to result in TX_WRITE zil entries. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10022
Ryan Moeller authoredFeb 20, 2020 Configuration menu - View commit details
-
Copy full SHA for 325a551 - Browse repository at this point
Copy the full SHA 325a551View commit details -
ZTS: Check the right mount options on FreeBSD
FreeBSD does not support the "devices" and "nodevices" mount options. Do not check these options on FreeBSD. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10028
Ryan Moeller authoredFeb 20, 2020 Configuration menu - View commit details
-
Copy full SHA for b11375d - Browse repository at this point
Copy the full SHA b11375dView commit details -
ZTS: Fix userquota_006_pos on FreeBSD
FreeBSD uses `pw` for account management. `userquota_006_pos` erroneously invokes the non-existent `groupdel` command on FreeBSD. Use `pw groupdel -n` instead of `groupdel` on FreeBSD. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10032
Ryan Moeller authoredFeb 20, 2020 Configuration menu - View commit details
-
Copy full SHA for ca7ea23 - Browse repository at this point
Copy the full SHA ca7ea23View commit details
Commits on Feb 21, 2020
-
ZTS: Don't use lsblk on FreeBSD
These tests use lsblk to find the sector size of a disk. FreeBSD doesn't have lsblk. Use diskinfo -v to get sector size on FreeBSD. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Igor Kozhukhov <igor@dilos.org>\ Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10033
Ryan Moeller authoredFeb 21, 2020 Configuration menu - View commit details
-
Copy full SHA for 6a60841 - Browse repository at this point
Copy the full SHA 6a60841View commit details -
ZTS: Move privilege tests to sunos.run
These tests are unspported on FreeBSD and Linux for lack of pfexec. Move the privilege tests to sunos.run and remove the platform checks. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10035
Ryan Moeller authoredFeb 21, 2020 Configuration menu - View commit details
-
Copy full SHA for f5f4381 - Browse repository at this point
Copy the full SHA f5f4381View commit details -
ZTS: Refactor is_shared, fix impl on FreeBSD
FreeBSD doesn't have a `share` command. It does have showmount. Split the separate platform impls out of is_shared_impl. Dispatch to the correct platform impl function from is_shared. Eliminate the use of is_shared_impl from tests. is_shared works. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10037
Ryan Moeller authoredFeb 21, 2020 Configuration menu - View commit details
-
Copy full SHA for b7dbbf6 - Browse repository at this point
Copy the full SHA b7dbbf6View commit details
Commits on Feb 22, 2020
-
ZTS: Eliminate partitioning from zpool_destroy
The zpool destroy tests partition a single disk to create two pools. This can be done using two disks and no partitioning instead. And temporarily allow vol recursion for FreeBSD while in here. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10036
Ryan Moeller authoredFeb 22, 2020 Configuration menu - View commit details
-
Copy full SHA for 24fcd9f - Browse repository at this point
Copy the full SHA 24fcd9fView commit details
Commits on Feb 24, 2020
-
Remove unused structs and members in dmu_send.c
There are several structs (and members of structs) related to redaction, which are no longer used. This commit removes them. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10039
Configuration menu - View commit details
-
Copy full SHA for 31a69fb - Browse repository at this point
Copy the full SHA 31a69fbView commit details -
* Force UFS sync before snap in vol rollback tests * rw is not a valid share option on FreeBSD, use ro instead * zfs_unmount_nested: mountpoint is in the pool, rmdir *before* export * Fix some more platform checks * Fix disappearing group in delegate tests * Don't try delegating for jailed, only root can set it Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10038
Ryan Moeller authoredFeb 24, 2020 Configuration menu - View commit details
-
Copy full SHA for 92bd4ca - Browse repository at this point
Copy the full SHA 92bd4caView commit details -
Remove zfs_getattr and convoff dead code
The `convoff` function is called only in one code path in `zfs_space`. Each caller of `zfs_space` is called with a `flock64_t` that has `l_whence` set to `SEEK_SET`. This means that `convoff` always results in a no-op as the `bfp` parameter has `l_whence` set to `SEEK_SET` and `int whence` is `SEEK_SET` as well. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> Closes openzfs#10006
Configuration menu - View commit details
-
Copy full SHA for 327000c - Browse repository at this point
Copy the full SHA 327000cView commit details
Commits on Feb 25, 2020
-
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10053
Configuration menu - View commit details
-
Copy full SHA for 521abcc - Browse repository at this point
Copy the full SHA 521abccView commit details -
ZTS: Move atime_003 to linux.run
This test verifies relatime behavior, which is only present on Linux. Move the test to linux.run Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10046
Ryan Moeller authoredFeb 25, 2020 Configuration menu - View commit details
-
Copy full SHA for 2757010 - Browse repository at this point
Copy the full SHA 2757010View commit details -
Remove dead code error handling from dsl_crypt.c
Sleepable (KM_SLEEP) allocations cannot fail. Hence error handling for them is not useful. Reviewed-By: Tom Caputi <tcaputi@datto.com> Reviewed-By: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#10031
Configuration menu - View commit details
-
Copy full SHA for c6a6b4d - Browse repository at this point
Copy the full SHA c6a6b4dView commit details
Commits on Feb 26, 2020
-
ZTS: zed_start should not fail if zed is already running
zed_start may be called in places where zed is not typically already running, but this is not a requirement of the tests. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Olaf Faaland <faaland1@llnl.gov> Closes openzfs#9974
Configuration menu - View commit details
-
Copy full SHA for 0343139 - Browse repository at this point
Copy the full SHA 0343139View commit details -
Add missing newline after zfs redact help message
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10045
Ryan Moeller authoredFeb 26, 2020 Configuration menu - View commit details
-
Copy full SHA for a33cb7e - Browse repository at this point
Copy the full SHA a33cb7eView commit details -
* Check for mountd in is_shared to avoid timeout when not running * Enhance robustness of some cleanup functions * Simplify atime lookup * Skip sharenfs validation for now * Don't add mountpoint property to inheritance validation on FreeBSD Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10047
Ryan Moeller authoredFeb 26, 2020 Configuration menu - View commit details
-
Copy full SHA for 3a192f7 - Browse repository at this point
Copy the full SHA 3a192f7View commit details -
ZTS: Adapt casenorm tests for FreeBSD
Several casenorm tests pass on FreeBSD but are expected to fail on Linux. Move the passing tests from "fail" to "maybe" so that passing on FreeBSD is not unexpected. Invert platform logic so FreeBSD doesn't use illumos-only zlook. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10050
Ryan Moeller authoredFeb 26, 2020 Configuration menu - View commit details
-
Copy full SHA for abef699 - Browse repository at this point
Copy the full SHA abef699View commit details -
The function `get_used_prop` does not exist. Use `get_prop used` instead. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10059
Ryan Moeller authoredFeb 26, 2020 Configuration menu - View commit details
-
Copy full SHA for 647ff8e - Browse repository at this point
Copy the full SHA 647ff8eView commit details
Commits on Feb 27, 2020
-
Refactor dnode dirty context from dbuf_dirty
* Add dedicated donde_set_dirtyctx routine. * Add empty dirty record on destroy assertion. * Make much more extensive use of the SET_ERROR macro. Reviewed-by: Will Andrews <wca@FreeBSD.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#9924
Configuration menu - View commit details
-
Copy full SHA for 28caa74 - Browse repository at this point
Copy the full SHA 28caa74View commit details -
Linux 5.6 compat: ktime_get_raw_ts64()
The getrawmonotonic() and getrawmonotonic64() interfaces have been fully retired. Update gethrtime() to use the replacement interface ktime_get_raw_ts64() which was introduced in the 4.18 kernel. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#10052 Closes openzfs#10064
Configuration menu - View commit details
-
Copy full SHA for ff5587d - Browse repository at this point
Copy the full SHA ff5587dView commit details -
As part of the Linux kernel's y2038 changes the time_t type has been fully retired. Callers are now required to use the time64_t type. Rather than move to the new type, I've removed the few remaining places where a time_t is used in the kernel code. They've been replaced with a uint64_t which is already how ZFS internally handled these values. Going forward we should work towards updating the remaining user space time_t consumers to the 64-bit interfaces. Reviewed-by: Matthew Macy <mmacy@freebsd.org> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#10052 Closes openzfs#10064
Configuration menu - View commit details
-
Copy full SHA for 2c3a837 - Browse repository at this point
Copy the full SHA 2c3a837View commit details -
`zfs recv` of an incremental stream that already exists is ignored, with a message like: receiving incremental stream of pool/fs@incsnap into pool/fs@incsnap snap testpool/testfs@incsnap already exists; ignoring And the command exits successfully (exit code 0). The zfs_receive_004_neg test is expecting that a this case will fail, with nonzero exit code. The fix is to remove this specific command from the test case. This lets us check that the remaining commands do in fact fail. Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10055
Configuration menu - View commit details
-
Copy full SHA for ab96461 - Browse repository at this point
Copy the full SHA ab96461View commit details -
* Set geom debug flags in corrupt_blocks_at_level * Use the right time zone for history tests * Add missing commands.cfg entry for diskinfo * Rewrite get_last_txg_synced to use zdb * Don't check ulimits for sparse files * Suspend removal before removing a vdev, not after Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10054
Ryan Moeller authoredFeb 27, 2020 Configuration menu - View commit details
-
Copy full SHA for 3d5ba1c - Browse repository at this point
Copy the full SHA 3d5ba1cView commit details
Commits on Feb 28, 2020
-
Consolidate arc_buf allocation checks
The following check currently occurs in three separate locations in dbuf.c. This change consolidates those checks in to the dbuf_alloc_arcbuf_from_arcbuf() function. if (arc_is_encrypted(data)) { ... } else if (compress_type != ZIO_COMPRESS_OFF) { ... } else { ... } Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#10057
Configuration menu - View commit details
-
Copy full SHA for 13fac09 - Browse repository at this point
Copy the full SHA 13fac09View commit details -
pyzfs: Add constants for platform-specific errnos
FreeBSD doesn't have EBADE, ECHRNG, or ETIME. Add constants for these and set them appropriately for the platform. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10061
Ryan Moeller authoredFeb 28, 2020 Configuration menu - View commit details
-
Copy full SHA for 2764103 - Browse repository at this point
Copy the full SHA 2764103View commit details -
arc_summary: Make get_descriptions per platform
Linux uses modinfo to get tunables descriptions, FreeBSD has to use sysctl. Move the existing function definition so it is defined that way on Linux, and add a definition in terms of sysctl for FreeBSD. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10062
Ryan Moeller authoredFeb 28, 2020 Configuration menu - View commit details
-
Copy full SHA for 2ce90dc - Browse repository at this point
Copy the full SHA 2ce90dcView commit details -
Linux 5.5 compat: blkg_tryget()
Commit torvalds/linux@9e8d42a0f accidentally converted the static inline function blkg_tryget() to GPL-only for kernels built with CONFIG_PREEMPT_RCU=y and CONFIG_BLK_CGROUP=y. Resolve the build issue by providing our own equivalent functionality when needed which uses rcu_read_lock_sched() internally as before. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9745 Closes openzfs#10072
Configuration menu - View commit details
-
Copy full SHA for bd0d24e - Browse repository at this point
Copy the full SHA bd0d24eView commit details -
Fix CONFIG_MODULES=no Linux kernel config
When configuring as builtin (--enable-linux-builtin) for kernels without loadable module support (CONFIG_MODULES=n) only the object file is created. Never a loadable kmod. Update ZFS_LINUX_TRY_COMPILE to handle this in a manor similar to the ZFS_LINUX_TEST_COMPILE_ALL macro. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#9887 Closes openzfs#10063
Configuration menu - View commit details
-
Copy full SHA for 3f99a3a - Browse repository at this point
Copy the full SHA 3f99a3aView commit details -
ZTS: Eliminate partitioning from zpool_add
Use file vdevs if we are short on $DISKS. Also fixed vol recursion for FreeBSD in 004. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10060
Ryan Moeller authoredFeb 28, 2020 Configuration menu - View commit details
-
Copy full SHA for f0410e9 - Browse repository at this point
Copy the full SHA f0410e9View commit details -
ZTS: Fixup shebang in rsend_016, add to common.run
All other ksh scripts use /bin/ksh in the shebang. Make rsend_016_neg consistent with the rest of the suite. The test also was absent from any runfiles. Add it to common.run. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10051
Ryan Moeller authoredFeb 28, 2020 Configuration menu - View commit details
-
Copy full SHA for 6c0abcf - Browse repository at this point
Copy the full SHA 6c0abcfView commit details -
Improve zfs destroy performance with zio_t-free zio_free()
When "zfs destroy" is run, it completes quickly, and in the background we locate the blocks to free and free them. This background activity can be observed with `zpool get freeing` and `zpool wait -t free ...`. This background activity is processed by a single thread (the spa_sync thread) which calls zio_free() on each of the blocks to free. With even modest storage performance, the CPU consumption of zio_free() can be the performance bottleneck. Performance of zio_free() can be improved by not actually creating a zio_t in the common case (non-dedup, non-gang), instead calling metaslab_free() directly. This avoids the CPU cost of allocating the zio_t, and more importantly the cost of adding and later removing this zio_t from the parent zio's child list. The result is that performance of background freeing more than doubles, from 0.6 million blocks per second to 1.3 million blocks per second. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Wilson <gwilson@delphix.com> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10034
Configuration menu - View commit details
-
Copy full SHA for 9cdf7b1 - Browse repository at this point
Copy the full SHA 9cdf7b1View commit details -
Re-share zfsdev_getminor and zfs_onexit_fd_hold
By adding a zfs_file_private accessor to the common interfaces and some extensions to FreeBSD platform code it is now possible to share the implementations for the aforementioned functions. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#10073
Configuration menu - View commit details
-
Copy full SHA for ae9f92f - Browse repository at this point
Copy the full SHA ae9f92fView commit details -
Don't call zrele on passed zp in zfs_xattr_owner_unlinked on FreeBSD
FreeBSD has a somewhat more cumbersome locking and refcounting protocol for the platform counterpart to znode. We need to not call zrele on the passed zp, but do need to do so on any intermediate zp. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#10075
Configuration menu - View commit details
-
Copy full SHA for cf118ae - Browse repository at this point
Copy the full SHA cf118aeView commit details -
Don't open zfs control device exclusively
With the FreeBSD platform changes that were made for openzfs#10073 it is no longer necessary on FreeBSD to open the control device exclusively to get onexit callbacks invoked. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes openzfs#10076
Configuration menu - View commit details
-
Copy full SHA for d32eff3 - Browse repository at this point
Copy the full SHA d32eff3View commit details
Commits on Mar 2, 2020
-
ZTS: Change issue URL template to OpenZFS org
Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10081
Ryan Moeller authoredMar 2, 2020 Configuration menu - View commit details
-
Copy full SHA for 1289fbb - Browse repository at this point
Copy the full SHA 1289fbbView commit details -
Make spa_history_zone platform-dependent in kernel
This function should only return "linux" on Linux. Move the kernel part of the function out of common code. Fix the tests for FreeBSD. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10079
Ryan Moeller authoredMar 2, 2020 Configuration menu - View commit details
-
Copy full SHA for 9bb907b - Browse repository at this point
Copy the full SHA 9bb907bView commit details
Commits on Mar 3, 2020
-
ZTS: Provide for nested cleanup routines
Shared test library functions lack a simple way to ensure proper cleanup in the event of a failure. The `log_onexit` cleanup pattern cannot be used in library functions because it uses one global variable to store the cleanup command. An example of where this is a serious issue is when a tunable that artifically stalls kernel progress gets activated and then some check fails. Unless the caller knows about the tunable and sets it back, the system will be left in a bad state. To solve this problem, turn the global cleanup variable into a stack. Provide push and pop functions to add additional cleanup steps and remove them after it is safe again. The first use of this new functionality is in attempt_during_removal, which sets REMOVAL_SUSPEND_PROGRESS. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10080
Ryan Moeller authoredMar 3, 2020 Configuration menu - View commit details
-
Copy full SHA for 0a0f9a7 - Browse repository at this point
Copy the full SHA 0a0f9a7View commit details -
Improve performance of zio_taskq_member
__zio_execute() calls zio_taskq_member() to determine if we are running in a zio interrupt taskq, in which case we may need to switch to processing this zio in a zio issue taskq. The call to zio_taskq_member() can become a performance bottleneck when we are processing a high rate of zio's. zio_taskq_member() calls taskq_member() on each of the zio interrupt taskqs, of which there are 21. This is slow because each call to taskq_member() does tsd_get(taskq_tsd), which on Linux is relatively slow. This commit improves the performance of zio_taskq_member() by having it cache the value of tsd_get(taskq_tsd), reducing the number of those calls to 1/21th of the current behavior. In a test case running `zfs send -c >/dev/null` of a filesystem with small blocks (average 2.5KB/block), zio_taskq_member() was using 6.7% of one CPU, and with this change it is reduced to 1.3%. Overall time to perform the `zfs send` reduced by 10% (~150,000 block/sec to ~165,000 blocks/sec). Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10070
Configuration menu - View commit details
-
Copy full SHA for b3212d2 - Browse repository at this point
Copy the full SHA b3212d2View commit details
Commits on Mar 4, 2020
-
Add trim support to zpool wait
Manual trims fall into the category of long-running pool activities which people might want to wait synchronously for. This change adds support to 'zpool wait' for waiting for manual trim operations to complete. It also adds a '-w' flag to 'zpool trim' which can be used to turn 'zpool trim' into a synchronous operation. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com> Signed-off-by: John Gallagher <john.gallagher@delphix.com> Closes openzfs#10071
Configuration menu - View commit details
-
Copy full SHA for 2288d41 - Browse repository at this point
Copy the full SHA 2288d41View commit details -
ZTS: Test the correct filesystem_limits behavior
See issue openzfs#8226: Property filesystem_limit does not work as documented There have been previous attempts to fix the behavior on Linux, but so far the issue is still open. See PRs openzfs#8228, openzfs#8280. The existing tests pass for the incorrect behavior. This is a problem on FreeBSD; we are failing the tests because we implement the feature correctly. I have adapted the tests based on the work by @loli10K in openzfs#8280 and extended the changes to fix the snapshot_limit test as well. Linux now fails these tests, so entries linking to the issue have been added to the "maybe" group in zts-report.py. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10082
Configuration menu - View commit details
-
Copy full SHA for d16c029 - Browse repository at this point
Copy the full SHA d16c029View commit details -
zio: dprintf_bp() if errors > 0 in zfs_blkptr_verify()
Also dprintf_bp() in case BLK_VERIFY_HALT of zfs_blkptr_verify_log() since dprintf_bp() in zfs_blkptr_verify() will never be executed. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Signed-off-by: Justin Keogh <commits@v6y.net> Closes openzfs#10086
Configuration menu - View commit details
-
Copy full SHA for f49db9b - Browse repository at this point
Copy the full SHA f49db9bView commit details -
ZTS: Add zts-report exceptions for FreeBSD
There are three tests we expect to fail only on FreeBSD. * link_count never exits and eventually times out: - @amotin tells me this test is probably not applicable to us - Skip on FreeBSD * userobj feature does not activate immediately after pool upgrade - low impact; we are aware of this issue * removal does not appear to condense on export - low impact; we are aware of this issue Additionally removal_with_zdb passes on FreeBSD, so it is moved to "maybe". Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10093
Configuration menu - View commit details
-
Copy full SHA for 4b06d05 - Browse repository at this point
Copy the full SHA 4b06d05View commit details -
`default_setup` takes a disk list as the first argument and has optional additional arguments that control secondary functionality. A couple of test setups mistakenly call `default_setup $DISKS`. Add quotes so the second and subsequent disks are correctly included in the pool as vdevs rather than triggering unwanted behavior from `default_setup`. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10097
Configuration menu - View commit details
-
Copy full SHA for fa23c5b - Browse repository at this point
Copy the full SHA fa23c5bView commit details -
ZTS: Speed up write_dirs cleanup
The write_dirs tests fill a filesystem with a bunch of files until it is full. In cleanup the files are truncated and removed individually. These tests already take a while to run. It is quicker and easier to destroy the whole dataset and create a new one to replace it in the cleanup functions. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10098
Configuration menu - View commit details
-
Copy full SHA for 5a1abc4 - Browse repository at this point
Copy the full SHA 5a1abc4View commit details
Commits on Mar 6, 2020
-
ZTS: Update zts-report exceptions for FreeBSD
The new zfs_sync_trim_* tests are skipped on FreeBSD. Both of the previously failing tests are now passing. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10105
Ryan Moeller authoredMar 6, 2020 Configuration menu - View commit details
-
Copy full SHA for 788398c - Browse repository at this point
Copy the full SHA 788398cView commit details -
Filesystems allow overlay mounts by default on FreeBSD and Linux. Respect the native convention by switching the default to overlay=on, while retaining the option to turn the property off for compatibility with other operating systems' conventions. Update documentation and tests accordingly. Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10030
Ryan Moeller authoredMar 6, 2020 Configuration menu - View commit details
-
Copy full SHA for f5f6fb0 - Browse repository at this point
Copy the full SHA f5f6fb0View commit details -
ZTS: Another round of changes for FreeBSD
Highlights: * is_linux -> is_illumos swaps * make block_device_wait more clever when paths are given * slightly optimize default_cleanup_noexit * remove platform differences in user_run * temporarily expect non-libfetch behavior for keylocation=/foo/bar * fix sharenfs exceptions * don't test multihost property * fix misc broken platform checks * clear zinjected faults in removal_resume_export callback Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10092
Ryan Moeller authoredMar 6, 2020 Configuration menu - View commit details
-
Copy full SHA for 2b95e91 - Browse repository at this point
Copy the full SHA 2b95e91View commit details
Commits on Mar 9, 2020
-
Systemd mount generator: don't fail keyload from file if already loaded
Previously the generated keyload units for encryption roots with keylocation=file://* didn't contain the code to detect if the key was already loaded and would be marked failed in such situations. Move the code to check whether the key is already loaded from keylocation=prompt handling to general key loading code. Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: InsanePrawn <insane.prawny@gmail.com> Closes openzfs#10103
Configuration menu - View commit details
-
Copy full SHA for ff2f960 - Browse repository at this point
Copy the full SHA ff2f960View commit details
Commits on Mar 10, 2020
-
Make init scripts depend on Makefile
This brings it in line with the example: https://www.gnu.org/software/automake/manual/html_node/Scripts.html This way, if the substitution code is changed, they should update. Signed-off-by: Richard Laager <rlaager@wiktel.com>
Configuration menu - View commit details
-
Copy full SHA for dc4dd46 - Browse repository at this point
Copy the full SHA dc4dd46View commit details -
Delete built init scripts in make clean
Previously, they were being deleted in make distclean. This brings it in line with the example: https://www.gnu.org/software/automake/manual/html_node/Scripts.html Signed-off-by: Richard Laager <rlaager@wiktel.com>
Configuration menu - View commit details
-
Copy full SHA for 49afc91 - Browse repository at this point
Copy the full SHA 49afc91View commit details -
initramfs: Eliminate substitutions
These are now handled in zfs-functions, so this is all duplicative and unnecessary. Signed-off-by: Richard Laager <rlaager@wiktel.com>
Configuration menu - View commit details
-
Copy full SHA for 01243e7 - Browse repository at this point
Copy the full SHA 01243e7View commit details -
Fix zfs-functions packaging bug
This fixes a bug where the generated zfs-functions was being included along with original zfs-functions.in in the make dist tarball. This caused an unfortunate series of events during build/packaging that resulted in the RPM-installed /etc/zfs/zfs-functions listing the paths as: ZFS="/usr/local/sbin/zfs" ZED="/usr/local/sbin/zed" ZPOOL="/usr/local/sbin/zpool" When they should have been: ZFS="/sbin/zfs" ZED="/sbin/zed" ZPOOL="/sbin/zpool" This affects init.d (non-systemd) distros like CentOS 6. /etc/default/zfs and /etc/zfs/zfs-functions are also used by the initramfs, so they need to be built even when init.d support is not. They have been moved to the (new) etc/default and (existing) etc/zfs source directories, respectively. Fixes: openzfs#9443 Co-authored-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Richard Laager <rlaager@wiktel.com>
Configuration menu - View commit details
-
Copy full SHA for 5ecbb29 - Browse repository at this point
Copy the full SHA 5ecbb29View commit details -
ZTS: Simplify some libtest functions
Don't echo the results of arithmetic expressions, it's not necessary. Use hw.clockrate sysctl to get CPU freq instead of parsing dmesg.boot for a line that might not even be there anymore. Reduce bookkeeping in fill_fs, making it easier to follow. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10113
Ryan Moeller authoredMar 10, 2020 Configuration menu - View commit details
-
Copy full SHA for 9be70c3 - Browse repository at this point
Copy the full SHA 9be70c3View commit details -
Improve zfs send performance by bypassing the ARC
When doing a zfs send on a dataset with small recordsize (e.g. 8K), performance is dominated by the per-block overheads. This is especially true with `zfs send --compressed`, which further reduces the amount of data sent, for the same number of blocks. Several threads are involved, but the limiting factor is the `send_prefetch` thread, which is 100% on CPU. The main job of the `send_prefetch` thread is to issue zio's for the data that will be needed by the main thread. It does this by calling `arc_read(ARC_FLAG_PREFETCH)`. This has an immediate cost of creating an arc_hdr, which takes around 14% of one CPU. It also induces later costs by other threads: * Since the data was only prefetched, dmu_send()->dmu_dump_write() will need to call arc_read() again to get the data. This will have to look up the arc_hdr in the hash table and copy the data from the scatter ABD in the arc_hdr to a linear ABD in arc_buf. This takes 27% of one CPU. * dmu_dump_write() needs to arc_buf_destroy() This takes 11% of one CPU. * arc_adjust() will need to evict this arc_hdr, taking about 50% of one CPU. All of these costs can be avoided by bypassing the ARC if the data is not already cached. This commit changes `zfs send` to check for the data in the ARC, and if it is not found then we directly call `zio_read()`, reading the data into a linear ABD which is used by dmu_dump_write() directly. The performance improvement is best expressed in terms of how many blocks can be processed by `zfs send` in one second. This change increases the metric by 50%, from ~100,000 to ~150,000. When the amount of data per block is small (e.g. 2KB), there is a corresponding reduction in the elapsed time of `zfs send >/dev/null` (from 86 minutes to 58 minutes in this test case). In addition to improving the performance of `zfs send`, this change makes `zfs send` not pollute the ARC cache. In most cases the data will not be reused, so this allows us to keep caching useful data in the MRU (hit-once) part of the ARC. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10067
Configuration menu - View commit details
-
Copy full SHA for 1dc32a6 - Browse repository at this point
Copy the full SHA 1dc32a6View commit details -
ZTS: Add a failsafe callback to run after each test
Tests that get killed do not have an opportunity to clean up. There are many bad states this can leave the system in, but of particular gravity is when zinject has been used to induce bad behavior for one or more of the test disks. Create a failsafe mechanism in test-runner.py that runs a callback script after every test. The script is common to all tests so all tests benefit from the protection. Add an obligatory `zinject -c all` to clear all zinject state after every test case is run. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10096
Ryan Moeller authoredMar 10, 2020 Configuration menu - View commit details
-
Copy full SHA for ddd9ef3 - Browse repository at this point
Copy the full SHA ddd9ef3View commit details
Commits on Mar 11, 2020
-
zloop.sh should call ZDB with pool name
Commit 54007c7 introduced an error, changing the final argument to $ZDB from ztest to $ZTEST. This argument indicates the pool name, not the script, and so should not have been changed. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Olaf Faaland <faaland1@llnl.gov> Closes openzfs#10118
Configuration menu - View commit details
-
Copy full SHA for 6187151 - Browse repository at this point
Copy the full SHA 6187151View commit details
Commits on Mar 12, 2020
-
Prevent deadlock in arc_read in Linux memory reclaim callback
Using zfs with Lustre, an arc_read can trigger kernel memory allocation that in turn leads to a memory reclaim callback and a deadlock within a single zfs process. This change uses spl_fstrans_mark and spl_trans_unmark to prevent the reclaim attempt and the deadlock (https://zfsonlinux.topicbox.com/groups/zfs-devel/T4db2c705ec1804ba). The stack trace observed is: __schedule at ffffffff81610f2e schedule at ffffffff81611558 schedule_preempt_disabled at ffffffff8161184a __mutex_lock at ffffffff816131e8 arc_buf_destroy at ffffffffa0bf37d7 [zfs] dbuf_destroy at ffffffffa0bfa6fe [zfs] dbuf_evict_one at ffffffffa0bfaa96 [zfs] dbuf_rele_and_unlock at ffffffffa0bfa561 [zfs] dbuf_rele_and_unlock at ffffffffa0bfa32b [zfs] osd_object_delete at ffffffffa0b64ecc [osd_zfs] lu_object_free at ffffffffa06d6a74 [obdclass] lu_site_purge_objects at ffffffffa06d7fc1 [obdclass] lu_cache_shrink_scan at ffffffffa06d81b8 [obdclass] shrink_slab at ffffffff811ca9d8 shrink_node at ffffffff811cfd94 do_try_to_free_pages at ffffffff811cfe63 try_to_free_pages at ffffffff811d01c4 __alloc_pages_slowpath at ffffffff811be7f2 __alloc_pages_nodemask at ffffffff811bf3ed new_slab at ffffffff81226304 ___slab_alloc at ffffffff812272ab __slab_alloc at ffffffff8122740c kmem_cache_alloc at ffffffff81227578 spl_kmem_cache_alloc at ffffffffa048a1fd [spl] arc_buf_alloc_impl at ffffffffa0befba2 [zfs] arc_read at ffffffffa0bf0924 [zfs] dbuf_read at ffffffffa0bf9083 [zfs] dmu_buf_hold_by_dnode at ffffffffa0c04869 [zfs] Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Mark Roper <markroper@gmail.com> Closes openzfs#9987
Configuration menu - View commit details
-
Copy full SHA for 1e9231a - Browse repository at this point
Copy the full SHA 1e9231aView commit details -
Prevent race condition in dnode_dest (openzfs#10101)
dnode_special_close() waits for the refcount of dn_holds to go to zero without holding the dn_mtx. dnode_rele_and_unlock() does the final remove to dn_holds with dn_mtx being held: refs = zfs_refcount_remove(&dn->dn_holds, tag); mutex_exit(&dn->dn_mtx); So, there is a race condition after the remove until dn_mtx is dropped. During that time, dnode_destroy() can get called, which ends up in dnode_dest() calling mutex_destroy() and a panic since the lock is still held. This change adds a condvar to wait for the final dnode_rele_and_unlock() to release the dn_mtx before calling dnode_destroy(). Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Signed-off-by: John Poduska <jpoduska@datto.com> Closes openzfs#7814 Closes openzfs#10101
Configuration menu - View commit details
-
Copy full SHA for e6b28ef - Browse repository at this point
Copy the full SHA e6b28efView commit details -
ZTS: Wait for free space between write_dirs tests
Cleanup for write_dirs involves destroying a dataset filling a pool and then recreating the dataset for the next test. Due to the asynchronous nature of free space accounting, recreating the dataset can fail for lack of space, causing problems for the next test. Add wait_freeing $TESTPOOL to wait for the space to be freed and then sync_pool $TESTPOOL to update the space accounting before attempting to recreate the test filesystem. Only use a single disk to create the pool. Make it a small file so it does not take too long to fill. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10112
Ryan Moeller authoredMar 12, 2020 Configuration menu - View commit details
-
Copy full SHA for e70b127 - Browse repository at this point
Copy the full SHA e70b127View commit details -
ZTS: Test boundary conditions in alloc_class_012
Issue openzfs#9142 describes an error in the checks for device removal that can prevent removal of special allocation class vdevs in some situations. Enhance alloc_class/alloc_class_012_pos to check situations where this bug occurs. Update zts-report with knowledge of issue openzfs#9142. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10116 Issue openzfs#9142
Ryan Moeller authoredMar 12, 2020 Configuration menu - View commit details
-
Copy full SHA for cdbc34f - Browse repository at this point
Copy the full SHA cdbc34fView commit details -
ZTS: Use correct signal numbers for status checks
Different operating systems encode exit status in different ways. The logapi shell library assumes the Solaris meaning of exit codes, which is not correct on other platforms. Define the needed constants according to the platform we are running on and use those to decode process exit status. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10121
Ryan Moeller authoredMar 12, 2020 Configuration menu - View commit details
-
Copy full SHA for 94eb65b - Browse repository at this point
Copy the full SHA 94eb65bView commit details -
Fix infinite scan on a pool with only special allocations
Attempt to run scrub or resilver on a new pool containing only special allocations (special vdev added on creation) caused infinite loop because of dsl_scan_should_clear() limiting memory usage to 5% of pool size, which it calculated accounting only normal allocation class. Addition of special and just in case dedup classes fixes the issue. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored-By: iXsystems, Inc. Closes openzfs#10106 Closes openzfs#8694
Configuration menu - View commit details
-
Copy full SHA for fa130e0 - Browse repository at this point
Copy the full SHA fa130e0View commit details -
dmu_objset_from_ds must be called with dp_config_rwlock held
The normal lock order is that the dp_config_rwlock must be held before the ds_opening_lock. For example, dmu_objset_hold() does this. However, dmu_objset_open_impl() is called with the ds_opening_lock held, and if the dp_config_rwlock is not already held, it will attempt to acquire it. This may lead to deadlock, since the lock order is reversed. Looking at all the callers of dmu_objset_open_impl() (which is principally the callers of dmu_objset_from_ds()), almost all callers already have the dp_config_rwlock. However, there are a few places in the send and receive code paths that do not. For example: dsl_crypto_populate_key_nvlist, send_cb, dmu_recv_stream, receive_write_byref, redact_traverse_thread. This commit resolves the problem by requiring all callers ot dmu_objset_from_ds() to hold the dp_config_rwlock. In most cases, the code has been restructured such that we call dmu_objset_from_ds() earlier on in the send and receive processes, when we already have the dp_config_rwlock, and save the objset_t until we need it in the middle of the send or receive (similar to what we already do with the dsl_dataset_t). Thus we do not need to acquire the dp_config_rwlock in many new places. I also cleaned up code in dmu_redact_snap() and send_traverse_thread(). Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#9662 Closes openzfs#10115
Configuration menu - View commit details
-
Copy full SHA for 0fdd610 - Browse repository at this point
Copy the full SHA 0fdd610View commit details
Commits on Mar 13, 2020
-
ZTS: Update flaky tests in zts-report
Some tests which pass on FreeBSD but fail on Linux had been put in the "maybe" set. Move these back to "known" under an "if Linux" check so the expected outcome is clear. Add some tests that have been found to be flaky on FreeBSD stable/12 to the "maybe" set. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10120
Ryan Moeller authoredMar 13, 2020 Configuration menu - View commit details
-
Copy full SHA for d3fe62c - Browse repository at this point
Copy the full SHA d3fe62cView commit details
Commits on Mar 16, 2020
-
Remove CI builder customization from TEST
The default options are reasonable for all of the CI builders. * TEST_XFSTESTS_SKIP=yes - This is already the default. * TEST_ZTEST_TIMEOUT=3600 - Increased ztest run time only increases code coverage by a small degree. Default 900s runs are sufficient. * Disabling certain tests on 32-bit builders is no longer needed. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#10129
Configuration menu - View commit details
-
Copy full SHA for c94fb10 - Browse repository at this point
Copy the full SHA c94fb10View commit details -
Improve zfs receive performance by batching writes
For each WRITE record in the stream, `zfs receive` creates a DMU transaction (`dmu_tx_create()`) and writes this block's data into the object. If per-block overheads (as opposed to per-byte overheads) dominate performance (as is often the case with small recordsize), the per-dmu-transaction overheads can be significant. For example, in some workloads the `receieve_writer` thread is 100% on CPU, and more than half of its CPU time is in these per-tx routines (e.g. dmu_tx_hold_write, dmu_tx_assign, dmu_tx_commit). To improve performance of `zfs receive`, this commit batches WRITE records which are to nearby offsets of the same object, and uses one DMU transaction to write them all. By default the batch size is 1MB, which for recordsize=8K reduces the number of DMU transactions by 128x for full send streams (incrementals will depend on how "clumpy" the changed blocks are). This commit improves the performance of `dd if=stream | zfs recv` from 78,800 blocks/sec to 98,100 blocks/sec (25% improvement). Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10099
Configuration menu - View commit details
-
Copy full SHA for 7261fc2 - Browse repository at this point
Copy the full SHA 7261fc2View commit details -
libzfs: Fix bounds checks for float parsing
UINT64_MAX is not exactly representable as a double. The closest representation is UINT64_MAX + 1, so we can use a >= comparison instead of > for the bounds check. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10127
Ryan Moeller authoredMar 16, 2020 Configuration menu - View commit details
-
Copy full SHA for 4d32aba - Browse repository at this point
Copy the full SHA 4d32abaView commit details
Commits on Mar 17, 2020
-
Exit status 256+signum is actually baked in to ksh
While openzfs#10121 did fix the signal numbers for FreeBSD/Darwin, it incorrectly changed the expected encoding of exit status for commands that exited on a signal. The encoding 256+signum is a feature of the shell. Only the signal numbers themselves are platform-dependent. Always use the encoding 256+signum when checking exit status for signal exits. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10137
Ryan Moeller authoredMar 17, 2020 Configuration menu - View commit details
-
Copy full SHA for e0d3284 - Browse repository at this point
Copy the full SHA e0d3284View commit details -
ZTS: Use default_cleanup_noexit where needed
And add log_pass appropriately. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10136
Ryan Moeller authoredMar 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 80d98a8 - Browse repository at this point
Copy the full SHA 80d98a8View commit details -
Add option for forcible unmounting dataset while receiving snapshot.
Currently when the dataset is in use we can't receive snapshots. zfs send test/1@asd | zfs recv -FM test/2 cannot unmount '/test/2': Device busy This commits add option 'M' which attempts to forcibly unmount the dataset. Thanks to this we can enforce receiving snapshots in a single step. Note that this functionality is not supported on Linux because the VFS will prevent active mounted filesystems from being unmounted, even with the force option. This is the intended VFS behavior. Test cases were added to verify the expected behavior based on the platform. Discussed-with: Pawel Jakub Dawidek <pjd@FreeBSD.org> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Allan Jude <allanjude@freebsd.org> External-issue: https://reviews.freebsd.org/D22306 Closes openzfs#9904
Configuration menu - View commit details
-
Copy full SHA for a57d3d4 - Browse repository at this point
Copy the full SHA a57d3d4View commit details -
ICP: gcm-avx: Support architectures lacking the MOVBE instruction
There are a couple of x86_64 architectures which support all needed features to make the accelerated GCM implementation work but the MOVBE instruction. Those are mainly Intel Sandy- and Ivy-Bridge and AMD Bulldozer, Piledriver, and Steamroller. By using MOVBE only if available and replacing it with a MOV followed by a BSWAP if not, those architectures now benefit from the new GCM routines and performance is considerably better compared to the original implementation. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Adam D. Moss <c@yotes.com> Signed-off-by: Attila Fülöp <attila@fueloep.org> Followup openzfs#9749 Closes openzfs#10029
Configuration menu - View commit details
-
Copy full SHA for 5b3b795 - Browse repository at this point
Copy the full SHA 5b3b795View commit details -
Separate warning for incomplete and corrupt streams
This change adds a separate return code to zfs_ioc_recv that is used for incomplete streams, in addition to the existing return code for streams that contain corruption. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Signed-off-by: Paul Dagnelie <pcd@delphix.com> Closes openzfs#10122
Configuration menu - View commit details
-
Copy full SHA for 7145123 - Browse repository at this point
Copy the full SHA 7145123View commit details -
Fix minor cstyle warnings accidentally introduced by 7145123. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#10143
Configuration menu - View commit details
-
Copy full SHA for 6b7028e - Browse repository at this point
Copy the full SHA 6b7028eView commit details
Commits on Mar 18, 2020
-
Fix zfs_rmnode() unlink / rollback issue
If a has rollback has occurred while a file is open and unlinked. Then when the file is closed post rollback it will not exist in the rolled back version of the unlinked object. Therefore, the call to zap_remove_int() may correctly return ENOENT and should be allowed. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#6812 Closes openzfs#9739
Configuration menu - View commit details
-
Copy full SHA for 5351951 - Browse repository at this point
Copy the full SHA 5351951View commit details -
Changed decimals to integers in the arcstat script
Changed interval value type from decimal to integer, because of deprecation warning in Python 3.8 and above. Also changed kstat values type from decimal to integer, because all the values are integers. Fixed behavior of arcstat when run without args. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Bartosz Zieba <bartosz@zieba.pro> Closes openzfs#10132 Closes openzfs#10142
Configuration menu - View commit details
-
Copy full SHA for 4df8b2c - Browse repository at this point
Copy the full SHA 4df8b2cView commit details -
Avoid core dump on invalid redaction bookmark
libzfs aborts and dumps core on EINVAL from the kernel when trying to do a redacted send with a bookmark that is not a redaction bookmark. Move redacted bookmark validation into libzfs. Check if the bookmark given for redactions is actually a redaction bookmark. Print an error message and exit gracefully if it is not. Don't abort on EINVAL in zfs_send_one. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10138
Ryan Moeller authoredMar 18, 2020 Configuration menu - View commit details
-
Copy full SHA for 22df245 - Browse repository at this point
Copy the full SHA 22df245View commit details -
Deprecate deduplicated send streams
Dedup send can only deduplicate over the set of blocks in the send command being invoked, and it does not take advantage of the dedup table to do so. This is a very common misconception among not only users, but developers, and makes the feature seem more useful than it is. As a result, many users are using the feature but not getting any benefit from it. Dedup send requires a nontrivial expenditure of memory and CPU to operate, especially if the dataset(s) being sent is (are) not already using a dedup-strength checksum. Dedup send adds developer burden. It expands the test matrix when developing new features, causing bugs in released code, and delaying development efforts by forcing more testing to be done. As a result, we are deprecating the use of `zfs send -D` and receiving of such streams. This change adds a warning to the man page, and also prints the warning whenever dedup send or receive are used. In a future release, we plan to: 1. remove the kernel code for generating deduplicated streams 2. make `zfs send -D` generate regular, non-deduplicated streams 3. remove the kernel code for receiving deduplicated streams 4. make `zfs receive` of deduplicated streams process them in userland to "re-duplicate" them, so that they can still be received. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#7887 Closes openzfs#10117
Configuration menu - View commit details
-
Copy full SHA for 652bdc9 - Browse repository at this point
Copy the full SHA 652bdc9View commit details
Commits on Mar 26, 2020
-
zfs_get: change time format string from %k to %H
Issue openzfs#10090 reported that snapshots created between midnight and 1 AM are missing a padded zero in the creation property This change fixes the bug reported in issue openzfs#10090 where snapshots created between midnight and 1 AM were missing a padded zero in the creation timestamp output. The leading zero was missing because the time format string used `%k` which formats the hour as a decimal number from 0 to 23 where single digits are preceded by blanks[0] and is fixed by changing it to `%H` which formats the hour as 00-23. The difference in output is as below ``` -Thu Mar 26 0:39 2020 +Thu Mar 26 00:39 2020 ``` Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Alex John <alex@stty.io> Closes openzfs#10090 Closes openzfs#10153
Configuration menu - View commit details
-
Copy full SHA for 1d2ddb9 - Browse repository at this point
Copy the full SHA 1d2ddb9View commit details -
Remove checks for null out value in encryption paths
These paths are never exercised, as the parameters given are always different cipher and plaintext `crypto_data_t` pointers. Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Attila Fueloep <attila@fueloep.org> Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> Closes openzfs#9661 Closes openzfs#10015
Configuration menu - View commit details
-
Copy full SHA for 112c1bf - Browse repository at this point
Copy the full SHA 112c1bfView commit details -
ZTS: Wait for free space between quota tests
And in removal tests, sync the specific pool we are waiting on. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10146
Ryan Moeller authoredMar 26, 2020 Configuration menu - View commit details
-
Copy full SHA for ef3331e - Browse repository at this point
Copy the full SHA ef3331eView commit details
Commits on Mar 27, 2020
-
Compile cityhash code into libzfs
Make the cityhash code compile into libzfs, in preparation for the new "zstream" command. Reviewed-by: Paul Dagnelie <pcd@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10152
Configuration menu - View commit details
-
Copy full SHA for 3f38797 - Browse repository at this point
Copy the full SHA 3f38797View commit details -
Let default arc_c_max be platform dependent
Linux changed the default max ARC size to 1/2 of physical memory to deal with shortcomings of the Linux SLUB allocator. Other platforms do not require the same logic. Implement an arc_default_max() function to determine a default max ARC size in platform code. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10155
Ryan Moeller authoredMar 27, 2020 Configuration menu - View commit details
-
Copy full SHA for 9a51738 - Browse repository at this point
Copy the full SHA 9a51738View commit details
Commits on Mar 31, 2020
-
ZTS: Skip udev actions in zvol_misc when not Linux
udev is only used on Linux. Skip udev_wait and udev_cleanup when not on Linux. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes openzfs#10165
Ryan Moeller authoredMar 31, 2020 Configuration menu - View commit details
-
Copy full SHA for c96a32e - Browse repository at this point
Copy the full SHA c96a32eView commit details -
Reset l2ad_hand and l2ad_first in l2arc_evict
Increasing l2arc_write_size or l2arc_write_boost can result in l2arc_write_buffers() not having enough space to perform its writes and panic zio_write_phys(). Instead of resetting l2ad_hand to l2ad_start at the end of l2arc_write_buffers() and not taking into account a possible user-mediated increase of l2arc_write_max, we do this in l2arc_evict(), right after l2arc_write_size() has run. If there is not enough space to evict (ie we will exceed l2ad_end) we evict to the end of the device, reset l2ad_hand to l2ad_start, set l2ad_first to 0 and iterate l2arc_evict(). We avoid infinite iteration of l2arc_evict() by making sure in l2arc_write_size() that l2ad_start + size does not exceed l2ad_end. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: George Amanakis <gamanakis@gmail.com> Closes openzfs#10154
Configuration menu - View commit details
-
Copy full SHA for 37c2294 - Browse repository at this point
Copy the full SHA 37c2294View commit details -
Improve ZVOL sync write performance by using a taskq
== Summary == Prior to this change, sync writes to a zvol are processed serially. This commit makes zvols process concurrently outstanding sync writes in parallel, similar to how reads and async writes are already handled. The result is that the throughput of sync writes is tripled. == Background == When a write comes in for a zvol (e.g. over iscsi), it is processed by calling `zvol_request()` to initiate the operation. ZFS is expected to later call `BIO_END_IO()` when the operation completes (possibly from a different thread). There are a limited number of threads that are available to call `zvol_request()` - one one per iscsi client (unless using MC/S). Therefore, to ensure good performance, the latency of `zvol_request()` is important, so that many i/o operations to the zvol can be processed concurrently. In other words, if the client has multiple outstanding requests to the zvol, the zvol should have multiple outstanding requests to the storage hardware (i.e. issue multiple concurrent `zio_t`'s). For reads, and async writes (i.e. writes which can be acknowledged before the data reaches stable storage), `zvol_request()` achieves low latency by dispatching the bulk of the work (including waiting for i/o to disk) to a taskq. The taskq callback (`zvol_read()` or `zvol_write()`) blocks while waiting for the i/o to disk to complete. The `zvol_taskq` has 32 threads (by default), so we can have up to 32 concurrent i/os to disk in service of requests to zvols. However, for sync writes (i.e. writes which must be persisted to stable storage before they can be acknowledged, by calling `zil_commit()`), `zvol_request()` does not use `zvol_taskq`. Instead it blocks while waiting for the ZIL write to disk to complete. This has the effect of serializing sync writes to each zvol. In other words, each zvol will only process one sync write at a time, waiting for it to be written to the ZIL before accepting the next request. The same issue applies to FLUSH operations, for which `zvol_request()` calls `zil_commit()` directly. == Description of change == This commit changes `zvol_request()` to use `taskq_dispatch_ent(zvol_taskq)` for sync writes, and FLUSh operations. Therefore we can have up to 32 threads (the taskq threads) simultaneously calling `zil_commit()`, for a theoretical performance improvement of up to 32x. To avoid the locking issue described in the comment (which this commit removes), we acquire the rangelock from the taskq callback (e.g. `zvol_write()`) rather than from `zvol_request()`. This applies to all writes (sync and async), reads, and discard operations. This means that multiple simultaneously-outstanding i/o's which access the same block can complete in any order. This was previously thought to be incorrect, but a review of the block device interface requirements revealed that this is fine - the order is inherently not defined. The shorter hold time of the rangelock should also have a slight performance improvement. For an additional slight performance improvement, we use `taskq_dispatch_ent()` instead of `taskq_dispatch()`, which avoids a `kmem_alloc()` and eliminates a failure mode. This applies to all writes (sync and async), reads, and discard operations. == Performance results == We used a zvol as an iscsi target (server) for a Windows initiator (client), with a single connection (the default - i.e. not MC/S). We used `diskspd` to generate a workload with 4 threads, doing 1MB writes to random offsets in the zvol. Without this change we get 231MB/s, and with the change we get 728MB/s, which is 3.15x the original performance. We ran a real-world workload, restoring a MSSQL database, and saw throughput 2.5x the original. We saw more modest performance wins (typically 1.5x-2x) when using MC/S with 4 connections, and with different number of client threads (1, 8, 32). Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com> Reviewed-by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes openzfs#10163
Configuration menu - View commit details
-
Copy full SHA for 0929c4d - Browse repository at this point
Copy the full SHA 0929c4dView commit details
Commits on Apr 1, 2020
-
In zfs_write(), the loop continues to the next iteration without accounting for partial copies occurring in uiomove_iov when copy_from_user/__copy_from_user_inatomic return a non-zero status. This results in "zfs: accessing past end of object..." in the kernel log, and the write failing. Account for partial copies and update uio struct before returning EFAULT, leave a comment explaining the reason why this is done. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: ilbsmart <wgqimut@gmail.com> Signed-off-by: Fabio Scaccabarozzi <fsvm88@gmail.com> Closes openzfs#8673 Closes openzfs#10148
Configuration menu - View commit details
-
Copy full SHA for c9e3efd - Browse repository at this point
Copy the full SHA c9e3efdView commit details -
Add a mechanism to wait for delete queue to drain. When doing redacted send/recv, many workflows involve deleting files that contain sensitive data. Because of the way zfs handles file deletions, snapshots taken quickly after a rm operation can sometimes still contain the file in question, especially if the file is very large. This can result in issues for redacted send/recv users who expect the deleted files to be redacted in the send streams, and not appear in their clones. This change duplicates much of the zpool wait related logic into a zfs wait command, which can be used to wait until the internal deleteq has been drained. Additional wait activities may be added in the future. Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Gallagher <john.gallagher@delphix.com> Signed-off-by: Paul Dagnelie <pcd@delphix.com> Closes openzfs#9707
Configuration menu - View commit details
-
Copy full SHA for 5a42ef0 - Browse repository at this point
Copy the full SHA 5a42ef0View commit details
Commits on Apr 3, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b338c49 - Browse repository at this point
Copy the full SHA b338c49View commit details
Commits on Apr 4, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 9019106 - Browse repository at this point
Copy the full SHA 9019106View commit details