- 16 Apr, 2019 15 commits
-
-
Brian Behlendorf authored
Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov>
-
cfzhu authored
1. Support QAT when ZFS is root file-system: When ZFS module is loaded before QAT started, the QAT can be started again in post-process, e.g.: echo 0 > /sys/module/zfs/parameters/zfs_qat_compress_disable echo 0 > /sys/module/zfs/parameters/zfs_qat_encrypt_disable echo 0 > /sys/module/zfs/parameters/zfs_qat_checksum_disable 2. Verify alder checksum of the de-compress result 3. Allocate Digest, IV and AAD buffer in physical contiguous memory by QAT_PHYS_CONTIG_ALLOC. 4. Update the documentation for zfs_qat_compress_disable, zfs_qat_checksum_disable, zfs_qat_encrypt_disable. Reviewed-by:
Tom Caputi <tcaputi@datto.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Weigang Li <weigang.li@intel.com> Signed-off-by:
Chengfeix Zhu <chengfeix.zhu@intel.com> Closes #8323 Closes #8610
-
Richard Laager authored
This replaces empty for loops with while loops to make the code easier to read. Reviewed-by:
Tom Caputi <tcaputi@datto.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reported-by: github.com/dcb314 Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #6681 Closes #6682 Closes #6683 Closes #8623
-
TerraTech authored
Add the 'zfs version' and 'zpool version' subcommands to display the version of the user space utilities and loaded zfs kernel module. For example: $ zfs version zfs-0.8.0-rc3_169_g67e0366b88 zfs-kmod-0.8.0-rc3_169_g67e0366b88 The '-V' and '--version' aliases were added to support the common convention of using 'zfs --version` to obtain the version information. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Matthew Ahrens <mahrens@delphix.com> Reviewed-by:
Richard Laager <rlaager@wiktel.com> Signed-off-by:
TerraTech <1118433+TerraTech@users.noreply.github.com> Closes #2501 Closes #8567
-
Richard Laager authored
When creating a non-sparse volume, zfs create sets a refreservation. Accordingly, one needs the "refreservation" ability in addition to the "create" ability in order to create a non-sparse volume. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reported-by: github.com/homerlinux Reported-by:
Matthew Ahrens <mahrens@delphix.com> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8531 Closes #8624
-
Richard Laager authored
zfs.8 correctly said that GRUB did not support them, but zpool-features.5 said that "Booting off pools...is supported." Now, zpool-features.5 discusses GRUB specifically and indicates its lack of support for these features. Also, I have clarified the wording in both places to indicate that the pool feature cannot be used. It's not a filesystem dataset thing, but pool-wide. I described this as "cannot be used". I think technically the feature can be enabled, just not active. However, the effect is essentially the same: you cannot enable those checksum algorithms on any dataset in the pool, so you might as well not enable the feature (which is just pointing a loaded gun at your foot). In the past, an argument could be made that having all the features enabled was useful for simplicity, as long as you didn't activate the GRUB-incompatible features, but that's getting less and less realistic over time. A user can still do that, but we should not encourage that. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626 Closes #8446
-
Richard Laager authored
GRUB supports large_blocks. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
Nobody is going to be bumping SPA_VERSION again, as OpenZFS has moved on to feature flags. Also, there is no requirement to keep GRUB up-to-date, nor has that been happening. The ZPL_VERSION could be bumped, but that would likely be handled in a similar way, by adding filesystem feature flags. In any event, we do not need this comment, and we certainly don't need a reference to the GRUB 0.97 source code in a Solaris tree. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
The old wording was effectively "You can not use this (except you can)", which just seems confusing. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
On Linux, this is in man section 8, not 1M. Also, there is no fsdb on Linux, so I removed that. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
This had a mix of command vs subcommand, quoted vs not quoted, and bolded vs. not bolded command names. Also, fix man page sections from 1M (Solaris) to 8 (Linux). Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
Richard Laager authored
Previously, the "spare" vdev type was described as "A special pseudo-vdev which...". I wanted to eliminate the word "special" from that, now that the allocation_classes feature exists and there is such a thing as a "special vdev". I ended up eliminating almost all instances of the word "special" that are not referencing the allocation_classes feature. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8626
-
- 15 Apr, 2019 2 commits
-
-
Tom Caputi authored
When receiving a raw send stream only reallocated objects whose contents were not freed by the standard indicators should call dmu_free_long_range(). Furthermore, if calling dmu_free_long_range() is required then the objects current block size must be used and not the new block size. Two additional test cases were added to provided realistic test coverage for processing reallocated objects which are part of a raw receive. Reviewed-by:
Olaf Faaland <faaland1@llnl.gov> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Tom Caputi <tcaputi@datto.com> Closes #8528 Closes #8607
-
Richard Laager authored
Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reported-by:
Matthew Ahrens <mahrens@delphix.com> Signed-off-by:
Richard Laager <rlaager@wiktel.com> Closes #8563 Closes #8622
-
- 14 Apr, 2019 4 commits
-
-
Tomohiro Kusumi authored
Use (ZFS_IOC_LAST - ZFS_IOC_FIRST) instead of 256. It seems 256 is just a number large enough to hold ioctls at the moment. Using 256 also causes compile-time warning or error on platfoms whose enum zfs_ioc definition differs. Reviewed-by:
Olaf Faaland <faaland1@llnl.gov> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Igor Kozhukhov <igor@dilos.org> Signed-off-by:
Tomohiro Kusumi <kusumi.tomohiro@gmail.com> Closes #8598
-
Tomohiro Kusumi authored
It's 81 now. Reviewed-by:
Olaf Faaland <faaland1@llnl.gov> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Igor Kozhukhov <igor@dilos.org> Signed-off-by:
Tomohiro Kusumi <kusumi.tomohiro@gmail.com> Closes #8598
-
Richard Elling authored
By default, depending on the version, gcc can reuse the frame pointer register. This is a micro-optimization that might help on some very old x86 processors. However, it also makes dynamic tracing less useful because the stacks cannot be easily observed. This rule change instructs gcc to use the -fno-omit-frame-pointer option when compiling. Reviewed-by:
Olaf Faaland <faaland1@llnl.gov> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Richard Elling <Richard.Elling@RichardElling.com> Closes #8617
-
Tom Caputi authored
This patch simply up cleans up a nit and corrects an error message issue that were introduced in the Multiple DVA scrub patch. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Tom Caputi <tcaputi@datto.com> Closes #8619
-
- 12 Apr, 2019 3 commits
-
-
Brian Behlendorf authored
When receiving an object to a previously allocated interior slot the new object should be "allocated" by setting DMU_NEW_OBJECT, not "reallocated" with dnode_reallocate(). For resilience verify the slot is free as required in case the stream is malformed. Add a test case to generate more realistic incremental send streams that force reallocation to occur during the receive. Reviewed-by:
Olaf Faaland <faaland1@llnl.gov> Reviewed-by:
Tom Caputi <tcaputi@datto.com> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #8067 Closes #8614
-
Brian Behlendorf authored
Fix style issue for 'tx->tx_txg&TXG_MASK'. There should be white space around the '&' character. Split the dnode_reallocate() ASSERT to make it more readable to clearly separate the checks. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Tom Caputi <tcaputi@datto.com> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #8606
-
John Wren Kennedy authored
The cleanup function of auto_online_001_pos does not account for the possibility that the test may fail while a disk is still removed. If the test run is using real disks, cleanup should involve restoring any that are missing. Reviewed-by:
Giuseppe Di Natale <guss80@gmail.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
John Kennedy <john.kennedy@delphix.com> Closes #8579
-
- 11 Apr, 2019 1 commit
-
-
Alek P authored
When a system sleeps during a zfs-test, the time spent hibernating is counted against the test's runtime even though the test can't and isn't running. This patch tries to detect timeouts due to hibernation and reruns tests that timed out due to system sleeping. In this version of the patch, the existing behavior of returning non-zero when a test was killed is preserved. With this patch applied we still return nonzero and we also automatically rerun the test we suspect of being killed due to system hibernation. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed by: John Kennedy <john.kennedy@delphix.com> Signed-off-by:
Alek Pinchuk <apinchuk@datto.com> Closes #8575
-
- 10 Apr, 2019 3 commits
-
-
Jorgen Lundman authored
The error path in zio_crypt_key_unwrap would call zio_crypt_key_destroy which calls rw_destroy(&key->zk_salt_lock); which has not yet been initialized. We move the rw_init() call to the start of zio_crypt_key_unwrap instead. Reviewed-by:
Tom Caputi <tcaputi@datto.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Jorgen Lundman <lundman@lundman.net> Closes #8604 Closes #8605
-
Tim Chase authored
The bulk[] array index, count, must be reset per-iteration in order to not overwrite the stack. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Chris Dunlop <chris@onthe.net.au> Reviewed-by:
Tom Caputi <tcaputi@datto.com> Signed-off-by:
Tim Chase <tim@chase2k.com> Closes #8072 Closes #8597 Closes #8601
-
Tomohiro Kusumi authored
POSIX doesn't define pthread_t as uint_t. It could be a pointer. This code causes below compile error on a platform using pointer for pthread_t. -- kernel.c:815:25: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] (void) printf("%u ", (uint_t)pthread_self()); Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Igor Kozhukhov <igor@dilos.org> Signed-off-by:
Tomohiro Kusumi <kusumi.tomohiro@gmail.com> Closes #8558
-
- 08 Apr, 2019 3 commits
-
-
Tomohiro Kusumi authored
d1261452 ("Fixes for procfs files backed by linked lists") uses PDE_DATA(), but since PDE_DATA() (public interface which replaced old public interface PDE()) first appeared in upstream kernel 3.10, it lacks visible local definition for kernel < 3.10. Move the local PDE_DATA() definition to a ZoL header, to unbreak build on kernel < 3.10. -- module/spl/spl-procfs-list.c: In function 'procfs_list_open': module/spl/spl-procfs-list.c:166: error: implicit declaration of function 'PDE_DATA' module/spl/spl-procfs-list.c:166: warning: assignment makes pointer from integer without a cast Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
John Gallagher <john.gallagher@delphix.com> Signed-off-by:
Tomohiro Kusumi <kusumi.tomohiro@gmail.com> Closes #8599
-
Brian Behlendorf authored
Commit df583073 introduced the ability to list the snapshots for a specified dataset. This change inadvertently resulted in only the top- level snapshots being listed when no dataset was specified. Fix this issue by adding an additional check to determine if a dataset was provided to avoid incorrectly restricting the depth. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Tom Caputi <tcaputi@datto.com> Reviewed-by:
Alek Pinchuk <apinchuk@datto.com> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #8591 Closes #8594
-
Brian Behlendorf authored
The length used for the strlcpy() used the size of zv_value when it should have used the size of zc_name. Correct this typo. Reviewed-by:
George Melikov <mail@gmelikov.ru> Reviewed-by:
Jorgen Lundman <lundman@lundman.net> Reviewed-by:
Igor Kozhukhov <igor@dilos.org> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #8595 Closes #8596
-
- 06 Apr, 2019 1 commit
-
-
Brian Behlendorf authored
This partially reverts commit 5dbf8b4e . This change resolved the issues observed with truncated files in raw sends. However, the required changes to dnode_allocate() introduced a regression for non-raw streams which needs to be understood. The additional debugging improvements from the original patch were not reverted. Reviewed-by:
Tom Caputi <tcaputi@datto.com> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Issue #7378 Issue #8528 Issue #8540 Issue #8565 Close #8584
-
- 05 Apr, 2019 3 commits
-
-
Matthew Ahrens authored
When a pool is initially created (by `zpool create`), predictive prefetch is inadvertently disabled, until the pool is export/import-ed, or the machine is rebooted. When device removal was introduced, we added some code to disable predictive prefetching until indirect vdevs have been loaded. This resulted in the "default state" of prefetch being disabled, until we proactively enable it after indirect vdevs are loaded. Unfortunately this resulted in a few bugs where in some code paths we neglect to enable predictive prefetch. The first of these was fixed by https://github.com/zfsonlinux/zfs/commit/20507534d4ede14d4dd82c99fc8d461704ce7419 This commit fixes another case where we also need to explicitly enable predictive prefetch, when the pool is initially created. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Richard Elling <Richard.Elling@RichardElling.com> Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Matthew Ahrens <mahrens@delphix.com> Closes #8577
-
Don Brady authored
The features.kernel layout should match features.pool. Reviewed-by:
Sara Hartse <sara.hartse@delphix.com> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Don Brady <don.brady@delphix.com> Closes #8566
-
Sara Hartse authored
There are several places where we use zfs_dbgmsg and %p to print pointers. In the Linux kernel, these values obfuscated to prevent information leaks which means the pointers aren't very useful for debugging crash dumps. We decided to restrict the permissions of dbgmsg (and some other kstats while we were at it) and print pointers with %px in zfs_dbgmsg as well as spl_dumpstack Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
John Gallagher <john.gallagher@delphix.com> Signed-off-by:
sara hartse <sara.hartse@delphix.com> Closes #8467 Closes #8476
-
- 04 Apr, 2019 2 commits
-
-
Josh Soref authored
Also describe free/allocated/fragmentation Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Matt Ahrens <mahrens@delphix.com> Signed-off-by:
Josh Soref <jsoref@users.noreply.github.com> Closes #7565 Closes #8483
-
Brian Behlendorf authored
Callers of txg_wait_open() which set should_quiesce=B_TRUE should be accounted for as iowait time. Otherwise, the caller is understood to be idle and cv_wait_sig() is used to prevent incorrectly inflating the system load average. Similarly txg_wait_wait() has been updated to use cv_wait_io() to be accounted against iowait. Reviewed-by:
Tim Chase <tim@chase2k.com> Reviewed-by:
Olaf Faaland <faaland1@llnl.gov> Reviewed-by:
Matt Ahrens <mahrens@delphix.com> Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Brian Behlendorf <behlendorf1@llnl.gov> Closes #8550 Closes #8558
-
- 03 Apr, 2019 1 commit
-
-
Michael Niewöhner authored
Dracut depends on the environment variable BOOTFS to be set after pool import. This dracut specific systemd ExecStartPost command should not be called for any non-dracut systems, so let's move it to a static systemd unit that. Reviewed-by:
Manuel Amador (Rudd-O) <rudd-o@rudd-o.com> Reviewed-by:
Matthew Thode <prometheanfire@gentoo.org> Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by:
Michael Niewöhner <foss@mniewoehner.de> Closes #8510
-
- 02 Apr, 2019 1 commit
-
-
Josh Soref authored
The macOS man app strenuously objects to blank lines in man files. mdoc warning: Empty input line #xyz Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
bunder2015 <omfgbunder@gmail.com> Reviewed-by:
George Melikov <mail@gmelikov.ru> Signed-off-by:
Josh Soref <jsoref@users.noreply.github.com> Closes #8559
-
- 01 Apr, 2019 1 commit
-
-
TerraTech authored
Simply appends zhp->zfs_name to the "TIME SENT SNAPSHOT" output. Reviewed-by:
Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by:
Matt Ahrens <mahrens@delphix.com> Reviewed-by:
Richard Elling <Richard.Elling@RichardElling.com> Signed-off-by:
TerraTech <TerraTech@users.noreply.github.com> Closes #8543
-