337486 |
08-Aug-2018 |
bdrewery |
MFC r323620:
Fix the raise tests. |
333196 |
03-May-2018 |
avg |
MFC r332426: allow ZFS pool to have temporary name for duration of current import
The change adds -t <name> option to zpool create and -t option to zpool import in its form with an old name and a new name. This allows to import (or create) a pool under a name that's different from its real, permanent name without affecting that name. This is useful when working with VM images or images of other physical systems if they happen to have a ZFS pool with the same name as the host system.
Sponsored by: Panzura (porting) |
332094 |
06-Apr-2018 |
avg |
MFC r330295: ZFS: fix adding vdevs to very large pools
PR: 226096 |
330735 |
10-Mar-2018 |
asomers |
MFC r329067:
Fix "zpool add" crash when a replacing vdev has a spare child
Fix an assertion in zpool that causes a crash when running any "zpool add" command on a spare that contains a replacing vdev with a spare child.
This likely affects Illumos, too.
PR: 225546 Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14138 |
326336 |
28-Nov-2017 |
asomers |
MFC r324221:
MFV r316861: 6866 zdb -l should return non-zero if it fails to find any label
illumos/illumos-gate@64723e361134b2a2c45341334174f9d34002f8d0 https://github.com/illumos/illumos-gate/commit/64723e361134b2a2c45341334174f9d34002f8d0
https://www.illumos.org/issues/6866 Need this for #6865. To be generally more scripting-friendly, overload this issue with adding '-q' option which should skip printing any label information.
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Yuri Pankov <yuri.pankov@nexenta.com> |
326335 |
28-Nov-2017 |
asomers |
MFC r324220:
MFC r316858 7280 Allow changing global libzpool variables in zdb
7280 Allow changing global libzpool variables in zdb and ztest through command line
illumos/illumos-gate@0e60744c982adecd0a1f146f5637475d07ab1069 https://github.com/illumos/illumos-gate/commit/0e60744c982adecd0a1f146f5637475d07ab1069
https://www.illumos.org/issues/7280 zdb is very handy for diagnosing problems with a pool in a safe and quick way. When a pool is in a bad shape, we often want to disable some fail-safes, or adjust some tunables in order to open them. In the kernel, this is done by changing public variables in mdb. The goal of this feature is to add the same capability to zdb and ztest, so that they can change libzpool tuneables from the command line.
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Pavel Zakharov <pavel.zakharov@delphix.com> |
325915 |
16-Nov-2017 |
avg |
MFC r325035: MFV r325013,r325034: 640 number_to_scaled_string is duplicated in several commands
FreeBSD note: of all libcmdutils functionality ZFS (and other illumos contrib code) currently uses only nicenum() function (which is similar to humanize_number but has some formatting differences). For this reason I decided to not port the whole library. As a result, nicenum.c from libcmdutils is compiled into libzfs and libzpool. This is a bit ugly, but works. If one day we are forced to create libillumos, then the file should be moved to that library. |
325152 |
30-Oct-2017 |
avg |
MFC r324348: MFV r316934: 7340 receive manual origin should override automatic origin |
325150 |
30-Oct-2017 |
avg |
MFC r324347: MFV r316933: 5142 libzfs support raidz root pool (loader project)
FreeBSD note: we have long supported this feature, this commit only removes a small difference in libzfs. |
325148 |
30-Oct-2017 |
avg |
MFC r324346: MFV r316931: 6268 zfs diff confused by moving a file to another directory |
325140 |
30-Oct-2017 |
avg |
MFC r324345: MFV r316877: 7571 non-present readonly numeric ZFS props do not have default valu |
324587 |
13-Oct-2017 |
avg |
MFC r323528: MFV r323527: 5815 libzpool's panic function doesn't set global panicstr |
324585 |
13-Oct-2017 |
avg |
MFC r323525: MFV r323523: 8331 zfs_unshare returns wrong error code for smb unshare failure |
324582 |
13-Oct-2017 |
avg |
MFC r323524: MFV r316932: 6280 libzfs: unshare_one() could fail with EZFS_SHARENFSFAILED |
324256 |
04-Oct-2017 |
avg |
MFC r323791: MFV r323790: 8567 Inconsistent return value in zpool_read_label |
323735 |
19-Sep-2017 |
avg |
MFC r319746,r319747,r319769: 8269 dtrace stddev aggregation is normalized incorrectly
illumos/illumos-gate@79809f9cf402f130667349b2d4007ecd65d63c6f https://github.com/illumos/illumos-gate/commit/79809f9cf402f130667349b2d4007ecd65d63c6f
https://www.illumos.org/issues/8269 It seems that currently normalization of stddev aggregation is done incorrectly. We divide both the sum of values and the sum of their squares by the normalization factor. But we should divide the sum of squares by the normalization factor squared to scale the original values properly.
FreeBSD note: the actual change was committed in r316853, this commit adds the test files and record merge information.
Reviewed by: Bryan Cantrill <bryan@joyent.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Andriy Gapon <avg@FreeBSD.org>
Sponsored by: Panzura |
322079 |
05-Aug-2017 |
mav |
MFC r321921: Add compat shim part missed at r305197.
This fixes compatibility between old kernel and new ZFS tools. It seems to be tradition to forget it.
PR: 221112 |
320496 |
30-Jun-2017 |
avg |
MFC r308782: After some ZIL changes 6 years ago zil_slog_limit got partially broken due to zl_itx_list_sz not updated when async itx'es upgraded to sync. Actually because of other changes about that time zl_itx_list_sz is not really required to implement the functionality, so this patch removes some unneeded broken code and variables.
Original idea of zil_slog_limit was to reduce chance of SLOG abuse by single heavy logger, that increased latency for other (more latency critical) loggers, by pushing heavy log out into the main pool instead of SLOG. Beside huge latency increase for heavy writers, this implementation caused double write of all data, since the log records were explicitly prepared for SLOG. Since we now have I/O scheduler, I've found it can be much more efficient to reduce priority of heavy logger SLOG writes from ZIO_PRIORITY_SYNC_WRITE to ZIO_PRIORITY_ASYNC_WRITE, while still leave them on SLOG.
Existing ZIL implementation had problem with space efficiency when it has to write large chunks of data into log blocks of limited size. In some cases efficiency stopped to almost as low as 50%. In case of ZIL stored on spinning rust, that also reduced log write speed in half, since head had to uselessly fly over allocated but not written areas. This change improves the situation by offloading problematic operations from z*_log_write() to zil_lwb_commit(), which knows real situation of log blocks allocation and can split large requests into pieces much more efficiently. Also as side effect it removes one of two data copy operations done by ZIL code WR_COPIED case.
While there, untangle and unify code of z*_log_write() functions. Also zfs_log_write() alike to zvol_log_write() can now handle writes crossing block boundary, that may also improve efficiency if ZPL is made to do that. |
319263 |
30-May-2017 |
asomers |
MFC r316856:
MFV 316855
7900 zdb shouldn't print the path of a znode at verbosity < 5
Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Matt Ahrens <mahrens@delphix.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Alan Somers <asomers@freebsd.org>
illumos/illumos-gate@e548d2fa41d1baa06662ed9abbb8bcec86e27dd9 https://www.illumos.org/issues/7900
Sponsored by: Spectra Logic Corp |
318910 |
26-May-2017 |
mav |
MFC r318516: Fix time handling in cv_timedwait_hires().
pthread_cond_timedwait() receives absolute time, not relative. Passing wrong time there caused two threads of zdb to spin in a tight loop. |
318784 |
24-May-2017 |
avg |
MFC r316853: dtrace: fix normalization of stddev aggregation
Sponsored by: Panzura |
316763 |
13-Apr-2017 |
pfg |
MFC r316695, MFV r316693: 8046 Let calloc() do the multiplication in libzfs_fru_refresh
https://github.com/illumos/illumos-gate/commit/5697e03e6e3e2697f56ae341c7c8ce79680d6a2e
https://www.illumos.org/issues/8046
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Pedro Giffuni <pfg@freebsd.org> |
313486 |
09-Feb-2017 |
ngie |
MFC r258903,r264487,r271699,r288415:
r258903 (by markj):
Enable some previously-disabled DTrace tests for umod, ufunc and usym. They expect the installed ksh binary to be named "ksh", which is not the case when it's installed on FreeBSD via the shells/ksh93 port. Allow for it to be "ksh93" as well so that the tests can actually pass.
r264487 (by markj):
Replace a few Solarisisms with their corresponding FreeBSDisms to make a few printf tests pass.
r271699 (by markj):
Implement a workaround to allow this test program to be compiled with clang. It seems that if a pragma is used to define a weak alias for a local function, the pragma must appear after the function is defined.
PR: 193056
r288415 (by markj):
MFV r288408: 6266 harden dtrace_difo_chunksize() with respect to malicious DIF
illumos/illumos-gate@395c7a3dcfc66b8b671dc4b3c4a2f0ca26449922
Author: Bryan Cantrill <bryan@joyent.com> |
313485 |
09-Feb-2017 |
ngie |
MFC r277912,r278738,r279418,r280835,r288416:
r277912 (by markj):
Include required headers in DTrace test programs.
r278738 (by markj):
Tweak the fds test program so that it actually compiles. Also use 0 instead of -1 for the bogus ioctl command so that dmesg doesn't get spammed with sign extension warnings when the test program runs.
r279418 (by markj):
Add infrastructure to integrate the DTrace test suite with Kyua.
For each test category, we generate a script containing ATF test cases for the tests under that category. Each test case simply runs dtest.pl (the upstream test harness) with the corresponding test files. The exclude.sh script is used to record info about tests which should be skipped or are expected to fail; it is used to generate atf_skip and atf_expect_fail calls. The genmakefiles.sh script can be used to regenerate the test makefiles when new tests are brought it from upstream.
The test suite is currently not connected to the build as there is a small number of lingering test issues which still need to be worked out. In the meantime however, the test suite can be easily built and installed manually from cddl/usr.sbin/dtrace/tests.
r280835 (by markj):
Replace dtest.pl, the upstream DTrace test suite harness, with a shell script. This reimplementation is much simpler than dtest.pl and is more amenable to being run under Kyua - dtest.pl writes error output to a temporary directory that is deleted when the run finishes, making it hard to debug test failures. This change also removes the test suite's dependency on perl.
r288416 (by markj):
Update DTrace test makefiles after r288415. |
310069 |
14-Dec-2016 |
avg |
MFC r308985: revert r304520, set canmount=on is not supposed to mount the filesystem |
308915 |
21-Nov-2016 |
avg |
MFC r308089: zfsbootcfg: a simple tool to set next boot (one time) options for zfsboot
There is a branch-specific change in sbin/zfsbootcfg/Makefile because of LIBADD vs LDADD/DPADD. |
308764 |
17-Nov-2016 |
avg |
MFC r308247: MFV r308222: 6051 lzc_receive: allow the caller to read the begin record |
307281 |
14-Oct-2016 |
mav |
MFC r305332: MFV r304159: 7277 zdb should be able to print zfs_dbgmsg's
illumos/illumos-gate@29bdd2f916366ece37c4748bca6b3d61f57a223b https://github.com/illumos/illumos-gate/commit/29bdd2f916366ece37c4748bca6b3d61f 57a223b
https://www.illumos.org/issues/7277 ztest always prints the debug messages (zfs_dbgmsg()) by calling zfs_dbgmsg_print(). We should add a flag to zdb to make it do this as well before exiting.
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Pavel Zakharov <pavel.zakharov@delphix.com> |
307276 |
14-Oct-2016 |
mav |
MFC r305328: MFV r303081: 7163 ztest failures due to excess error injection
illumos/illumos-gate@f34284d835bc555f987c1310df46c034c3101155 https://github.com/illumos/illumos-gate/commit/f34284d835bc555f987c1310df46c034c 3101155
https://www.illumos.org/issues/7163 Running zloop from zfs-precommit hit this assertion: *panicstr/s 0xfffffd7fd7419370: assertion failed for thread 0xfffffd7fe29ed240, thread-id 577: parent != NULL, file ../../../uts/common/fs/zfs/dbuf.c, line 1827 $c libc.so.1`_lwp_kill+0xa() libc.so.1`_assfail+0x182(fffffd7ffb1c29fa, fffffd7ffb1cc028, 723) libc.so.1`assfail+0x19(fffffd7ffb1c29fa, fffffd7ffb1cc028, 723) libzpool.so.1`dbuf_dirty+0xc69(10e3bc10, 3601700) libzpool.so.1`dbuf_dirty+0x61e(10c73640, 3601700) libzpool.so.1`dbuf_dirty+0x61e(10e28280, 3601700) libzpool.so.1`dmu_buf_will_fill+0x64(10e28280, 3601700) libzpool.so.1`dmu_write+0x1b6(2c7e640, d, 400000002e000000, 200, 3717b40, 3601700) ztest_replay_write+0x568(4950d0, 3717a80, 0) ztest_write+0x125(4950d0, d, 400000002e000000, 200, 413f000) ztest_io+0x1bb(4950d0, d, 400000002e000000) ztest_dmu_write_parallel+0xaa(4950d0, 6) ztest_execute+0x83(1, 420c98, 6) ztest_thread+0xf4(6) libc.so.1`_thrp_setup+0x8a(fffffd7fe29ed240) libc.so.1`_lwp_start() This is another manifestation of ECKSUM in ztest: The lowest level ancestor that’s in memory is the L8 (topmost). The L7 ancestor is blkid 0x10: ::dbufs -O 0x2c7e640 -o d -l 7 |::dbuf addr object lvl blkid holds os 600be50 d 7 4 1 ztest/ds_6 719d880 d 7 0 4 ztest/ds_6
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Matthew Ahrens <mahrens@delphix.com> |
307274 |
14-Oct-2016 |
mav |
MFC r305327: MFV r303080: 6451 ztest fails due to checksum errors
illumos/illumos-gate@f9eb9fdf196b6ed476e4ffc69cecd8b0da3cb7e7 https://github.com/illumos/illumos-gate/commit/f9eb9fdf196b6ed476e4ffc69cecd8b0d a3cb7e7
https://www.illumos.org/issues/6451 Sometimes ztest fails because zdb detects checksum errors. e.g.: Traversing all blocks to verify checksums and verify nothing leaked ... zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 8000160> DVA0=<0:1cc2000: 180000> [L0 other uint64[]] sha256 uncompressed LE contiguou s unique single size=100000L/100000P birth=271L/271P fill=1 cksum=c5a3e27d1ed0f894:843bca3a5473c4bf:f76a19b6830a2e4:91292591613a12bf -- skipping zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 800000180> DVA0=<0:ce16800: 180000> [L0 other uint64[]] sha256 uncompressed LE contigu ous unique single size=100000L/100000P birth=840L/840P fill=1 cksum=5d018f3d061e17f3:6d1584784587bf63:2805a74a0ce37369:ba68a214806c7e75 -- skipping zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 1000000360> DVA0=<0:10d37400: 180000> [L0 other uint64[]] sha256 uncompressed LE conti guous unique single size=100000L/100000P birth=904L/904P fill=1 cksum=fa1e11d4138bd14b:86c9488c444473e3:f31e43c72e72e46b:e3446472d1174d ba -- skipping zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 400000002c0> DVA0=<0:127ef400: 180000> [L0 other uint64[]] sha256 uncompressed LE cont iguous dedup single size=100000L/100000P birth=549L/549P fill=1 cksum=30e14955ebf13522:66dc2ff8067e6810:4607e750abb9d3b3:6582b8af909fcb 58 -- skipping zdb_blkptr_cb: Got error 50 reading <657, 5, 0, 1c0> DVA0=<0:1a180400:180000> [L0 other uint64[]] fletcher4 uncompressed LE contiguou s unique single size=100000L/100000P birth=1091L/1091P fill=1 cksum=a6cf1e50: 29b3bd01c57e5:36779b914035db9a:db61cdcf6bec56f0 -- skippin g The problem is that ztest_fault_inject() can inject multiple faults into the same block. It is designed such that it can inject errors on all leafs of a RAID-Z or mirror, but for a given range of offsets, it will only inject errors
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Jorgen Lundman <lundman@lundman.net> Approved by: Dan McDonald <danmcd@omniti.com> Author: Matthew Ahrens <mahrens@delphix.com> |
307272 |
14-Oct-2016 |
mav |
MFC r305326: MFV r303079: 7147 ztest: ztest_ddt_repair fails with ztest_pattern_match assertion
illumos/illumos-gate@aab80726335c76a7cae32c7300890248d73a51e3 https://github.com/illumos/illumos-gate/commit/aab80726335c76a7cae32c7300890248d 73a51e3
https://www.illumos.org/issues/7147 Here's the dbuf we're currently reading: 966f200::dbuf addr object lvl blkid holds os 966f200 4 0 0 1 ztest/ds_3 966f200::print dmu_buf_t db_data db_data = 0x9ae0400 0x9ae0400/10J 0x9ae0400: c1c7ced932020d c1c7ced932020d c1c7ced932020d c1c7ced932020d c1c7ced932020d c1c7ced932020d c1c7ced932020d c1c7ced932020d c1c7ced932020d c1c7ced932020d The pattern we're expecting is actually this: a34ae10b5f2db2. If we attempt to read the block on disk we find that it has matches what ztest_ddt_repair() would have written: ~c1c7ced932020d=J ff3e383126cdfdf2 966f200::print dmu_buf_impl_t db_blkptr | ::blkptr DVA0=<0:71d3c00:800> [L0 UINT64_OTHER] SHA256 OFF LE contiguous dedup single size=400L/400P birth=55L/55P fill=1 cksum=18486450d3ce8c6d:75a72f4bbf117b0f:2d3a226314eb5650:2eb0fd68648b1af0 1. zdb -U /rpool/tmp/zpool.cache -R ztest 0:71d3c00:800 | head Found vdev type: mirror 0:71d3c00:800 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 000000: ff3e383126cdfdf2 ff3e383126cdfdf2 ...&18>....&18>. 000010: ff3e383126cdfdf2 ff3e383126cdfdf2 ...&18>....&18>. 000020: ff3e383126cdfdf2 ff3e383126cdfdf2 ...&18>....&18>. 000030: ff3e383126cdfdf2 ff3e383126cdfdf2 ...&18>....&18>. 000040: ff3e383126cdfdf2 ff3e383126cdfdf2 ...&18>....&18>. 000050: ff3e383126cdfdf2 ff3e383126cdfdf2 ...&18>....&18>.
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: George Wilson <george.wilson@delphix.com> |
307266 |
14-Oct-2016 |
mav |
MFC r305323: MFV r302991: 6950 ARC should cache compressed data
illumos/illumos-gate@dcbf3bd6a1f1360fc1afcee9e22c6dcff7844bf2 https://github.com/illumos/illumos-gate/commit/dcbf3bd6a1f1360fc1afcee9e22c6dcff 7844bf2
https://www.illumos.org/issues/6950 When reading compressed data from disk, the ARC should keep the compressed block cached and only decompress it when consumers access the block. The uncompressed data should be short-lived allowing the ARC to cache a much large r amount of data. The DMU would also maintain a smaller cache of uncompressed blocks to minimize the impact of decompressing frequently accessed blocks.
Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Reviewed by: Matt Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Don Brady <don.brady@intel.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: George Wilson <george.wilson@delphix.com> |
307124 |
12-Oct-2016 |
mav |
MFC r305211: MFV r302662: 6447 handful of nvpair cleanups
illumos/illumos-gate@759e89be359f2af635e4122d147df56bce948773 https://github.com/illumos/illumos-gate/commit/759e89be359f2af635e4122d147df56bc e948773
https://www.illumos.org/issues/6447 I got a patch from someone who uses nvpair code outside of illumos. It fixes a couple of gcc warnings/bugs for him. 1. silence uninitialized use warnings 2. add parentheses around assignment used as truth value 3. fix printf format specifier (ll is for integers only) 4. strstr, strspn, strcspn, and strcmp are declared in string.h, not strings.h. 5. avoid scanning integer into boolean variable
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Andy Stormont <astormont@racktopsystems.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Robert Mustacchi <rm@joyent.com> Author: Steve Dougherty <sdougherty@barracuda.com> |
307122 |
12-Oct-2016 |
mav |
MFC r305209: MFV r302660: 6314 buffer overflow in dsl_dataset_name
illumos/illumos-gate@9adfa60d484ce2435f5af77cc99dcd4e692b6660 https://github.com/illumos/illumos-gate/commit/9adfa60d484ce2435f5af77cc99dcd4e6 92b6660
https://www.illumos.org/issues/6314 Callers of dsl_dataset_name pass a buffer of size ZFS_MAXNAMELEN, but dsl_dataset_name copies the datasets' name PLUS the snapshot name to it, resulting in a max of 2 * ZFS_MAXNAMELEN + '@'.
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Matthew Ahrens <mahrens@delphix.com> |
307121 |
12-Oct-2016 |
mav |
MFC r305206: MFV r302658: 6872 zfs libraries should not allow uninitialized variables
illumos/illumos-gate@f83b46baf98d276f5f84fa84c8b461f412ac1f5e https://github.com/illumos/illumos-gate/commit/f83b46baf98d276f5f84fa84c8b461f41 2ac1f5e
https://www.illumos.org/issues/6872 We compile the zfs libraries with -Wno-uninitialized. We should remove this. Change makefiles, fix new warnings, fix pbchk errors.
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Paul Dagnelie <pcd@delphix.com> |
307120 |
12-Oct-2016 |
mav |
MFC r305205: MFV r302657: 4521 zfstest is trying to execute evil "zfs unmount -a"
illumos/illumos-gate@8808ac5dae118369991f158b6ab736cb2691ecde https://github.com/illumos/illumos-gate/commit/8808ac5dae118369991f158b6ab736cb2 691ecde
https://www.illumos.org/issues/4521 zfstest is trying to execute evil "zfs unmount -a", which fails (fortunately, as it would otherwise leave me with my ~ missing): 03:44:11.86 cannot unmount '/export/home/yuri': Device busy cannot unmount '/ export/home': Device busy 03:44:11.86 ERROR: /usr/sbin/zfs unmount -a exited 1 This affects, at least, zfs_mount_009_neg and zfs_mount_all_001_pos, both failing on that step. The pool containing the /export/home hierarchy is included in KEEP variable, but it doesn't seem to affect anything here.
Reviewed by: Andriy Gapon <avg@FreeBSD.org> Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Yuri Pankov <yuri.pankov@nexenta.com> |
307119 |
12-Oct-2016 |
mav |
MFC r305203: MFV r302655: 6873 zfs_destroy_snaps_nvl leaks errlist
illumos/illumos-gate@4cde22c29999ffb907ca39d2ebd512812f7e5168 https://github.com/illumos/illumos-gate/commit/4cde22c29999ffb907ca39d2ebd512812 f7e5168
https://www.illumos.org/issues/6873 lzc_destroy_snaps() returns an nvlist in errlist. zfs_destroy_snaps_nvl() should nvlist_free() it before returning.
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Chris Williamson <chris.williamson@delphix.com> |
307118 |
12-Oct-2016 |
mav |
MFC r305202: MFV r302654: 6879 incorrect endianness swap for drr_spill.drr_length in libzfs_sendrecv.c
illumos/illumos-gate@20fea7a47472aceb64d3ed48cc2a3ea268bc4795 https://github.com/illumos/illumos-gate/commit/20fea7a47472aceb64d3ed48cc2a3ea26 8bc4795
https://www.illumos.org/issues/6879 In libzfs_sendrecv, there's a typo: case DRR_SPILL: if (byteswap) { drr->drr_u.drr_write.drr_length = BSWAP_64(drr->drr_u.drr_spill.drr_length); } Instead of drr_write.drr_length, we should be assigning the result of the byteswap to drr_spill.drr_length.
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Dan Kimmel <dan.kimmel@delphix.com> |
307117 |
12-Oct-2016 |
mav |
MFC r305201: MFV r302653: 6111 zfs send should ignore datasets created after the ending snapshot
illumos/illumos-gate@4a20c933b148de8a1c1d3538391c64284e636653 https://github.com/illumos/illumos-gate/commit/4a20c933b148de8a1c1d3538391c64284 e636653
https://www.illumos.org/issues/6111 If you create a zfs child folder, zfs send returns an error when a recursive incremental send is done between two snapshots made prior to the folder creation. The problem can be reproduced with the following steps. root@zfs:/# zfs create pool/test root@zfs:/# zfs snapshot pool/test@snap1 root@zfs:/# zfs snapshot pool/test@snap2 root@zfs:/# zfs create pool/test/child root@zfs:/# zfs send -R -I pool/test@snap1 pool/test@snap2 > /dev/null WARNING: could not send pool/test/child@snap2: does not exist WARNING: could not send pool/test/child@snap2: does not exist root@zfs:/# echo $? 1 root@zfs:/# zfs snapshot -r pool/test@snap3 root@zfs:/# zfs send -R -I pool/test@snap1 pool/test@snap3 > /dev/null root@zfs:/# echo $? 0 root@zfs:/# zfs send -R -I pool/test@snap2 pool/test@snap3 > /dev/null root@zfs:/# echo $? 0 Since pool/test/child was created after snap2, zfs send should not expect snap2 to be in pool/test/child when doing a recursive send. It should examine the compare the creation time of the snapshot and each child folder to decide if the folder will be sent. The next incremental send between snap2 and snap3 would properly create the child folder and snap3 which first appears in the child folder. The problem is identical if '-i' is used instead of '-I'.
Reviewed by: Alex Aizman alex.aizman@nexenta.com Reviewed by: Alek Pinchuk alek.pinchuk@nexenta.com Reviewed by: Roman Strashkin roman.strashkin@nexenta.com Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Approved by: Garrett D'Amore <garrett@damore.org> Author: Alex Deiter <alex.deiter@nexenta.com> |
307116 |
12-Oct-2016 |
mav |
MFC r305194: MFV r302642: 6876 Stack corruption after importing a pool with a too-long name
illumos/illumos-gate@c971037baa5d64dfecf6d87ed602fc3116ebec41 https://github.com/illumos/illumos-gate/commit/c971037baa5d64dfecf6d87ed602fc3116ebec41
https://www.illumos.org/issues/6876 Calling dsl_dataset_name on a dataset with a 256 byte buffer is asking for trouble. We should check every dataset on import, using a 1024 byte buffer and checking each time to see if the dataset's new name is longer than 256 bytes.
Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Paul Dagnelie <pcd@delphix.com> |
307058 |
11-Oct-2016 |
mav |
MFC r305207: MFV r302659: 6931 lib/libzfs: cleanup gcc warnings
illumos/illumos-gate@88f61dee20b358671b1b643e9d1dbf220a1d69be https://github.com/illumos/illumos-gate/commit/88f61dee20b358671b1b643e9d1dbf220a1d69be
https://www.illumos.org/issues/6931 need cleanup: CERRWARN += -_gcc=-Wno-switch CERRWARN += -_gcc=-Wno-parentheses CERRWARN += -_gcc=-Wno-unused-function
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Igor Kozhukhov <ikozhukhov@gmail.com> |
307053 |
11-Oct-2016 |
mav |
MFC r305195: MFV r302643: 6902 speed up listing of snapshots if requesting name only and sorting by name
This was our change from the beginning, so just reduce the upstream diff. |
305461 |
06-Sep-2016 |
avg |
MFC r304520: fix bug introduced in r297521, set canmount=on doesn't mount filesystem |
305233 |
01-Sep-2016 |
ngie |
MFstable/11 r305225:
MFC r303573:
Cast result from third parameter to int instead of promoting it to size_t
This resolves a -Wformat issue when the value is used as a format width precision specifier, i.e. %*s |
305106 |
31-Aug-2016 |
markj |
MFC r304055: Fix handling of forward enum declarations in the CTF tools. |
304118 |
15-Aug-2016 |
avg |
MFC r303086: 7164 zdb should be able to open the root dataset |
304115 |
15-Aug-2016 |
avg |
MFC r303084: 6391 Override default SPA config location via environment |
302846 |
14-Jul-2016 |
asomers |
MFC changes relating to warnings in opensolaris-derived libraries
MFC r257592 MFC r257657 MFC r257638 MFC r257647 MFC r302141
r257592 | sbruno | 2013-11-03 14:05:44 -0700 (Sun, 03 Nov 2013) | 8 lines
This library uses macros to define fprintf behvavior for several object types The compiler will see the non-string literal arguments to the fprintf calls and omit warnings for them. Quiese these warnings in contrib code:
cddl/contrib/opensolaris/lib/libnvpair/libnvpair.c:743:12: warning: format string is not a string literal (potentially insecure) [-Wformat-security] ARENDER(pctl, nvlist_array, nvl, name, val, nelem);
r257657 | sbruno | 2013-11-04 14:32:07 -0700 (Mon, 04 Nov 2013) | 5 lines
Quiesce warning assigning to void * from const ctf_header_t * by explicity casting to void * before assignment.
Submitted as Illumos issue 4287
r257638 | sbruno | 2013-11-04 09:15:43 -0700 (Mon, 04 Nov 2013) | 6 lines
Quiesce warning regarding %llf which has no effect.
Submitted as illumos issue #4284
Reviewed by: delphij
r257647 | sbruno | 2013-11-04 12:32:35 -0700 (Mon, 04 Nov 2013) | 4 lines
spelling in comments fixup
Submitted by: Joerg Sonnenberger <joerg@britannica.bec.de>
r302141 | asomers | 2016-06-23 09:02:57 -0600 (Thu, 23 Jun 2016) | 14 lines
Raise the WARNS level in cddl/lib
cddl/lib/libavl/Makefile cddl/lib/libctf/Makefile cddl/lib/libnvpair/Makefile cddl/lib/libumem/Makefile cddl/lib/libuutil/Makefile Increase WARNS to the highest working level for each of these libraries
Sponsored by: Spectra Logic Corp |
300028 |
17-May-2016 |
avg |
MFC r298472: MFV r298471: 6052 decouple lzc_create() from the implementation details |
299430 |
11-May-2016 |
mav |
MFC r297763: MFV r297760: 6418 zpool should have a label clearing command
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Author: Will Andrews <will@firepipe.net>
Closes #83 Closes #32
openzfs/openzfs@9663688425131744221ea99f9e66b9ed964492ae
FreeBSD already had `zpool labelclear` functionality, so this is mostly just a diff reduction. |
299429 |
11-May-2016 |
mav |
MFC r297508: MFV r297505: 6739 userland version of cv_timedwait_hires() always assumes absolute time
Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: George Wilson <george.wilson@delphix.com>
illumos/illumos-gate@41c6413cb54bf338d7a59ed789ec2e0e44c35e6f |
298266 |
19-Apr-2016 |
avg |
MFC r297521: fix zfs set canmount=off on an unmounted filesystem
No MFC to stable/9 because of a non-trivial merge conflict and no way to test the edited code. |
298264 |
19-Apr-2016 |
avg |
MFC r297520: zfs receive: -u can be ignored sometimes
PR: 204705 |
297953 |
14-Apr-2016 |
markj |
MFC r297827: libdtrace: Add a missing unlock to an error handler. |
297542 |
04-Apr-2016 |
mav |
MFC r270382 (by delphij): MFV r270197:
Illumos issue: 5066 remove support for non-ANSI compilation 5068 Remove SCCSID() macro from <macros.h> |
297129 |
21-Mar-2016 |
pfg |
MFC r296816:
libdtrace: use calloc(3) instead of malloc(3) when it makes sense.
calloc(3) is faster and occasionally safer than malloc(3) + bzero(3).
In one case, pointed out by Mark[1], this also cleans up a calculation.
Reviewed by: markj [1] |
297121 |
21-Mar-2016 |
mav |
MFC r296541: MFV r296540: 4448 zfs diff misprints unicode characters
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Matthew Ahrens <mahrens@delphix.com> Author: Joshua M. Clulow <jmc@joyent.com>
illumos/illumos-gate@b211eb9181f99c20acbf4c528f94cb44b4ca8c31 |
297120 |
21-Mar-2016 |
mav |
MFC r296539: MFV r296538: 6544 incorrect comment in libzfs.h about offline status
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Gerhard Roethlin <git@the-color-black.net>
illumos/illumos-gate@cb605c4d8ab24b5a900b8b4ca85db65c22d05fad |
297119 |
21-Mar-2016 |
mav |
MFC r296537: MFV r296536: 6551 cmd/zpool: cleanup gcc warnings
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Andy Stormont <astormont@racktopsystems.com> Approved by: Robert Mustacchi <rm@joyent.com>
illumos/illumos-gate@b327cd3f3b4dab4f29e7140159b1e01ed2ceef2a |
297118 |
21-Mar-2016 |
mav |
MFC r296535: MFV r296534: 6550 cmd/zfs: cleanup gcc warnings
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Andy Stormont <astormont@racktopsystems.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Igor Kozhukhov <ikozhukhov@gmail.com>
illumos/illumos-gate@c16bcc4577f389573eff411c7b7e040294078c3b |
297117 |
21-Mar-2016 |
mav |
MFC r296533: MFV r296532: 6637 replacing "dontclose" with "should_close"
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: David Schwartz <dschwartz783@gmail.com>
illumos/illumos-gate@d189620258b3c9b0e2f7e2104840be2eee7c68e5 |
297115 |
21-Mar-2016 |
mav |
MFC r296528: MFV r296527: 6659 nvlist_free(NULL) is a no-op
Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Marcel Telka <marcel@telka.sk> Approved by: Robert Mustacchi <rm@joyent.com> Author: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
illumos/illumos-gate@aab83bb83be7342f6cfccaed8d5fe0b2f404855d |
297112 |
21-Mar-2016 |
mav |
MFC r296519: MFV r296518: 5027 zfs large block support (add copyright)
Author: Matthew Ahrens <matt@mahrens.org>
illumos/illumos-gate@c3d26abc9ee97b4f60233556aadeb57e0bd30bb9 |
297108 |
21-Mar-2016 |
mav |
MFC r296510, r296563, r296567: MFV r296505: 6531 Provide mechanism to artificially limit disk performance
Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Prakash Surya <prakash.surya@delphix.com>
illumos/illumos-gate@97e81309571898df9fdd94aab1216dfcf23e060b |
297105 |
21-Mar-2016 |
mav |
MFC r295047: MFV 295046: 6358 A faulted pool with only unavailable vdevs triggers assertion failure in libzfs
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Andrew Stormont <andyjstormont@gmail.com> Reviewed by: Serban Maduta <serban.maduta@gmail.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Dan Vatca <dan.vatca@gmail.com>
illumos/illumos-gate@b289d045e084af53efcc025255af8242e41f28fa |
297103 |
21-Mar-2016 |
mav |
MFC r294817: MFV r294816: 4986 receiving replication stream fails if any snapshot exceeds refquota
Reviewed by: John Kennedy <john.kennedy@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Gordon Ross <gordon.ross@nexenta.com> Author: Dan McDonald <danmcd@omniti.com>
illumos/illumos-gate@5878fad70d76d8711f6608c1f80b0447601261c6 |
297102 |
21-Mar-2016 |
mav |
MFC r294815: MFV r294814: 6393 zfs receive a full send as a clone
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Paul Dagnelie <pcd@delphix.com>
illumos/illumos-gate@68ecb2ec930c4b0f00acaf8e0abb2b19c4b8b76f
This allows to do a full (non-incremental send) and receive it as a clone of an existing dataset. It can leverage nopwrite to share blocks with the origin. This can be used to change the relationship of datasets on the target. For example, maybe on the source you have:
A ---- B ---- C
And you have sent to the target a full of B, and the incremental B->C:
B ---- C
You later realize that you want to have A on the target. You will have to do a full send of A, but nopwrite can save you space on the target if you receive it as a clone of B, assuming that A and B have some blocks inxi common:
B ---- C \ A |
297089 |
20-Mar-2016 |
mav |
MFC r292653 (by bapt): Report an error if zdb cannot initialize zfs
If the zfs module is not present and not loadable, report an error to the user instead of crashing
Differential Revision: https://reviews.freebsd.org/D4691 |
297088 |
20-Mar-2016 |
mav |
MFC r291637 (by bdrewery): Fix the build for non-amd64. |
297078 |
20-Mar-2016 |
mav |
MFC r274304 (by delphij): MFV r274272 and diff reduction with upstream.
Illumos issue: 5244 zio pipeline callers should explicitly invoke next stage |
297077 |
20-Mar-2016 |
mav |
MFC r277300 (by smh): Mechanically convert cddl sun #ifdef's to illumos
Since the upstream for cddl code is now illumos not sun, mechanically convert all sun #ifdef's to illumos #ifdef's which have been used in all newer code for some time.
Also do a manual pass to correct the use if #ifdef comments as per style(9) as well as few uses of #if defined(__FreeBSD__) vs #ifndef illumos. |
296436 |
07-Mar-2016 |
dim |
MFC r295844:
Fix "invalid type '(null)'" usage messages in zfs(8) and zpool(8).
Currently, zfs(8) and zpool(8) print "invalid type '(null)'" or similar messages, if you pass in invalid types, sources or column names for "zfs get", "zfs list" and "zpool get". This is because the commands use getsubopt(3), and in case of failure, they print 'value', which is NULL when sub options don't match.
They should print 'suboptarg' instead, which is the documented way to get at the non-matching sub option value.
Reviewed by: smh Differential Revision: https://reviews.freebsd.org/D5365 |
291196 |
23-Nov-2015 |
smh |
MFC r291071:
Fix zfs(8) set options
Sponsored by: Multiplay |
290767 |
13-Nov-2015 |
mav |
Fix build on stable/10. |
290765 |
13-Nov-2015 |
mav |
MFC r289562: 6328 Fix cstyle errors in zfs codebase
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Alex Reece <alex@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Reviewed by: Jorgen Lundman <lundman@lundman.net> Approved by: Robert Mustacchi <rm@joyent.com> Author: Paul Dagnelie <pcd@delphix.com>
illumos/illumos-gate@9a686fbc186e8e2a64e9a5094d44c7d6fa0ea167 |
290764 |
13-Nov-2015 |
mav |
MFC r289536: 5767 fix several problems with zfs test suite
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Approved by: Gordon Ross <gwr@nexenta.com> Author: John Wren Kennedy <john.kennedy@delphix.com>
illumos/illumos-gate@52244c0958bdf281ca42932b449f644b4decfdc2
In fact, only unrelated part of that commit is applicable: 8. zpool list -v doesn't print spares It also doesn't correctly identify log devices. |
290763 |
13-Nov-2015 |
mav |
MFC r289531: 5847 libzfs_diff should check zfs_prop_get() return
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Albert Lee <trisk@omniti.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Alexander Eremin <a.eremin@nexenta.com>
illumos/illumos-gate@8430278980a48338e04c7dd52b495b7f1551367a |
290762 |
13-Nov-2015 |
mav |
MFC r289528: Reduce diff from upstream.
Should be no functional change. |
290761 |
13-Nov-2015 |
mav |
MFC r289527: 5561 support root pools on EFI/GPT partitioned disks 5125 update zpool/libzfs to manage bootable whole disk pools (EFI/GPT labeled disks)
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com> Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
illumos/illumos-gate@1a902ef8628b0dffd6df5442354ab59bb8530962
This is NOP changes for FreeBSD. |
290760 |
13-Nov-2015 |
mav |
MFC r289500: 6298 zfs_create_008_neg and zpool_create_023_neg need to be updated for large block support.
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Joe Stein <joe.stein@delphix.com>
illumos/illumos-gate@e9316f7696401f3e5e263a5939031cb8d5641a88 |
290759 |
13-Nov-2015 |
mav |
MFC r289499: Update vendor/illumos/dist and vendor-sys/illumos/dist to illumos-gate 13967:92bec6d87f59
Illumos ZFS issues: 3557 dumpvp_size is not updated correctly when a dump zvol's size is changed 3558 setting the volsize on a dump device does not return back ENOSPC 3559 setting a volsize larger than the space available sometimes succeeds |
290758 |
13-Nov-2015 |
mav |
MFC r289497: 5745 zfs set allows only one dataset property to be set at a time
Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Reviewed by: Richard PALO <richard@NetBSD.org> Reviewed by: Steven Hartland <killing@multiplay.co.uk> Approved by: Rich Lowe <richlowe@richlowe.net> Author: Chris Williamson <chris.williamson@delphix.com>
illumos/illumos-gate@30925561c223021e91d15899cbe75f80e54d8889 |
290757 |
13-Nov-2015 |
mav |
MFC r289422: 4185 add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Approved by: Garrett D'Amore <garrett@damore.org> Author: Matthew Ahrens <mahrens@delphix.com>
illumos/illumos-gate@45818ee124adeaaf947698996b4f4c722afc6d1f
This is only a partial merge of respective ZFS infrastructure changes. At this moment FreeBSD kernel has no those crypto algorithms, so the parts of the code to enable them are commented out. When they are implemented, it will be trivial to plug them in. |
290756 |
13-Nov-2015 |
mav |
MFC r289362, r289445: 2605 want to resume interrupted zfs send
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Reviewed by: Xin Li <delphij@freebsd.org> Reviewed by: Arne Jansen <sensille@gmx.net> Approved by: Dan McDonald <danmcd@omniti.com> Author: Matthew Ahrens <mahrens@delphix.com>
illumos/illumos-gate@9c3fd1216fa7fb02cfbc78a2518a686d54b48ab8
For more info, see: - slides http://www.slideshare.net/MatthewAhrens/openzfs-send-and-receive - video https://www.youtube.com/watch?v=iY44jPMvxog - manpage changes (for zfs resume -s and zfs send -t) - upcoming talk at the OpenZFS Developer Summit
The TL;DR is: Use "zfs receive -s" to save the partially received state on failure. On failure, get the receive token with "zfs get receive_resume_token <fs>" Resume the send with "zfs send -t <token_value>"
Relnotes: yes |
290755 |
13-Nov-2015 |
mav |
MFC r289313: 5764 "zfs send -nv" directs output to stderr
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <paul.dagnelie@delphix.com> Reviewed by: Basil Crow <basil.crow@delphix.com> Reviewed by: Steven Hartland <killing@multiplay.co.uk> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Manoj Joseph <manoj.joseph@delphix.com>
illumos/illumos-gate@dc5f28a3c341db7c241bba77ddc109c141072f27 |
290738 |
13-Nov-2015 |
markj |
MFC r289866: DWARF emitted by clang 3.7 encodes array sizes using the DW_AT_count attribute rather than DW_AT_upper_bound. Teach ctfconvert about this so that array type sizes are encoded correctly.
PR: 203772 |
289813 |
23-Oct-2015 |
avg |
MFC r288339: remove unused sgsmsg utility (originally imported from opensolaris) |
289805 |
23-Oct-2015 |
avg |
MFC r288340: define aok in libnvpair which is linked to all zfs libraries that need aok |
289801 |
23-Oct-2015 |
avg |
MFC r288337: remove an extra copy of avl.c from illumos contrib code |
289468 |
17-Oct-2015 |
markj |
MFC r272455: Have dtrace(1) handle SIGPIPE, and handle signals when in list mode (-l). In particular, make sure to detach from child processes before exiting. |
288598 |
03-Oct-2015 |
mav |
MFC r287771: 5695 dmu_sync'ed holes do not retain birth time (userland portion that was not merged in r286677)
Update zdb to also print ltime, type, and level information for these new style holes. Previously, only the logical birth time would be printed. |
288595 |
03-Oct-2015 |
mav |
MFV r287703, r287705 (by delphij): 6091 avl_add doesn't assert on non-debug builds
Use assfail() from libuutil instead of ASSERT() in userland AVL avl_add.
illumos/illumos-gate@faa2b6be2fc102adf9ed584fc1a667b4ddf50d78
Illumos issues:
6091 avl_add doesn't assert on non-debug builds https://www.illumos.org/issues/6091 |
288593 |
03-Oct-2015 |
mav |
MFC r287335 (by allanjude): Remove duplicate defines introduced in initial ZFS import (r168404)
This change reduces compiler warnings by removing duplicate defines
Line numbers are from r168404 (and r284648) #define lbolt: lines 384 and 459 (531 and 648) (original was renamed later) #define lbolt64: lines 385 and 460 (532 and 649) (original was renamed later) #define gethrestime_sec: lines 390 and 465 (540 and 653) uint64_t physmem: lines 402 and 463 (561 and 651) |
288572 |
03-Oct-2015 |
mav |
MFC r286708: 5959 clean up per-dataset feature count code
Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: George Wilson <george@delphix.com> Reviewed by: Alex Reece <alex@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Matthew Ahrens <mahrens@delphix.com>
illumos/illumos-gate@ca0cc3918a1789fa839194af2a9245f801a06b1a
A ZFS feature flags (large blocks) tracks its refcounts as the number of datasets that have ever used the feature. Several features of this type are planned to be added (new checksum functions). This code should be made common infrastructure rather than duplicating the code for each feature. |
288571 |
03-Oct-2015 |
mav |
MFC r286705: 5960 zfs recv should prefetch indirect blocks 5925 zfs receive -o origin=
Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Author: Paul Dagnelie <pcd@delphix.com>
While running 'zfs recv' we noticed that every 128th 8K block required a read. We were seeing that restore_write() was calling dmu_tx_hold_write() and the indirect block was not cached. We should prefetch upcoming indirect blocks to avoid having to go to disk and blocking the restore_write().
Allow an incremental send stream to be received as a clone, even if the stream does not mark it as a clone. |
288568 |
03-Oct-2015 |
mav |
MFC r286683: 5765 add support for estimating send stream size with lzc_send_space when source is a bookmark
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: Steven Hartland <killing@multiplay.co.uk> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Approved by: Albert Lee <trisk@nexenta.com> Author: Max Grossman <max.grossman@delphix.com>
illumos/illumos-gate@643da460c8ca583e39ce053081754e24087f84c8 |
288559 |
03-Oct-2015 |
mav |
MFC r286603: 5810 zdb should print details of bpobj
Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Alex Reece <alex@delphix.com> Reviewed by: George Wilson <george@delphix.com> Reviewed by: Will Andrews <will@freebsd.org> Reviewed by: Simon Klinkert <simon.klinkert@gmail.com> Approved by: Gordon Ross <gwr@nexenta.com> Author: Matthew Ahrens <mahrens@delphix.com>
illumos/illumos-gate@732885fca09e11183dd0ea69aaaab5588fb7dbff |
288553 |
03-Oct-2015 |
mav |
MFC r286587: 5746 more checksumming in zfs send
Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Approved by: Albert Lee <trisk@omniti.com> Author: Matthew Ahrens <mahrens@delphix.com>
illumos/illumos-gate@98110f08fa182032082d98be2ddb9391fcd62bf1 |
288542 |
03-Oct-2015 |
mav |
MFC r286547: 5661 ZFS: "compression = on" should use lz4 if feature is enabled
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Xin LI <delphij@freebsd.org> Approved by: Robert Mustacchi <rm@joyent.com> Author: Justin T. Gibbs <justing@spectralogic.com>
illumos/illumos-gate@db1741f555ec79def5e9846e6bfd132248514ffe |
288346 |
28-Sep-2015 |
delphij |
MFC r287770: MFV r277429:
Document -S option when zfs inherit fails on quota and in manual pages.
Illumos ZFS issues:
5410 Document -S option to zfs inherit https://illumos.org/issues/5410
5412 Mention -S option when zfs inherit fails on quota https://illumos.org/issues/5412
illumos/illumos-gate@5ff8cfa92ec8ea0f8593ad21aa2a04829b0ef5ea |
287639 |
11-Sep-2015 |
markj |
MFC r274569, r276848, r287234: Only compare visitation counters if they've both been set for the current type graph walk. |
287226 |
27-Aug-2015 |
markj |
MFC r286169: Perform bounds checking when constructing a format string.
PR: 201657 |
287184 |
27-Aug-2015 |
delphij |
MFC r286737:
Plug a memory leak. |
286235 |
03-Aug-2015 |
gjb |
MFC r286092: Fix a rendering issue in the zfs(8) manual.
Sponsored by: The FreeBSD Foundation |
285001 |
01-Jul-2015 |
avg |
MFC r284304: MFV r284030: 5818 zfs {ref}compressratio is incorrect with 4k sector size
Note: no MFC to stable/9 because r268075 (vendor r267565) has not been MFC-ed. |
284998 |
01-Jul-2015 |
avg |
MFC r284297: several lockstat improvements |
284805 |
25-Jun-2015 |
avg |
MFC r284308: MFV r284042: 1778 Assertion failed: rn->rn_nozpool == B_FALSE |
284754 |
24-Jun-2015 |
avg |
MFC r284309: zfs clone should not mount the clone if canmount == noauto |
284132 |
07-Jun-2015 |
markj |
MFC r282739: ctf_add_type(): when looking up an integer or floating point type in the list of pending dynamic type definitions, a match on the type name is not sufficient - we need to compare the type encodings as well. For example, bitfields have their own distinct type definitions which share the name of the underlying integer type, and these types aren't generally interchangeable.
This bug was causing the following libdtrace error when attempting to trace the th_flags member of a struct tcphdr: cg: bad field: off 104 type <32877> bits 539620016 |
284131 |
07-Jun-2015 |
markj |
MFC r283025: As dtrace(1) processes D libraries under /usr/lib/dtrace, the compiler may return an error if one of the depends_on directives in a library is not satisfied. In this case, libdtrace is supposed to ignore the library and carry on. However, the remainder of the library may still be buffered by the lexer, causing libdtrace to erroneously continue processing it on the next call to yyparse(). Fix this by explicitly flushing the input buffer each time the compiler state is reset. |
282751 |
11-May-2015 |
avg |
MFC r282121: dump_nvlist: handle DATA_TYPE_BOOLEAN_ARRAY |
281474 |
12-Apr-2015 |
markj |
MFC r279862: Fix a possible infinite loop in ctf_discard().
MFC r279864: Use CTF_TYPE_TO_INDEX when comparing type indices to the dynamic type threshold.
MFC r279869: If the destination container contains only a forward declaration for the input type in ctf_add_type(), search its dynamic type list before adding a new type. |
281473 |
12-Apr-2015 |
markj |
MFC r280882: Fix a misparenthesization that could cause a crash if TERM is not set. |
281472 |
12-Apr-2015 |
markj |
MFC r278114: libdtrace: Let the standard deviation of the empty set be 0.
PR: 197260 |
280201 |
18-Mar-2015 |
markj |
MFC r280125: Add a missing format string argument.
PR: 197391 |
279942 |
13-Mar-2015 |
delphij |
MFC r279366:
Set altroot if the user have specified it via -o altroot. |
278177 |
04-Feb-2015 |
delphij |
MFC r277433: MFV r277432:
Plug various memory leaks in libzfs import implementation.
Illumos issue: 5518 Memory leaks in libzfs import implementation |
277906 |
30-Jan-2015 |
smh |
MFC r277239: Eliminate illumos whole disk special case when searching for a ZFS vdev
Sponsored by: Multiplay |
277905 |
30-Jan-2015 |
smh |
MFC r276446: Use the correct state name for unavailable pools in zpool list
Sponsored by: Multiplay |
277757 |
26-Jan-2015 |
smh |
MFC r276226: Enhancements to zpool upgrade processing
Sponsored by: Multiplay |
277628 |
24-Jan-2015 |
smh |
MFC r276194: Prevent zpool upgrade failing due to unavailable pools
Sponsored by: Multiplay |
277589 |
23-Jan-2015 |
delphij |
MFC r275552: MFV r260710 + 275532:
Add a new method, nvlist_print_json to allow libnvpair to emit JSON. |
277587 |
23-Jan-2015 |
delphij |
MFC r275812: MFV r275784:
Plug a memory leak in libzfs. In zfs_iter_bookmarks, an nvlist is allocated before calling lzc_get_bookmarks, which allocates the nvlist again (and overwrites the pointer to previously allocated list).
Illumos issue: 5427 memory leak in libzfs when doing rollback |
277586 |
23-Jan-2015 |
delphij |
MFC r275811: MFV r275783:
Convert ARC flags to use enum. Previously, public flags are defined in arc.h and private flags are defined in arc.c which can lead to confusion and programming errors.
Consistently use 'hdr' (when referencing arc_buf_hdr_t) instead of 'buf' or 'ab' because arc_buf_t are often named 'buf' as well.
Illumos issue: 5369 arc flags should be an enum 5370 consistent arc_buf_hdr_t naming scheme |
277585 |
23-Jan-2015 |
delphij |
MFC r275782: MFV r275551:
Remove "dbuf phys" db->db_data pointer aliases.
Use function accessors that cast db->db_data to the appropriate "phys" type, removing the need for clients of the dmu buf user API to keep properly typed pointer aliases to db->db_data in order to conveniently access their data.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c: In zap_leaf() and zap_leaf_byteswap, now that the pointer alias field l_phys has been removed, use the db_data field in an on stack dmu_buf_t to point to the leaf's phys data.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: Remove the db_user_data_ptr_ptr field from dbuf and all logic to maintain it.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c: Modify the DMU buf user API to remove the ability to specify a db_data aliasing pointer (db_user_data_ptr_ptr).
cddl/contrib/opensolaris/cmd/zdb/zdb.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h: Create and use the new "phys data" accessor functions dsl_dir_phys(), dsl_dataset_phys(), zap_m_phys(), zap_f_phys(), and zap_leaf_phys().
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h: Remove now unused "phys pointer" aliases to db->db_data from clients of the DMU buf user API.
Illumos issue: 5314 Remove "dbuf phys" db->db_data pointer aliases in ZFS |
277580 |
23-Jan-2015 |
delphij |
MFC r275739: MFV r275547:
Port Illumos 'zfs allow' examples update. While I'm there also fix a typo.
Illumos issue: 4181 zfs(1m): 'zfs allow' examples in the man page are outdated |
277578 |
23-Jan-2015 |
delphij |
MFC r274418 (gjb):
Fix an mdoc(7) macro that is not an option in the provided description.
Bump Dd.
As CDDL License dictates, update the Copyright accordingly.
Sponsored by: The FreeBSD Foundation |
277552 |
23-Jan-2015 |
delphij |
MFC r275579: MFV r275537:
Illumos issue: 5316 allow smbadm join to use RPC
(Due to our lack of smbsrv this is mostly no-op on FreeBSD) |
277551 |
23-Jan-2015 |
delphij |
MFC r275563: MFV r275536:
Illumos issue: 3363 Mark non-returning functions in ctftools |
276732 |
06-Jan-2015 |
markj |
MFC r276250: DOF tables are aligned according to the DOF section's alignment constraint, so take this into account when iterating over DOF tables.
PR: 195555 |
276267 |
26-Dec-2014 |
markj |
MFC r272671: Treat D keywords as identifiers in certain postfix expressions. This allows one to, for example, access the "provider" field of a struct g_consumer, even though "provider" is a D keyword.
PR: 169657 |
276265 |
26-Dec-2014 |
markj |
MFC r275011: The module load address always needs to be included when setting the dm_*_va fields of dt_module_t. Previously, this was only done on architectures where kernel modules have type ET_REL; this change fixes that. As a result, symbol name resolution in the stack() action now works properly for kernel modules on i386. |
276081 |
22-Dec-2014 |
delphij |
MFC r274337,r274673,274681,r275515:
ZFS large block support. The default recordsize remains at 128KB.
A new tunable/sysctl variable, vfs.zfs.max_recordsize is added to allow adjusting the permitted maximum record size, or zfs_max_recordsize, with a default of 1MB. ZFS will not allow setting recordsize greater than zfs_max_recordsize as a safety belt, because larger recordsize means greater read and write latency and more memory usage.
Please note that booting from datasets that have recordsize greater than 128KB is not supported (but it's Okay to enable the feature on the pool).
Limited safety belt is provided for mounted root filesystem but use caution when using a larger value.
Illumos issue: 5027 zfs large block support |
275516 |
05-Dec-2014 |
markj |
MFC r271695: Fix some incorrect endianness checks. |
275488 |
04-Dec-2014 |
delphij |
MFC r274276: MFV r274271:
Improve zdb -b performance:
- Reduce gethrtime() call to 1/100th of blkptr's; - Skip manipulating the size-ordered tree; - Issue more (10, previously 3) async reads; - Use lighter weight testing in traverse_visitbp();
Illumos issue: 5243 zdb -b could be much faster |
275486 |
04-Dec-2014 |
delphij |
MFC r274303:
Apply upstream 13597:3eac1e8e0f4c (git: illumos-gate@aa846ad9):
Initialize tqent_flags in the userland taskq implementation. Without this the assertion of tq->tq_freelist != NULL may fail in taskq_destroy.
The problem is that tqent_flags is never initialized in the userland implementation while the kernel one does initialize it. Without proper initialization, the flag may have its lowest bit set, making it treated as TQENT_FLAG_PREALLOC and never removing taskq_ent_t from tq_freelist. |
274472 |
13-Nov-2014 |
smh |
MFC r264852
Silence compiler warning
Sponsored by: Multiplay |
273595 |
24-Oct-2014 |
markj |
MFC r258902: The uaddr, ufunc, umod and usym functions all seem to work as expected on FreeBSD, so stop hiding them behind a "#if defined(sun)". |
273508 |
23-Oct-2014 |
delphij |
MFC r272806: MFV r272802:
- Limit ARC for zdb at 256MB. zdb do not typically revisit data in the ARC. - Increase default max_inflight from 200 to 1000 (can be overriden by -I) so we can queue more I/Os when doing scrubbing. - Print status while loading meataslabs for leak detection.
Illumos issues:
5169 zdb should limit its ARC size 5170 zdb -c should create more scrub i/os by default 5171 zdb should print status while loading metaslabs for leak detection |
273349 |
20-Oct-2014 |
delphij |
MFC r272599: MFV r272588:
Handle old format deadlist.
Illumos issue: 5178 zdb -vvvvv on old-format pool fails in dump_deadlist() |
273348 |
20-Oct-2014 |
delphij |
MFC r272598: MFV r272585:
Split the godfather zio into CPU number's to reduce lock contention.
Illumos issue: 5176 lock contention on godfather zio |
273058 |
13-Oct-2014 |
delphij |
MFC r272502: MFV r272493:
Show individual disk capacity when doing zpool list -v.
Illumos issue: 5147 zpool list -v should show individual disk capacity |
272690 |
07-Oct-2014 |
avg |
MFC r261893: zfs.8: fix garbled options in a sample zfs send -R command line |
272688 |
07-Oct-2014 |
avg |
MFC r261892: zpool.8: fix typo in option description of labelclear command |
272453 |
02-Oct-2014 |
delphij |
MFC r271527: MFV r271511:
Use fnvlist_* to make code more readable.
Illumos issue: 5135 zpool_find_import_cached() can use fnvlist_*
Approved by: re (gjb) |
272136 |
25-Sep-2014 |
delphij |
MFC r271227: MFV r271225:
Iterate through all the children instead of returning error when we hit the first error. This makes the error message give more information rather than just the first device that causes problem.
Illumos issue: 5118 When verifying or creating a storage pool, error messages only show one device
Approved by: re (gjb) |
272063 |
24-Sep-2014 |
smh |
MFC r271934: Output boot code warning when zpool upgrade -a is used to add features.
PR: 188328 Approved by: re (marius) Sponsored by: Multiplay |
271390 |
10-Sep-2014 |
delphij |
MFC r271222:
Fix typo.
Submitted by: Dmitry Morozovsky <marck rinet ru> Approved by: re (gjb) |
270214 |
20-Aug-2014 |
markj |
MFC r269524: Preserve the errno value of an ioctl before calling free(3). Previously, errno was very occasionally being clobbered, resulting in a bogus error from dt_consume() and thus an error from dtrace(1). |
270126 |
18-Aug-2014 |
delphij |
MFC r269430: MFV r269426:
Double test device size for ztest(1).
Illumos issue: 5039 ztest should default to larger device sizes Author: Matthew Ahrens <mahrens@delphix.com> |
270030 |
16-Aug-2014 |
pfg |
MFC r267875:
4251 libdtrace leaks open file handles
Illumos commit: 93ed8d0d4b068b95d0bb50d57bb854df462a8485 (partial) Reference: https://www.illumos.org/issues/4251
Discussed with: Robert Mustacchi Obtained from: Illumos |
269986 |
14-Aug-2014 |
markj |
MFC r257877: Don't try to use the 32-bit drti.o unless the data model is explicitly set to ILP32. Otherwise dtrace -G will attempt to use it on amd64 if it can't determine which data model to use, which happens when -64 is omitted and no object files are provided, e.g. with
# dtrace -G -n BEGIN
This would result in a linker error, but now works properly.
Also remove an unnecessary #ifdef. |
269912 |
13-Aug-2014 |
rpaulo |
MFC r269776 Remove the BROKEN_LIBELF section. |
269845 |
12-Aug-2014 |
delphij |
MFC r269229,269404,269466: MFV r269223:
Change dn->dn_dbufs from linked list to AVL tree.
Illumos issues: 4873 zvol unmap calls can take a very long time for larger datasets |
269773 |
10-Aug-2014 |
delphij |
MFC r269118: MFV r269010:
Import Illumos changes to address the following Illumos issues: 4976 zfs should only avoid writing to a failing non-redundant top-level vdev 4978 ztest fails in get_metaslab_refcount() 4979 extend free space histogram to device and pool 4980 metaslabs should have a fragmentation metric 4981 remove fragmented ops vector from block allocator 4982 space_map object should proactively upgrade when feature is enabled 4984 device selection should use fragmentation metric |
269736 |
08-Aug-2014 |
delphij |
MFC r269100:
Diff reduction against Illumos. |
269735 |
08-Aug-2014 |
delphij |
MFC r268621 (smh) + r268625:
Don't report non-native block-size pools under zpool status -x
zpool status -x is used to identify pools that are exhibiting errors or are otherwise unavailable, therefore non-native block-size pools shouldn't be reported.
Also update man page to clarify other additional conditions which won't cause a pool to be displayed under zpool status -x.
Sponsored by: Multiplay |
269734 |
08-Aug-2014 |
delphij |
MFC the cddl/contrib/opensolaris/cmd/zpool portion of r267803 (joel):
mdoc: remove superfluous paragraph macros. |
269724 |
08-Aug-2014 |
markj |
MFC r265631: Re-apply r248644. This fixes an annoying problem which caused dtrace -c to fail to attach to stripped binaries. With the _r_debug_postinit symbol, dtrace(1) can now set a breakpoint in the victim process after it has registered its DOF table(s) with the kernel. r_debug_state cannot be used for this purpose since it is called before DOF is made available, in which case dtrace(1) cannot create USDT probes before the program begins execution. |
269520 |
04-Aug-2014 |
markj |
MFC r256571: Add a function, memstr, which can be used to convert a buffer of null-separated strings to a single string. This can be used to print the full arguments of a process using execsnoop (from the DTrace toolkit) or with the following one-liner:
dtrace -n 'syscall::execve:return {trace(curpsinfo->pr_psargs);}'
Note that this relies on the process arguments being cached via the struct proc, which means that it will not work for argvs longer than kern.ps_arg_cache_limit. However, the following rather non-portable script can be used to extract any argv at exec time:
fbt::kern_execve:entry { printf("%s", memstr(args[1]->begin_argv, ' ', args[1]->begin_envv - args[1]->begin_argv)); }
The debug.dtrace.memstr_max sysctl limits the maximum argument size to memstr(). |
269416 |
02-Aug-2014 |
delphij |
MFC r268855: MFV r268848:
Instead of asserting all zio's be properly aligned, only assert on the logical ones.
Cap uberblocks at 8k, otherwise with ashift=17, there would be only one uberblock.
This fixes a problem that zdb would trip assert on pools with ashift >= 0xe (8k).
While there, also change the code so it only attempt to condense space map unless the uncondensed size consumes greater than zfs_metaslab_condense_block_threshold blocks.
Illumos issue: 4958 zdb trips assert on pools with ashift >= 0xe |
269263 |
29-Jul-2014 |
markj |
MFC r264486: Use the correct format specifiers for wide characters and strings of wide characters. |
269245 |
29-Jul-2014 |
markj |
MFC r262669: When our linker merges .SUNW_dof sections from multiple files, it simply concatenates the DOF tables into one section. Previously, the USDT init code in drti.o would only look at the first table in the DOF section; with this change, it iterates over all the tables, passing each DOF table to the kernel.
PR: 186821 |
269219 |
29-Jul-2014 |
delphij |
MFC r268720: MFV r268714:
Improve extreme rewind import.
When doing an "extreme rewind" import ("zpool import -XF"), we attempt to verify all data in the pool, essentially scrubbing the entire pool. The problem is that spa_load_verify_cb() issues an unbounded number of concurrent scrub i/os. This can lead to all of memory being used for these zio's, wedging the system. Like normal scrub, we need to put a cap on the number of outstanding i/os, and have the traverse thread block when we reach this cap.
For this purpose the cap can be very large (10,000) to optimize the elevator algorithm. Three kernel tunables have been added:
vfs.zfs.spa_load_verify_maxinflight vfs.zfs.spa_load_verify_metadata vfs.zfs.spa_load_verify_data
The latter two tunables controls whether metadata and/or user data when doing extreme rewind.
Make 'zpool import -T' imply scrub.
Make zpool import -T <txg> accept hexadecimal values for the txg when prefixed with 0x.
Skip txg's for which there is no uberblock when doing extreme rewind.
Skip reading all user data twice by skipping prefetches when doing extreme rewinds as we do not access via the ARC.
Illumos issues: 4970 need controls on i/o issued by zpool import -XF 4971 zpool import -T should accept hex values 4972 zpool import -T implies extreme rewind, and thus a scrub 4973 spa_load_retry retries the same txg 4974 spa_load_verify() reads all data twice |
269006 |
23-Jul-2014 |
delphij |
MFC r268473: MFV r268455:
Use reserved space for ZFS administrative commands. |
269005 |
23-Jul-2014 |
delphij |
MFC r260156: MFV r260152:
4208 Typo in zfs_main.c: "posxiuser" |
269004 |
23-Jul-2014 |
delphij |
MFC r268470: MFV r268454:
Refresh zpool list for each interval in order to produce fresh output.
Illumos issue: 4966 zpool list iterator does not update output |
269003 |
23-Jul-2014 |
delphij |
MFC r268469: MFV r268453:
Diff reduction against Illumos. |
268786 |
17-Jul-2014 |
delphij |
MFC r268116:
- Fix handling of "new" style of ioctl in compatiblity mode [1]; - Reorganize code and reduce diff from upstream; - Improve forward compatibility shims for previous kernel;
Reported by: sbruno [1] |
268658 |
15-Jul-2014 |
delphij |
MFC r268126: MFV r268121:
4924 LZ4 Compression for metadata |
268657 |
15-Jul-2014 |
delphij |
MFC r268123: MFV r268119:
4914 zfs on-disk bookmark structure should be named *_phys_t |
268656 |
15-Jul-2014 |
delphij |
MFC r268086: MFV r267570:
4756 metaslab_group_preload() could deadlock |
268653 |
15-Jul-2014 |
delphij |
MFC r268084: MFV r267568:
4891 want zdb option to dump all metadata |
268650 |
15-Jul-2014 |
delphij |
MFC r268079: MFV r267566:
4390 i/o errors when deleting filesystem/zvol can lead to space map corruption |
268649 |
15-Jul-2014 |
delphij |
MFC r268075: MFV r267565:
4757 ZFS embedded-data block pointers ("zero block compression") 4913 zfs release should not be subject to space checks |
268648 |
15-Jul-2014 |
delphij |
MFC r260142: MFV r258972:
4373 add block contents print to zstreamdump |
268647 |
15-Jul-2014 |
delphij |
MFC r266771: MFV r266766:
Add a new zfs property, "redundant_metadata" which can have values "all" or "most". The default will be "all", which is the current behavior. When set to all, ZFS stores an extra copy of all metadata. If a single on-disk block is corrupt, at worst a single block of user data (which is recordsize bytes long) can be lost.
Setting to "most" will cause us to only store 1 copy of level-1 indirect blocks of user data files. This can improve performance of random writes, because less metadata has to be written. In practice, at worst about 100 blocks (of recordsize bytes each) of user data can be lost if a single on-disk block is corrupt.
The exact behavior of which metadata blocks are stored redundantly may change in future releases.
Illumos issue: 3835 zfs need not store 2 copies of all metadata |
268645 |
15-Jul-2014 |
delphij |
MFC r267572: MFV r249332 (illumos-gate 14005:55fc53126003)
Illumos ZFS issues: 3654 zdb should print number of ganged blocks |
268578 |
12-Jul-2014 |
rpaulo |
MFC 267929, 267937, 267939, 267940, 267941, 267942, 267987, 268006:
2915 DTrace in a zone should see "cpu", "curpsinfo", et al 2916 DTrace in a zone should be able to access fds[] 2917 DTrace in a zone should have limited provider access 4477 DTrace should speak JSON Add stubs for CTF functions which are not yet implemented. 4474 DTrace Userland CTF Support 4475 DTrace userland Keyword 4476 DTrace tests should be better citizens 4479 pid provider types 4480 dof emulation is missing checks 4471 DTrace count() with histogram 4472 DTrace full width distribution histograms 4473 DTrace frequency trails |
267676 |
20-Jun-2014 |
pfg |
MFC r267513:
Merge from r258379 missed the tests.
4248 dtrace(1M) should never create DOF with empty probes section 4249 Only probes from the first DTrace object file will be included
Illumos Revision: 54a20ab41aadcb81c53e72fc65886e964e9add59 |
266667 |
25-May-2014 |
markj |
MFC r262329: Define the KM_NORMALPRI flag for kmem_alloc(), as it is used in some upstream DTrace code.
MFC r262330: 1452 DTrace buffer autoscaling should be less violent
illumos/illumos-gate@6fb4854bed54ce82bd8610896b64ddebcd4af706 |
266611 |
24-May-2014 |
mav |
MFC r265821: Comment out some pointless device open/close around reading device IDs.
FreeBSD ZFS port unlike OpenSolaris does not use device IDs, and does not implement respective devid_*() fuctions. It is pointless to open devices just to close them back immediately. |
265744 |
09-May-2014 |
delphij |
MFC r264835 (MFV r264829):
3897 zfs filesystem and snapshot limits |
265740 |
09-May-2014 |
delphij |
MFC r264669: MFV r264666:
4374 dn_free_ranges should use range_tree_t
illumos/illumos-gate@bf16b11e8deb633dd6c4296d46e92399d1582df4 |
265678 |
08-May-2014 |
mav |
MFC r264145: Add property and sysctl to control how ZVOLs are exposed to OS.
New ZFS property volmode and sysctl vfs.zfs.vol.mode allow switching ZVOL between three modes: geom -- existing fully functional behavior (default); dev -- exposing volumes only as raw disk device file in devfs; none -- not exposing volumes outside ZFS.
The "dev" mode is less functional (can't be partitioned, mounted, etc), but it is faster, and in some scenarios with untrusted consumers safer. It can be useful for NAS, VM block storages, etc. The "none" mode may be convenient for backup servers, etc. that don't need direct data access.
Due to the way ZVOL is integrated with main ZFS code, those property and sysctl are checked only during pool import and volume creation. |
265650 |
08-May-2014 |
smh |
MFC r264851
Eliminated optarg global being used outside of the function which called getopt
Sponsored by: Multiplay |
265234 |
02-May-2014 |
pfg |
MFC r264040:
4248 dtrace(1M) should never create DOF with empty probes section 4249 Only probes from the first DTrace object file will be included
Illumos Revision: 4a20ab41aadcb81c53e72fc65886e964e9add59
Reference: https://www.illumos.org/issues/4248 https://www.illumos.org/issues/4249
Obtained from: Illumos |
265039 |
28-Apr-2014 |
delphij |
MFC r264467:
Take into account when zpool history block grows exceeding 128KB in zpool(8) and zdb(8) by growing the buffer on demand with a cap of 1GB (specified in spa_history_create_obj()).
PR: bin/186574 Submitted by: Andrew Childs <lorne cons org nz> (with changes) |
264796 |
23-Apr-2014 |
markj |
MFC r262596: 4478 dtrace_dof_maxsize is far too small
illumos/illumos-gate@d339a29bb4765c4b6883a935cf69b669cd05bca0 |
264335 |
11-Apr-2014 |
delphij |
MFC r263889 (MFV r263887):
3993 zpool(1M) and zfs(1M) should support -p for "list" and "get" 4700 "zpool get" doesn't support -H or -o options |
264334 |
11-Apr-2014 |
delphij |
MFC r263459: MFV 263436-263438:
3947 zpool(1M) references nonexistent zfs-features(5) 4540 zpool(1M) man page doesn't describe "readonly" property 3948 zfs sync=default is not accepted 4611 zfs(1M) still mentions 'send -r' in synopsis 4415 zpool(1M) man page missing "import -m" description 4570 Document dedupditto pool property 4572 Dedup-related documentation additions for zpool and zdb. 1371 Add -D option description to zpool(1M) manpage 4571 Add documentation for -T and interval to "zpool list" |
264060 |
03-Apr-2014 |
delphij |
MFC r263385:
Remove unused option -r from zpool.
Submitted by: Richard Yao <ryao gentoo org> |
263915 |
29-Mar-2014 |
dim |
MFC r260880 (by kaiw, from projects/elftoolchain):
* Make die_mem_offset() be able to handle DW_AT_data_member_location attributes generated by Clang 3.4. * Document how different compilers generate DW_AT_data_member_location attributes differently. * Document the quirks about DW_FORM_data[48].
This is a slightly modified version, adapted to work with the old libdwarf in stable/9 and stable/10. It should fix DTrace on these branches, when the kernel is compiled with clang 3.4.
Note that you have to build *and* install the CTF tools first, before building the kernel. Otherwise you can possibly still get error messages similar to "failed to copy type of 'pr_uid': Type information is in parent and unavailable", when attempting to run dtrace(1).
Submitted by: kaiw |
263874 |
28-Mar-2014 |
asomers |
MFC r262912
cddl/contrib/opensolaris/lib/libuutil/common/uu_avl.c Fix a memory leak in uu_avl_pool_create: pthread_mutex_init without a corresponding pthread_mutex_destroy. It shows up, among other places, when doing "zfs list". |
263407 |
20-Mar-2014 |
delphij |
MFC r260183: MFV r260154 + 260182:
4369 implement zfs bookmarks 4368 zfs send filesystems from readonly pools
Illumos/illumos-gate@78f171005391b928aaf1642b3206c534ed644332 |
263405 |
20-Mar-2014 |
delphij |
MFC r259850: MFV r258384:
2583 Add -p (parsable) option to zfs list
illumos/illumos-gate@43d68d68c1ce08fb35026bebfb141af422e7082e |
263403 |
20-Mar-2014 |
delphij |
MFC r256999 (smh):
Added support for the 'zfs list -t snap' and 'zfs snap' aliases which are available under Oracle Solaris 11.
This includes an update to the ZFS(8) man page to reflect all the available alias (snap, umount, and recv).
Initial changes obtained from ZFS On Linux + fixes for man page and cmd help: https://github.com/zfsonlinux/zfs/commit/10b75496bb0cb7a7b8146c263164adc37f1d176a https://github.com/zfsonlinux/zfs/commit/cf81b00a73fe47fdb21586ac1cc179b734540973
Obtained from: https://github.com/zfsonlinux/zfs |
263397 |
19-Mar-2014 |
delphij |
MFC r260150: MFV r259170:
4370 avoid transmitting holes during zfs send
4371 DMU code clean up
illumos/illumos-gate@43466aae47bfcd2ad9bf501faec8e75c08095e4f
NOTE: Make sure the boot code is updated if a zpool upgrade is done on boot zpool. |
263393 |
19-Mar-2014 |
delphij |
MFC r260138: MFV r242733:
3306 zdb should be able to issue reads in parallel 3321 'zpool reopen' command should be documented in the man page and help message
illumos/illumos-gate@31d7e8fa33fae995f558673adb22641b5aa8b6e1
FreeBSD porting notes: the kernel part of this changeset depends on Solaris buf(9S) interfaces and are not really applicable for our use. vdev_disk.c is patched as-is to reduce diverge from upstream, but vdev_file.c is left intact. |
263390 |
19-Mar-2014 |
delphij |
MFC r259813 + r259813: MFV r258374:
4171 clean up spa_feature_*() interfaces
4172 implement extensible_dataset feature for use by other zpool features
illumos/illumos-gate@2acef22db7808606888f8f92715629ff3ba555b9 |
263127 |
14-Mar-2014 |
delphij |
MFC r262577: MFV r262570:
4626 libzfs memleak in zpool_in_use() |
262449 |
24-Feb-2014 |
eadler |
MFC r261774 by feld:
Add caveat to zpool manpage indicating that we do not automatically activate hot spares. This should be MFC'd to all STABLE branches.
Upon the availability of zfsd, the zpool manpage on relevant branches should be updated to remove this caveat and document hot spare's reliance on zfsd.
Requested by: feld |
262104 |
17-Feb-2014 |
avg |
MFC r260811: zdb -R: do not treat numeric parameters to a flag as more flags |
262101 |
17-Feb-2014 |
avg |
MFC r260703: zinject must use ioctl(2) compatibility wrapper |
262093 |
17-Feb-2014 |
avg |
MFC r258717: MFV r258371,r258372: 4101 metaslab_debug should allow for fine-grained control |
262067 |
17-Feb-2014 |
avg |
MFC r261122: dtrace: remove unexplained 16MB limitation from dt_alloc/dt_zalloc |
262060 |
17-Feb-2014 |
markj |
MFC r260051: When clearing relocations to __dtrace* symbols, handle both SHT_REL and SHT_RELA sections properly instead of assuming that the relocation section is of type SHT_REL. |
260763 |
16-Jan-2014 |
avg |
MFC r258632,258704: MFV r255255: 4045 zfs write throttle & i/o scheduler performance work
Sponsored by: HybridCluster [merge] |
260742 |
16-Jan-2014 |
avg |
MFC r258630: 734 taskq_dispatch_prealloc() desired |
260671 |
15-Jan-2014 |
jhibbits |
MFC r258362
Use 'int' to store the return value of getopt(), rather than char.
On some architectures (powerpc), char is unsigned by default, which means comparisons against -1 always fail, so the programs get stuck in an infinite loop. |
260670 |
15-Jan-2014 |
jhibbits |
MFC r256543,r259245,r259421,r259668,r259674
r256543:
Add fasttrap for PowerPC. This is the last piece of the DTrace/ppc puzzle. It's incomplete, it doesn't contain full instruction emulation, but it should be sufficient for most cases.
r259245,r259421: (FBT)
FBT now does work fully on PowerPC.
Save r3 before using it for the trap check, else we end up saving the new r3, containing the trap instruction encoding (0x7c810808), and restoring it back with the frame on return. This caused it to panic on my ppc32 machine.
r259668,r259674: Fix a typo in the FBT code. |
260617 |
14-Jan-2014 |
delphij |
MFC r259811:
MFV r258373:
4168 ztest assertion failure in dbuf_undirty
4169 verbatim import causes zdb to segfa 4170 zhack leaves pool in ACTIVE state
illumos/illumos-gate@7fdd916c474ea52896c671bbe7b56ba34a1ca132 |
260339 |
05-Jan-2014 |
mav |
MFC r259168: Don't even try to read vdev labels from devices smaller then SPA_MINDEVSIZE (64MB). Even if we would find one somehow, ZFS kernel code rejects such devices. It is funny to look on attempts to read 4 256K vdev labels from 1.44MB floppy, though it is not very practical and quite slow. |
259784 |
23-Dec-2013 |
delphij |
MFC r259131:
Don't panic when we get ZPOOL_STATUS_NON_NATIVE_ASHIFT while listing importable pools. |
259073 |
07-Dec-2013 |
peter |
Hoist all the mergeinfo up to the root in preparation for enforcing merges to the root only. All MFC's were rerecorded to the root.
Going forward, if an MFC includes mergeinfo, it will need to be made to the root and committed from the root. Merges with --ignore-ancestry or diff | patch can go anywhere.
The mergeinfo in HEAD is in a bad state from years of neglect and manual tampering and this was branched into 10.x. This confuses the coalescing code and prevents it from doing its job.
Approved by: re (gjb, implicit) |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
256251 |
10-Oct-2013 |
markj |
Convert the dtrace(1) man page to mdoc and fix up some aspects of it that don't make sense on FreeBSD. In particular,
- remove the ATTRIBUTES section, - remove references to the Solaris Dynamic Tracing Guide, except in the SEE ALSO section, - update the description of the -A option for FreeBSD's implementation, - remove references to Solaris-specific programs and configuration files, and replace them with FreeBSD equivalents where possible.
The content has not changed aside from this.
Approved by: re (joel) MFC after: 1 week
|
256110 |
07-Oct-2013 |
rmh |
Fix implicit declaration of jail_getid()
Approved by: re
|
255750 |
21-Sep-2013 |
delphij |
MFV r254750:
Add support of Illumos dumps on zvol over RAID-Z.
Note that this only adds the features. FreeBSD would still need more work to support dumping on zvols.
Illumos ZFS issues: 2932 support crash dumps to raidz, etc. pools
MFC after: 1 month Approved by: re (ZFS blanket)
|
255437 |
10-Sep-2013 |
delphij |
MFV r247844 (illumos-gate 13975:ef6409bc370f)
Illumos ZFS issues: 3582 zfs_delay() should support a variable resolution 3584 DTrace sdt probes for ZFS txg states
Provide a compatibility shim for Solaris's cv_timedwait_hires to help aid future porting.
Approved by: re (ZFS blanket)
|
254941 |
26-Aug-2013 |
pfg |
Merge various CTF fixes from illumos
2942 CTF tools need to handle files which legitimately lack data 2978 ctfconvert still needs to ignore legitimately dataless files on SPARC
Illumos Revisions: 13745:6b3106b4250f 13754:7231b684c18b
Reference:
https://www.illumos.org/issues/2942 https://www.illumos.org/issues/2978
MFC after: 3 weeks
|
254758 |
24-Aug-2013 |
delphij |
MFV r254751:
Don't treat the parameter as a number (pool GUID) when there is error converting it from string, instead, treat it as the pool name.
Illumos ZFS issues: 1765 assert triggered in libzfs_import.c trying to import pool name beginning with a number
|
254755 |
24-Aug-2013 |
delphij |
MFV r254748:
Fix memory leak in libzfs's iter_dependents_cb().
Illumos ZFS issues: 4061 libzfs: memory leak in iter_dependents_cb()
|
254752 |
24-Aug-2013 |
delphij |
MFV r254746:
To quote original Illumos ticket:
libctf thinks that any ELF file containing more than 65536 sections is corrupt, because it doesn't understand the SHN_XINDEX magic.
Illumos DTrace issues: 4005 libctf can't deal with extended sections
|
254744 |
23-Aug-2013 |
delphij |
MFV r254422:
Illumos DTrace issues: 3089 want ::typedef 3094 libctf should support removing a dynamic type 3095 libctf does not validate arrays correctly 3096 libctf does not validate function types correctly
|
254591 |
21-Aug-2013 |
gibbs |
Enhance the ZFS vdev layer to maintain both a logical and a physical minimum allocation size for devices. Use this information to automatically increase ZFS's minimum allocation size for new top-level vdevs to a value that more closely matches the optimum device allocation size.
Use GEOM's stripesize attribute, if set, as the physical sector size of the GEOM.
Calculate the minimum blocksize of each metaslab class. Use the calculated value instead of SPA_MINBLOCKSIZE (512b) when determining the likelyhood of compression yeilding a reduction in physical space usage.
Report devices with sub-optimal block size configuration in "zpool status". Also properly fail attempts to attach devices with a logical block size greater than 8kB, since this will cause corruption to ZFS's label area.
Sponsored by: Spectra Logic Corporaion MFC after: 2 weeks
Background ========== Many modern devices use physical allocation units that are much larger than the minimum logical allocation size accessible by external commands. Two prevalent examples of this are 512e disk drives (512b logical sector, 4K physical sector) and flash devices (512b logical sector, 4K or larger allocation block size, and 128k or larger erase block size). Operations that modify less than the physical sector size result in a costly read-modify-write or garbage collection sequence on these devices.
Simply exporting the true physical sector of the device to ZFS would yield optimal performance, but has two serious drawbacks:
1) Existing pools created with devices that have different logical and physical block sizes, but were configured to use the logical block size (e.g. because the OS version used for pool construction reported the logical block size instead of the physical block size) will suddenly find that the vdev allocation size has increased. This can be easily tolerated for active members of the array, but ZFS would prevent replacement of a vdev with another identical device because it now appears that the smaller allocation size required by the pool is not supported by the new device.
2) The device's physical block size may be too large to be supported by ZFS. The optimal allocation size for the vdev may be quite large. For example, a RAID controller may export a vdev that requires read-modify-write cycles unless accessed using 64k aligned/sized requests. ZFS currently has an 8k minimum block size limit.
Reporting both the logical and physical allocation sizes for vdevs solves these problems. A device may be used so long as the logical block size is compatible with the configuration. By comparing the logical and physical block sizes, new configurations can be optimized and administrators can be notified of any existing pools that are sub-optimal.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h: Add the SPA_ASHIFT constant. ZFS currently has a hard upper limit of 13 (8k) for ashift and this constant is used to both document and enforce this limit.
sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h: Add the VDEV_AUX_ASHIFT_TOO_BIG error code.
Add fields for exporting the configured, logical, and physical ashift to the vdev_stat_t structure.
Add VDEV_STAT_VALID() macro which can be used to verify the presence of required vdev_stat_t fields in nvlist data.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c: Provide a SYSCTL_PROC handler for "max_auto_ashift". Since the limit is only referenced long after boot when a create operation occurs, there's no compelling need for it to be a boot time configurable tunable. This also allows the validation code for the max_auto_ashift value to be contained within the sysctl handler.
Populate the new fields in the vdev_stat_t structure.
Fail vdev opens if the vdev reports an ashift larger than SPA_MAXASHIFT.
Propogate vdev_logical_ashift and vdev_physical_ashift between child and parent vdevs as is done for vdev_ashift.
In vdev_open(), restore code that fails opens for devices where vdev_ashift grows. This can only happen now if the device's logical ashift grows, which means it really isn't safe to use the device.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c: Update the vdev_open() API so that both logical (what was just ashift before) and physical ashift are reported.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h: Add two new fields, vdev_physical_ashift and vdev_logical_ashift, to vdev_t.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c: Add vdev_ashift_optimize(). Call it anytime a new top-level vdev is allocated.
cddl/contrib/opensolaris/cmd/zpool/zpool_main.c: Add text for the VDEV_AUX_ASHIFT_TOO_BIG error.
For each sub-optimally configured leaf vdev, report configured and native block sizes.
cddl/contrib/opensolaris/cmd/zpool/zpool_main.c: cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h: cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c: Introduce a new zpool status: ZPOOL_STATUS_NON_NATIVE_ASHIFT. This status is reported on healthy pools containing vdevs configured to use a block size smaller than their reported physical block size.
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c: Update find_vdev_problem() and supporting functions to provide the full vdev_stat_t structure to problem checking routines, and to allow decent into replacing vdevs.
Add a vdev_non_native_ashift() validator which is used on the full vdev tree to check for ZPOOL_STATUS_NON_NATIVE_ASHIFT.
cddl/contrib/opensolaris/lib/libzpool/common/kernel.c: cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h: Enhance sysctl userland stubs now that a SYSCTL_PROC handler is used in vdev.c.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h: When the group membership of a metaslab class changes (i.e. when a vdev is added or removed from a pool), walk the group list to determine the smallest block size currently available and record this in the metaslab class.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c: Add the metaslab_class_get_minblocksize() accessor.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c: In zio_compress_data(), take the minimum blocksize as an input parameter instead of assuming SPA_MINBLOCKSIZE.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c: In l2arc_compress_buf(), pass SPA_MINBLOCKSIZE as the minimum blocksize of the device. The l2arc code performs has it's own code for deciding if compression is worth while, so this effectively disables zio_compress_data() from second guessing the original decision.
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c: In zio_write_bp_init(), use the minimum blocksize of the normal metaslab class when compressing data.
|
254587 |
21-Aug-2013 |
delphij |
MFV r254421:
Illumos ZFS issues: 3996 want a libzfs_core API to rollback to latest snapshot
|
254197 |
10-Aug-2013 |
rpaulo |
Load the dtraceall module if /dev/dtrace/dtrace doesn't exist.
MFC after: 3 days
|
254112 |
08-Aug-2013 |
delphij |
MFV r254079:
Illumos ZFS issues: 3957 ztest should update the cachefile before killing itself 3958 multiple scans can lead to partial resilvering 3959 ddt entries are not always resilvered 3960 dsl_scan can skip over dedup-ed blocks if physical birth != logical birth 3961 freed gang blocks are not resilvered and can cause pool to suspend 3962 ztest should print out zfs debug buffer before exiting
|
254077 |
07-Aug-2013 |
delphij |
MFV r254071:
Fix a regression introduced by fix for Illumos bug #3834. Quote from Matthew Ahrens on the Illumos issue:
ztest fails this assertion because ztest_dmu_read_write() does dmu_tx_hold_free(tx, bigobj, bigoff, bigsize); and then dmu_object_set_checksum(os, bigobj, (enum zio_checksum)ztest_random_dsl_prop(ZFS_PROP_CHECKSUM), tx);
If the region to free is past the end of the file, the DMU assumes that there will be nothing to do for this object. However, ztest does set_checksum(), which must modify the dnode. The fix is for ztest to also call
dmu_tx_hold_bonus(tx, bigobj);
so we can account for the dirty data associated with setting the checksum
Illumos ZFS issues: 3955 ztest failure: assertion refcount_count(&tx->tx_space_written) + delta <= tx->tx_space_towrite
|
254074 |
07-Aug-2013 |
delphij |
MFV r254070:
Merge vendor bugfix for ZFS test suite that triggers false positives.
Illumos ZFS issues: 3949 ztest fault injection should avoid resilvering devices 3950 ztest: deadman fires when we're doing a scan 3951 ztest hang when running dedup test 3952 ztest: ztest_reguid test and ztest_fault_inject don't place nice together
|
253930 |
04-Aug-2013 |
rmh |
Fix implicit declaration of warnx().
|
253819 |
30-Jul-2013 |
delphij |
MFV r253781 + r253871:
Illumos ZFS issues: 3894 zfs should not allow snapshot of inconsistent dataset
MFC after: 2 weeks
|
253818 |
30-Jul-2013 |
smh |
MFV r253784:
Fix zfs send -D hang after processing requiring a CTRL+C to interrupt due to pthread_join prior to fd close.
This was introduced by r251646 (MFV r251644)
Illumos ZFS issue: 3909 "zfs send -D" does not work
MFC after: 1 day
|
253726 |
28-Jul-2013 |
pfg |
DTrace: re-apply r249426 now that the underlying issues have been solved.
Merge change from illumos:
3519 DTrace fails to resolve const types from fbt 3520 dtrace internal error -- token type 316 is not a valid D compilation token 3521 clean up dtrace unit tests
Illumos Revision: e98f46c
Reference: https://www.illumos.org/issues/3519 https://www.illumos.org/issues/3520 https://www.illumos.org/issues/3521
Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month
|
253725 |
28-Jul-2013 |
pfg |
DTrace: re-merge remainder of r249367 (original from Illumos).
Bring back some important fixes from Illumos:
3022 DTrace: keys should not affect the sort order when sorting by value 3023 it should be possible to dereference dynamic variables 3024 D integer narrowing needs some work
We particularly avoid the LD_NOLAZYLOAD changes that Illumos made as those don't apply to FreeBSD and were causing problems in interactive mode.
Illumos Revision: 13758:23432da34147
Reference:
https://www.illumos.org/issues/3022 https://www.illumos.org/issues/3023 https://www.illumos.org/issues/3024
MFC after: 1 month Tested by: markj
|
253720 |
27-Jul-2013 |
markj |
Use kern_ioctl() rather than ioctl() for testing the FBT provider, since the latter doesn't exist in FreeBSD. All the tests under fbtprovider pass now.
|
253678 |
26-Jul-2013 |
pfg |
Style issue in r253661.
Pointed out by: avg MFC after: 1 month
|
253661 |
26-Jul-2013 |
pfg |
Fix a segfault in ctfmerge due to a bug in gcc.
GCC can generate bogus dwarf attributes with DW_AT_byte_size set to 0xFFFFFFFF. The issue was originaly detected in NetBSD but it has been adapted for portability and to avoid compiler warnings.
Reference: https://www.illumos.org/issues/3776
Obtained from: NetBSD MFC after: 1 month
|
253441 |
18-Jul-2013 |
delphij |
Manually merge part of vendor import r238583 from Illumos.
Illumos changeset: 13680:2bd022a765e2 Illumos ZFS issue:
2671 zpool import should not fail if vdev ashift has increased
MFC after: 3 days
|
252732 |
04-Jul-2013 |
mm |
Fix misleading or remove irrelevant illumos messages and manpage references in the zfs command.
PR: bin/178996 Submitted by: Peter Schaefer <peter.schaefer@wilhelmheinrichs.de> MFC after: 3 days
|
252219 |
25-Jun-2013 |
delphij |
MFV r252215:
Restore a previous behavior before r251646, where when destructing ZFS snapshot, the ioctl would return ENOENT when it hit any of them in the errlist (the new behavior was only return ENOENT when all returns error).
Illumos ZFS issues: 3829 fix for 3740 changed behavior of zfs destroy/hold/release ioctl
MFC after: 1 week
|
252218 |
25-Jun-2013 |
delphij |
Diff reduction against Illumos, no real change to code itself.
This marks vendor branch revision 252213 as merged, the actual code was committed in r245479.
MFC after: 1 week
|
252059 |
21-Jun-2013 |
smh |
Fixed ZFS zpool freeze (debug command) not processing due to invalid ioctl call syntax.
MFC after: 1 week
|
251646 |
12-Jun-2013 |
delphij |
MFV r251644:
Poor ZFS send / receive performance due to snapshot hold / release processing (by smh@)
Illumos ZFS issues: 3740 Poor ZFS send / receive performance due to snapshot hold / release processing
MFC after: 2 weeks
|
251635 |
11-Jun-2013 |
delphij |
MFV r251624:
txg commit callbacks don't work
Illumos ZFS issues: 3747 txg commit callbacks don't work
MFC after: 2 weeks
|
251634 |
11-Jun-2013 |
delphij |
MFV r251623:
zpool create should treat -O mountpoint and -m the same
Illumos ZFS issues: 3745 zpool create should treat -O mountpoint and -m the same
MFC after: 2 weeks
|
251629 |
11-Jun-2013 |
delphij |
MFV r251619:
ZFS needs better comments.
Illumos ZFS issues: 3741 zfs needs better comments
MFC after: 2 weeks
|
251237 |
02-Jun-2013 |
markj |
Port the SDT test now that it's possible to create SDT probes that take seven arguments.
The original test uses Solaris' uadmin system call to trigger the test probe; this change adds a sysctl to the dtrace_test module and gets the test program to trigger the test probe via the sysctl handler.
The test is currently failing on amd64 because of some bugs in the way that probe arguments beyond the first five are obtained - these bugs will be fixed in a separate change.
|
250820 |
20-May-2013 |
markj |
Remove a block of code that was not intended to be part of the previous revision.
X-MFC with: r250812
|
250812 |
19-May-2013 |
markj |
Re-introduce another part of r249367. This commit fixes a register leak in dt_cg_ptrsize() and generally cleans up some of the error handling around register allocation.
This change corresponds to part of illumos-gate commit e5803b76927480: 3025 register leak in D code generation
Reviewed by: pfg Obtained from: illumos MFC after: 1 month
|
250685 |
15-May-2013 |
markj |
Convert a couple of helper scripts used to test the ip provider to work on FreeBSD. In the IPv6 case, try each interface before returning an error; each IPv6-enabled interface will have a link-local address even if the link isn't up.
MFC after: 1 week
|
250575 |
12-May-2013 |
markj |
head -n doesn't take negative arguments on FreeBSD, so instead use sed '$d' to remove the last line of a file.
|
250574 |
12-May-2013 |
markj |
Bring back part of r249367 by adding DTrace's temporal option, which allows users to guarantee that the output of DTrace scripts will be time-ordered. This option is enabled by adding the line
#pragma D option temporal
to the beginning of a script, or by adding '-x temporal' to the arguments of dtrace(1).
This change fixes a bug in the original port of the temporal option. This bug was causing some assertions to fail, so they had been disabled; in this revision the assertions are working properly and are enabled.
The DTrace version number has been bumped from 1.9.0 to 1.9.1 to reflect the language change that's being introduced.
This change corresponds to part of illumos-gate commit e5803b76927480: 3021 option for time-ordered output from dtrace(1M)
Reviewed by: pfg Obtained from: illumos MFC after: 1 month
|
249884 |
25-Apr-2013 |
avg |
revert r248644 because of the regression for usdt probes
USDT probes are advertised to kernel by initialization code with atrribute((constructor))). It seems that on Solaris the .init-ish code of the main object is executed before RD_PREINIT point is hit. On FreeBSD that is not the case. And because on FreeBSD there is no other well-defined point between RD_PREINIT and main() we have to parse a DTrace script when main is hit, for time being.
A footnote: currently we actually post RD_POSTINIT event, but that's a bug because the event is triggered by hitting r_debug_state which happens before any init code is executed.
Reported by: markj
|
249883 |
25-Apr-2013 |
mm |
Respect the enoent_ok flag if reporting error for holding an non-existing snapshot.
Related illumos ZFS issue: 3699 zfs hold or release of a non-existent snapshot does not output error
Reported by: Steven Hartland <smh@FreeBSD.org> MFC after: 3 days
|
249656 |
19-Apr-2013 |
ed |
Fix -Wmissing-variable-declarations compiler warnings.
References: https://www.illumos.org/issues/3700
|
249575 |
17-Apr-2013 |
pfg |
DTrace: Revert r249426
This change actually depends on r249367 which had to be reverted
Pointy Hat: pfg
|
249573 |
17-Apr-2013 |
pfg |
DTrace: Revert r249367
The following change from illumos brought caused DTrace to pause in an interactive environment:
3026 libdtrace should set LD_NOLAZYLOAD=1 to help the pid provider
This was not detected during testing because it doesn't affect scripts.
We shouldn't be changing the environment, especially since the LD_NOLAZYLOAD option doesn't apply to our (GNU) ld. Unfortunately the change from upstream was made in such a way that it is very difficult to separate this change from the others so, at least for now, it's better to just revert everything.
Reference: https://www.illumos.org/issues/3026
Reported by: Navdeep Parhar and Mark Johnston
|
249563 |
16-Apr-2013 |
pfg |
DTrace: print() should try to resolve function pointers
Merge changes from illumos:
3675 DTrace print() should try to resolve function pointers 3676 dt_print_enum hardcodes a value of zero
Illumos Revision: b1fa6326238973aeaf12c34fcda75985b6c06be1
Reference: https://www.illumos.org/issues/3675 https://www.illumos.org/issues/3676
Obtained from: Illumos MFC after: 1 month
|
249547 |
16-Apr-2013 |
pjd |
Correct error message.
Reported by: Dirk Engling <erdgeist@erdgeist.org>
|
249426 |
12-Apr-2013 |
pfg |
Dtrace: resolve const types from fbt and other fixes.
Merge change from illumos:
3519 DTrace fails to resolve const types from fbt 3520 dtrace internal error -- token type 316 is not a valid D compilation token 3521 clean up dtrace unit tests
Illumos Revision: e98f46c
Reference: https://www.illumos.org/issues/3519 https://www.illumos.org/issues/3520 https://www.illumos.org/issues/3521
Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month
|
249367 |
11-Apr-2013 |
pfg |
DTrace: option for time-ordered output
Merge changes from illumos:
3021 option for time-ordered output from dtrace(1M) 3022 DTrace: keys should not affect the sort order when sorting by value 3023 it should be possible to dereference dynamic variables 3024 D integer narrowing needs some work 3025 register leak in D code generation 3026 libdtrace should set LD_NOLAZYLOAD=1 to help the pid provider
This brings yet another feature implemented in upstream DTrace. A complete description is available here: http://dtrace.org/blogs/ahl/2012/07/28/my-new-dtrace-favorite/
This change bumps the DT_VERS_* number to 1.9.1 in accordance to what is done in illumos.
This change was somewhat complicated because upstream is mixed many changes in an individual commit and some of the tests don't really apply to us.
There are also appear to be differences in timestamping with Solaris so we had to workaround some assertions making sure no regression happened.
Special thanks to Fabian Keil for changes and testing.
Illumos Revisions: 13758:23432da34147
Reference: https://www.illumos.org/issues/3021 https://www.illumos.org/issues/3022 https://www.illumos.org/issues/3023 https://www.illumos.org/issues/3024 https://www.illumos.org/issues/3025 https://www.illumos.org/issues/1694
Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 months
|
249357 |
11-Apr-2013 |
mm |
Fix libzfs to report error instead of returning zero if trying to hold or release a non-existing snapshot of a existing dataset. In recursive case error is reported if no snapshots with the requested name have been found.
Problem and proposed solution reported to illumos: 3699 zfs hold or release of a non-existent snapshot does not output error
MFC after: 8 days
|
249319 |
09-Apr-2013 |
mm |
ZFS expects a copyout of zfs_cmd_t on an ioctl error. Our sys_ioctl() doesn't copyout in this case.
To solve this issue a new struct zfs_iocparm_t is introduced consisting of: - zfs_ioctl_version (future backwards compatibility purposes) - user space pointer to zfs_cmd_t (copyin and copyout) - size of zfs_cmd_t (verification purposes)
The copyin and copyout of zfs_cmd_t is now done the illumos (vendor) way what makes porting of new changes easier and ensures correct behavior if returning an error.
MFC after: 10 days
|
249207 |
06-Apr-2013 |
mm |
MFV r249185: Allow zdb to output a histogram of compressed block sizes.
Illumos ZFS issues: 3641 want a histogram of compressed block sizes
MFC after: 3 weeks
|
249195 |
06-Apr-2013 |
mm |
MFV r248217: Merge change from vendor to reduce diff only. ZFS dtrace probes are not supported on FreeBSD yet.
Illumos ZFS issues: 3598 want to dtrace when errors are generated in zfs
MFC after: 3 weeks
|
248991 |
01-Apr-2013 |
dim |
Follow up to r247960 and rr247960 by also amending ctfmerge. For the only other case where STT_FILE symbols are used, in symit_next() in cddl/contrib/opensolaris/tools/ctf/cvt/input.c, save the basename of the symbol, instead of the full pathname.
Reported by: avg Tested by: avg, jimharris MFC after: 1 week
|
248983 |
01-Apr-2013 |
pfg |
Dtrace: enablings on defunct providers prevent providers from unregistering
Merge change from illumos:
1368 enablings on defunct providers prevent providers from unregistering
We try to address some underlying differences between the Solaris and FreeBSD implementations: dtrace_attach() / dtrace_detach() are currently unimplemented in FreeBSD but the new code from illumos makes use of taskq so some adaptations were made to dtrace_open() and dtrace_close() to handle them appropriately.
Illumos Revision: r13430:8e6add739e38
Reference: https://www.illumos.org/issues/1368
Reviewed by: gnn Tested by: Fabian Keil Obtained from: Illumos MFC after: 3 weeks
|
248848 |
28-Mar-2013 |
gnn |
Commit a patch that fixes a problem in the #pragma statement when searching for and loading dependent modules. This addresses a bug seen with io.d where it was being doubly included.
PR: 171678 Submitted by: Mark Johnston MFC after: 2 weeks
|
248752 |
26-Mar-2013 |
pfg |
Dtrace: dtrace.c erroneously checks for memory alignment on amd64.
Merge change from illumos:
3511 dtrace.c erroneously checks for memory alignment on amd64
Illumos Revision: c93cc65
Reference: https://www.illumos.org/issues/3511
Obtained from: Illumos MFC after: 3 weeks
|
248708 |
25-Mar-2013 |
pfg |
Dtrace: Add SUN MDB-like type-aware print() action.
Merge change from illumos:
1694 Add type-aware print() action
This is a very nice feature implemented in upstream Dtrace. A complete description is available here: http://dtrace.org/blogs/eschrock/2011/10/26/your-mdb-fell-into-my-dtrace/
This change bumps the DT_VERS_* number to 1.9.0 in accordance to what is done in illumos.
While here also include some minor cleanups to ease further merging and appease clang with a fix by Fabian Keil.
Illumos Revisions: 13501:c3a7090dbc16 13483:f413e6c5d297
Reference: https://www.illumos.org/issues/1560 https://www.illumos.org/issues/1694
Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month
|
248706 |
25-Mar-2013 |
pfg |
Dtrace: add toupper()/tolower() and enhancements to lltostr().
Merge changes from illumos:
1451 DTrace needs toupper()/tolower() subroutines 1457 lltostr() D subroutine should take an optional base
This change bumps the DT_VERS_* number to 1.8.1 in accordance to what is done in illumos.
The test suite we currently include is outdated and doesnt support some updates in tst.subr.d which had to be left out for now.
Illumos Revisions: r13458 5e394d8db762 r13459 c3454574dd1a
Reference: https://www.illumos.org/issues/1451 https://www.illumos.org/issues/1457
Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month
|
248690 |
24-Mar-2013 |
pfg |
Dtrace: add optional size argument to tracemem().
Merge change from illumos:
1455 DTrace tracemem() should take an optional size argument
Our local enhancements to dt_print_bytes were equivalent to those in illumos but we made it match the illumos version to ease further code merges.
For now leave out tst.smallsize.d and tst.smallsize.d.out since those don't seem to work cleanly on FreeBSD.
This change bumps the DT_VERS_* number to 1.7.1 in accordance to what is done in illumos.
Illumos Revision: 13457:571b0355c2e3
Reference: https://www.illumos.org/issues/1455
Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month
|
248644 |
23-Mar-2013 |
avg |
dtrace: ensure that we can always catch a process (e.g. when -c is used)
It is not guaranteed that a program has a symbol table entry for main and thus that it would be possible to set a breakpoint on it.
Reviewed by: rpaulo Discussed with: rpaulo MFC after: 13 days
|
248571 |
21-Mar-2013 |
mm |
Merge libzfs_core branch: includes MFV 238590, 238592, 247580
MFV 238590, 238592: In the first zfs ioctl restructuring phase, the libzfs_core library was introduced. It is a new thin library that wraps around kernel ioctl's. The idea is to provide a forward-compatible way of dealing with new features. Arguments are passed in nvlists and not random zfs_cmd fields, new-style ioctls are logged to pool history using a new method of history logging.
http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/
MFV 247580 [1]: To address issues of several deadlocks and race conditions the locking code around dsl_dataset was rewritten and the interface to synctasks was changed.
User-Visible Changes: "zfs snapshot" can create more arbitrary snapshots at once (atomically) "zfs destroy" destroys multiple snapshots at once "zfs recv" has improved performance
Backward Compatibility: I have extended the compatibility layer to support full backward compatibility by remapping or rewriting the responsible ioctl arguments. Old utilities are fully supported by the new kernel module.
Forward Compatibility: New utilities work with old kernels with the following restrictions: - creating, destroying, holding and releasing of multiple snapshots at once is not supported, this includes recursive (-r) commands
Illumos ZFS issues: 2882 implement libzfs_core 2900 "zfs snapshot" should be able to create multiple, arbitrary snapshots at once 3464 zfs synctask code needs restructuring
References: https://www.illumos.org/issues/2882 https://www.illumos.org/issues/2900 https://www.illumos.org/issues/3464 [1]
MFC after: 1 month Sponsored by: Hybrid Logic Inc. [1]
|
248267 |
14-Mar-2013 |
mm |
MFV r248266: Import minor ZFS changes from vendor
Illumos ZFS issues: 3604 zdb should print bpobjs more verbosely (fix zdb hang) 3606 zpool status -x shouldn't warn about old on-disk format
MFC after: 3 days
|
248265 |
14-Mar-2013 |
mm |
Update zfs.8 manpage date (missing in r247585)
MFC: together with r247585
|
247962 |
07-Mar-2013 |
dim |
Fix error in r247960: actually assign the basename to match.iim_file.
Pointed out by: avg Pointy hat to: dim MFC after: 1 week X-MFC-With: r247960
|
247960 |
07-Mar-2013 |
dim |
Make ctfconvert work correctly on clang-compiled object files. Clang puts the full original source filename in the STT_FILE entry of the ELF symbol table, while gcc saves only the basename.
Since the DWARF DW_AT_name attribute contains the full source filename, both for clang and gcc, ctfconvert takes just the basename of it, for matching with the STT_FILE entry. So when attempting to match with such an entry, use its basename, if necessary.
Reported by: avg MFC after: 1 week
|
247852 |
05-Mar-2013 |
mm |
MFV r247845: Import ZFS bpobj bugfix from vendor.
Illumos ZFS issues: 3603 panic from bpobj_enqueue_subobj() 3604 zdb should print bpobjs more verbosely
References: https://www.illumos.org/issues/3603 https://www.illumos.org/issues/3604
MFC after: 1 week
|
247585 |
01-Mar-2013 |
mm |
MFV r247316: Merge new read-only zfs properties from vendor (illumos)
Illumos ZFS issues: 3588 provide zfs properties for logical (uncompressed) space used and referenced
References: https://www.illumos.org/issues/3588
MFC after: 2 weeks
|
247540 |
01-Mar-2013 |
mm |
Fix the zfs_ioctl compat layer to support zfs_cmd size change introduced in r247265 (ZFS deadman thread). Both new utilities now support the old kernel and new kernel properly detects old utilities.
For future backwards compatibility, the vfs.zfs.version.ioctl read-only sysctl has been introduced. With this sysctl zfs utilities will be able to detect the ioctl interface version of the currently loaded zfs module.
As a side effect, the zfs utilities between r247265 and this revision don't support the old kernel module. If you are using HEAD newer or equal than r247265, install the new kernel module (or whole kernel) first.
MFC after: 10 days
|
247398 |
27-Feb-2013 |
mm |
MFV 247176, 247178, 247315: Import metaslab_sync() speedup from vendor (illumos).
Illumos ZFS issues: 3552 condensing one space map burns 3 seconds of CPU in spa_sync() thread 3564 spa_sync() spends 5-10% of its time in metaslab_sync() (when not condensing) 3578 transferring the freed map to the defer map should be constant time 3579 ztest trips assertion in metaslab_weight()
References: https://www.illumos.org/issues/3552 https://www.illumos.org/issues/3564 https://www.illumos.org/issues/3578 https://www.illumos.org/issues/3579
MFC after: 2 weeks
|
247265 |
25-Feb-2013 |
mm |
MFV v242732:
Merge the ZFS I/O deadman thread from vendor (illumos). This feature panics the system on hanging ZFS I/O, helps debugging and resumes failed service.
The panic behavior can be controlled with the loader-only tunables: vfs.zfs.deadman_enabled (enable or disable panic on stalled ZFS I/O) vfs.zfs.deadman_synctime (expiration time for stalled ZFS I/O)
By default, ZFS I/O deadman is enabled by default on amd64 and i386 excluding virtual guest machines.
Illumos ZFS issues: 3246 ZFS I/O deadman thread
References: https://www.illumos.org/issues/3246
MFC after: 2 weeks
|
247048 |
20-Feb-2013 |
gibbs |
Orphaned processes that are being traced are killed by the kernel. Properly restore, continue, and detach from processes being DTraced when DTrace exits with an error so the program being inspected is not terminated.
cddl/contrib/opensolaris/cmd/dtrace/dtrace.c: In fatal(), the generic error handler, close the DTrace handle as is done in the "probe/script" error handler dfatal(). fatal() can be invoked after DTrace attaches to processes (e.g. a script specified by command line argument can't be found) and closing the handle will release them.
Submitted by: Spectra Logic Corporation Reviewed by: rpaulo, gnn
|
246684 |
11-Feb-2013 |
delphij |
Use the right year.
Noticed by: Denis Ahrens <denis h3q com>
|
246666 |
11-Feb-2013 |
mm |
MFV r246392: Import vendor ZFS bugfix fixing a possible deadlock in arc_read().
Illumos ZFS issues: 3498 panic in arc_read(): !refcount_is_zero(&pbuf->b_hdr->b_refcnt)
References: https://www.illumos.org/issues/3498
MFC after: 2 weeks
|
246631 |
10-Feb-2013 |
mm |
MFV r246388:
Import vendor bugfixes
Illumos ZFS issues: 3422 zpool create/syseventd race yield non-importable pool 3425 first write to a new zvol can fail with EFBIG
References: https://www.illumos.org/issues/3422 https://www.illumos.org/issues/3425
MFC after: 2 weeks
|
246624 |
10-Feb-2013 |
mm |
Backport vendor changes in zfs(8) manual page (MFV r246389)
Illumos ZFS issues: 3380 zfs man page: documentation for zfs allow is confusing
References: https://www.illumos.org/issues/3380
MFC after: 2 weeks
|
246619 |
10-Feb-2013 |
gavin |
Correct spelling of "daemon". No .Dd bump.
Noticed by: Nathan Rich <Nathan.Rich dynastysystems com> MFC after: 3 days
|
246587 |
09-Feb-2013 |
joel |
mdoc: Remove EOL whitespace.
|
246586 |
09-Feb-2013 |
delphij |
MFV r245512:
* Illumos zfs issue #3035 [1] LZ4 compression support in ZFS.
LZ4 is a new high-speed BSD-licensed compression algorithm created by Yann Collet that delivers very high compression and decompression performance compared to lzjb (>50% faster on compression, >80% faster on decompression and around 3x faster on compression of incompressible data), while giving better compression ratio [1].
This version of LZ4 corresponds to upstream's [2] revision 85.
Please note that for obvious reasons this is not backward read compatible. This means once a pool have LZ4 compressed data, these data can no longer be read by older ZFS implementations.
Local changes:
- On-stack hash table disabled and using kernel slab allocator instead, at this time. This requires larger kernel thread stack for zio workers. This may change in the future should we adjusted the zio workers' thread stack size. - likely and unlikely will be undefined if they are already defined, this is required for i386 XEN build. - Removed De Bruijn sequence based __builtin_ctz family of builtins in favor of the latter. Both GCC and clang supports these builtins. - Changed the way the LZ4 code detects endianness. - Manual pages modifications to mention the feature based on Illumos counterpart. - Boot loader changes to make it support LZ4 decompression.
[1] https://www.illumos.org/issues/3035 [2] http://code.google.com/p/lz4/source/list
Obtained from: Illumos (13921:9d721847e469) Tested on: FreeBSD/amd64 MFC after: 1 month
|
245479 |
15-Jan-2013 |
smh |
Reports pools which have a removed l2cache disk under -x as this is what happens when a cache device is dropped for any reason.
Reviewed by: pjd Approved by: pjd (mentor) MFC after: 2 weeks
|
245264 |
10-Jan-2013 |
delphij |
The current ZFS code expects ddt_zap_count to always succeed by asserting the underlying zap_count() to return no errors. However, it is possible that the pool reaches to such a state where zap_count would return error, leading to panics when a pool is imported.
This commit changes the ddt_zap_count to return error returned from zap_count and handle the error appropriately. With this change, it's now possible to let zpool rollback damaged transaction groups and import the pool.
Obtained from: ZFS on Linux github (e8fd45a0f975c6b8ae8cd644714fc21f14fac2bf) MFC after: 1 month
|
244857 |
30-Dec-2012 |
pjd |
Allow to create pool even if mount point directory is not empty if -f is given.
Obtained from: WHEEL Systems
|
244246 |
15-Dec-2012 |
mm |
MFV r244245:
Merge two zdb bugfixes from vendor (illumos)
illumos-gate 13894:f4af77f6bbd2 3397 zdb <pool> <objnum> output is too verbose 3398 zdb can't dump feature flags zap objects
References: https://www.illumos.org/issues/3397 https://www.illumos.org/issues/3398
MFC after: 1 week
|
244194 |
13-Dec-2012 |
smh |
Fixes zfs receive errors caused by snapshot replication being processed in a random order instead of creation order.
Eliminates needless filesystem renames caused by removed parent snapshots which subsequently causes many more errors.
PR: kern/172259 Submitted by: Steven Hartland Reviewed by: pjd (mentor) Approved by: pjd (mentor) MFC after: 2 weeks
|
243561 |
26-Nov-2012 |
mm |
Update manpage dates in zfs.8 and zpool.8
MFC after: 2 weeks
|
243560 |
26-Nov-2012 |
mm |
MFV r243395:
Introduce a new dataset aclmode setting "restricted" to protect ACL's being destroyed or corrupted by a drive-by chmod.
illumos-gate 13889:a67716f16746 3254 add support in zfs for aclmode=restricted
References: https://www.illumos.org/issues/3254
MFC after: 2 weeks
|
243524 |
25-Nov-2012 |
mm |
MFV r243013 and r243267:
Import the zio nop-write improvement from Illumos. To reduce I/O, nop-write omits overwriting data if the checksum (cryptographically secure) of new data matches the checksum of existing data. It also saves space if snapshots are in use.
It currently works only on datasets with enabled compression, disabled deduplication and sha256 checksums.
IllumOS 13887:196932ec9e6a and 13888:7204b3392a58 3236 zio nop-write
References: https://www.illumos.org/issues/3236
MFC after: 2 weeks
|
243506 |
25-Nov-2012 |
mm |
zfs sha256 checksum is missing in zfs.8 manpage
MFC after: 3 days
|
243505 |
25-Nov-2012 |
mm |
MFV r243012:
Illumos 13886:e3261d03efbf
3349 zpool upgrade -V bumps the on disk version number, but leaves the in core version
References: https://www.illumos.org/issues/3349
MFC after: 1 week
|
243102 |
15-Nov-2012 |
pluknet |
Sort SEE ALSO xrefs by the manual section number and add a missing comma.
|
243014 |
14-Nov-2012 |
mm |
Move zpool-features manual page from section 5 to section 7 and fix references
Reported by: pluknet MFC after: 1 week
|
243002 |
13-Nov-2012 |
pluknet |
Fix an apparent typo in the manual section number in .Dt: it should be 5.
|
242845 |
10-Nov-2012 |
delphij |
MFV r242729 (mm):
Illumos r13840:97fd5cdf328a:
3145 single-copy arc 3212 ztest: race condition between vdev_online() and spa_vdev_remove()
Illumos r13849:3468a95b27cd:
3258 ztest's use of file descriptors is unstable
|
242723 |
07-Nov-2012 |
jhibbits |
Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.
There is one known issue: Some probes will display an error message along the lines of: "Invalid address (0)"
I tested this with both a simple dtrace probe and dtruss on a few different binaries on 32-bit. I only compiled 64-bit, did not run it, but I don't expect problems without the modules loaded. Volunteers are welcome.
MFC after: 1 month
|
241896 |
22-Oct-2012 |
kib |
Remove the support for using non-mpsafe filesystem modules.
In particular, do not lock Giant conditionally when calling into the filesystem module, remove the VFS_LOCK_GIANT() and related macros. Stop handling buffers belonging to non-mpsafe filesystems.
The VFS_VERSION is bumped to indicate the interface change which does not result in the interface signatures changes.
Conducted and reviewed by: attilio Tested by: pho
|
241655 |
17-Oct-2012 |
mm |
Add missing initialization for do_prefix. Corrects porting error in r238391
Vendor issue and changeset reference: 2883 changing "canmount" property to "on" should not always remount dataset https://www.illumos.org/issues/2883 Changeset 13743:95aba6e49b9f
Reported by: Guido Falsi <mad@madpilot.net>, avg Obtained from: illumos (issue #2883) MFC after: 1 week
|
241021 |
28-Sep-2012 |
kevlo |
Make sure that each va_start has one and only one matching va_end, especially in error cases.
|
240955 |
26-Sep-2012 |
mm |
Merge recent vendor changes in ZFS.
Illumos issued covered: 2811 missing implementation: zfs send -r 3139 zdb dies when it tries to determine path of unlinked file 3189 kernel panic in ZFS test suite during hotspare_onoffline_004_neg 3208 moving zpool cross-endian results in incorrect user/group accounting
References: https://www.illumos.org/issues/ + [issue_id]
Obtained from: illumos (vendor/illumos, vendor/illumos-sys) MFC after: 2 weeks
|
240870 |
23-Sep-2012 |
pjd |
It is possible to recursively destroy snapshots even if the snapshot doesn't exist on a dataset we are starting from. For example if we have the following configuration:
tank tank/foo tank/foo@snap tank/bar tank/bar@snap
We can execute:
# zfs destroy -t tank@snap
eventhough tank@snap doesn't exit.
Unfortunately it is not possible to do the same with recursive rename:
# zfs rename -r tank@snap tank@pans cannot open 'tank@snap': dataset does not exist
...until now. This change allows to recursively rename snapshots even if snapshot doesn't exist on the starting dataset.
Sponsored by: rsync.net MFC after: 2 weeks
|
240698 |
19-Sep-2012 |
bapt |
Update usage to show the possiblity to use jail name
Reported by: bdrewery MFC after: 1 month
|
240696 |
19-Sep-2012 |
bapt |
Allow zfs jail and zfs unjail to use both jailnames and jailid
Reviewed by: pjd MFC after: 1 month
|
240415 |
12-Sep-2012 |
mm |
Merge recent zfs vendor changes, sync code and adjust userland DEBUG.
Illumos issued covered: 1884 Empty "used" field for zfs *space commands 3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument is zero 3028 zfs {group,user}space -n prints (null) instead of numeric GID/UID 3048 zfs {user,group}space [-s|-S] is broken 3049 zfs {user,group}space -t doesn't really filter the results 3060 zfs {user,group}space -H output isn't tab-delimited 3061 zfs {user,group}space -o doesn't use specified fields order 3064 usr/src/cmd/zpool/zpool_main.c misspells "successful" 3093 zfs {user,group}space's -i is noop 3098 zfs userspace/groupspace fail without saying why when run as non-root
References: https://www.illumos.org/issues/ + [issue_id]
Obtained from: illumos (vendor/illumos, vendor/illumos-sys) MFC after: 2 weeks
|
240153 |
05-Sep-2012 |
gjb |
Typo fix and minor word swap.
PR: 171356 Submitted by: bdrewery MFC After: 3 days
|
240133 |
05-Sep-2012 |
mm |
Merge recent vendor changes and sync code: 1862 incremental zfs receive fails for sparse file > 8PB 3112 ztest does not honor ZFS_DEBUG 3122 zfs destroy filesystem should prefetch blocks 3129 'zpool reopen' restarts resilvers 3130 ztest failure: Assertion failed: 0 == dmu_objset_destroy(name, B_FALSE) (0x0 == 0x10)
References: https://www.illumos.org/issues/1862 https://www.illumos.org/issues/3112 https://www.illumos.org/issues/3122 https://www.illumos.org/issues/3129 https://www.illumos.org/issues/3130
Obtained from: illumos (vendor/illumos, vendor/illumos-sys) MFC after: 2 weeks
|
240063 |
03-Sep-2012 |
gjb |
Add myself to copyright sections, per CDDL license.
Requested by: mm
|
239972 |
01-Sep-2012 |
rpaulo |
Finish porting execsnoop to FreeBSD. This includes replacing the zonename with a jail ID and removing the project ID from the list of options.
|
239968 |
01-Sep-2012 |
joel |
Remove trailing whitespace.
|
239967 |
01-Sep-2012 |
joel |
Mdoc fixes.
|
239958 |
31-Aug-2012 |
joel |
Minor mdoc fixes.
|
239953 |
31-Aug-2012 |
joel |
Mdoc fixes.
|
239774 |
28-Aug-2012 |
mm |
Merge recent vendor changes: 3100 zvol rename fails with EBUSY when dirty 3104 eliminate empty bpobjs 3120 zinject hangs in zfsdev_ioctl() due to uninitialized zc
References: https://www.illumos.org/issues/3100 https://www.illumos.org/issues/3104 https://www.illumos.org/issues/3120
Obtained from: illumos (vendor/illumos, vendor/illumos-sys) MFC after: 2 weeks
|
239749 |
27-Aug-2012 |
mm |
Add missing parts to zpool-features.5 manual page
Obtained from: vendor/illumos/dist MFC after: 2 weeks
|
239620 |
23-Aug-2012 |
mm |
Merge recent vendor changes: 3086 unnecessarily setting DS_FLAG_INCONSISTENT on async destroyed datasets 3090 vdev_reopen() during reguid causes vdev to be treated as corrupt 3102 vdev_uberblock_load() and vdev_validate() may read the wrong label
Referenes: https://www.illumos.org/issues/3086 https://www.illumos.org/issues/3090 https://www.illumos.org/issues/3102
PR: kern/170912, kern/170914 Obtained from: illumos (changeset #13776, #13777) MFC after: 2 weeks
|
239394 |
19-Aug-2012 |
mm |
Update zfs(8) manpage with illumos version of "zfs diff"
Illumos issue: 2399 zfs manual page does not document use of "zfs diff"
References: https://www.illumos.org/issues/2399
PR: docs/170764 Obtained from: ssh://anonhg@hg.illumos.org/illumos-gate MFC after: 1 week
|
239217 |
12-Aug-2012 |
gjb |
- Fix source dataset snapshot name in Example 15. - Bump date.
MFC after: 3 days X-MFC-With: r239216
|
239216 |
12-Aug-2012 |
gjb |
Remove a leading space that breaks rendering.
MFC after: 3 days
|
238979 |
01-Aug-2012 |
gnn |
When we return with an error we cannot unlock the mutex, because it's been freed. Protect against that, hopefully unlikely, case.
Reviewed by: rpaulo MFC after: 2 weeks
|
238951 |
31-Jul-2012 |
mm |
Fix wrong indent according to style(9)
MFC after: 2 weeks > Description of fields to fill in above: 76 columns --| > PR: If a GNATS PR is affected by the change. > Submitted by: If someone else sent in the change. > Reviewed by: If someone else reviewed your modification. > Approved by: If you needed approval for this commit. > Obtained from: If the change is from a third party. > MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email. > Security: Vulnerability reference (one per line) or description. > Empty fields above will be automatically removed.
M zpool_main.c
|
238950 |
31-Jul-2012 |
mm |
Fix reporting of root pool upgrade notice.
MFC after: 2 weeks
|
238926 |
30-Jul-2012 |
mm |
Partial MFV (illumos-gate 13753:2aba784c276b) 2762 zpool command should have better support for feature flags
References: https://www.illumos.org/issues/2762
MFC after: 2 weeks
|
238776 |
25-Jul-2012 |
gnn |
Revert previous commit. The bug was actually caused by an issue in pre 1.8.5 versions of sudo which were sending too many SIGINTs to processes when the user hit Ctrl-C.
Pointed out by: avg@, rpaulo@, sbruno@
|
238743 |
24-Jul-2012 |
gnn |
Fix a bug in interrupt handling so that we're only considered impatient if we sent more than 2 INT signals. This fixes a bug where we wouldn't see aggregations print on the command line if we Ctrl-C'd a dtrace script or command line invocation.
MFC after: 2 weeks
|
238558 |
17-Jul-2012 |
pfg |
Dtrace: improve handling of library paths.
Merge changes from illumos
906 dtrace depends_on pragma should search all library paths, not just the current one
949 dtrace should only include the first instance of a library found on its library path
Illumos Revisions: 13353:936a1e45726c 13354:2b2c36a81512
Reference: https://www.illumos.org/issues/906 https://www.illumos.org/issues/949
Tested by: Fabian Keil Obtained from: Illumos MFC after: 3 weeks
|
238509 |
15-Jul-2012 |
pfg |
Use libc's strndup() instead of Dtrace's reimplementation.
Corresponds partially to OpenSolaris change: PSARC 2010/299 GNU/Linux/BSD compatibility functions 6901783 strndup would be nice
MFC after: 2 weeks
|
238457 |
14-Jul-2012 |
pfg |
Merge illumos commit 13455:7205f7794835
1458 D compiler fails to generate error on sizeof() an undefined struct
Reference: https://www.illumos.org/issues/1458
Tested by: Fabian Keil MFC after: 3 weeks
|
238422 |
13-Jul-2012 |
mm |
Merge illumos commit 13749:df4cd82e2b60
1796 "ZFS HOLD" should not be used when doing "ZFS SEND" froma read-only pool 2871 support for __ZFS_POOL_RESTRICT used by ZFS test suite 2903 zfs destroy -d does not work 2957 zfs destroy -R/r sometimes fails when removing defer-destroyed snapshot
References: https://www.illumos.org/issues/1796 https://www.illumos.org/issues/2871 https://www.illumos.org/issues/2903 https://www.illumos.org/issues/2957
MFC after: 1 week
|
238391 |
12-Jul-2012 |
mm |
Change behavior introduced in r237119 to vendor solution
References: https://www.illumos.org/issues/2883
PR: 167905 Obtained from: illumos (issue #2883) MFC after: 2 weeks
|
238125 |
05-Jul-2012 |
emaste |
Restore r211786 by rpaulo:
Port dtruss to FreeBSD.
Sponsored by: The FreeBSD Foundation
It appears the change was reverted by r235380.
|
238071 |
03-Jul-2012 |
dim |
Fix clang warning, introduced in the recent dtrace import.
MFC after: 3 days
|
237860 |
01-Jul-2012 |
pfg |
Import the dtrace llquantize test files from the vendor area.
Now that we have an illumos vendor area, import the llquantize test files directly from there to make it easier to track the code provenance.
Special thanks to Martin Matuska for populating the illumos vendor area.
Requested by: obrien
|
237716 |
28-Jun-2012 |
pfg |
Safer fix for building with Clang.
error: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long')
Reported by: Ed Maste
|
237714 |
28-Jun-2012 |
pfg |
Fix build with Clang.
error: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long')
Reported by: Ed Maste
|
237624 |
27-Jun-2012 |
pfg |
Bring llquantize support into Dtrace.
Bryan Cantrill implemented the equivalent of semi-log graph paper for Dtrace so llquantize will use one logarithmic and one linear scale.
Special thanks to Mark Peek for providing fix to an assertion and to Fabian Keill for testing the port.
Illumos Revision: 13355:15b74a2a9a9d
Reference: https://www.illumos/issues/905
Obtained from: Illumos Tested by: Fabian Keill, mp MFC after: 4 days
|
237119 |
15-Jun-2012 |
mm |
Do not remount ZFS dataset if changing canmount property to "on" and dataset is already mounted.
PR: 167905 Submitted by: Bryan Drewery <bryan@shatow.net> MFC after: 1 week
|
236960 |
12-Jun-2012 |
mm |
Document the -v flag for zpool list.
PR: 168970 Suggested by: Marcelo Araujo <araujo@FreeBSD.org> MFC after: 3 days
|
236884 |
11-Jun-2012 |
mm |
Introduce "feature flags" for ZFS pools (bump SPA version to 5000). Add first feature "com.delphix:async_destroy" (asynchronous destroy of ZFS datasets). Implement features support in ZFS boot code.
Illumos revisions merged: 13700:2889e2596bd6 13701:1949b688d5fb 2619 asynchronous destruction of ZFS file systems 2747 SPA versioning with zfs feature flags
References: https://www.illumos.org/issues/2619 https://www.illumos.org/issues/2747
Obtained from: illumos (issue #2619, #2747) MFC after: 1 month
|
236777 |
09-Jun-2012 |
gjb |
Clean up trailing whitespace.
MFC after: 3 days X-MFC-With: r236776
|
236776 |
09-Jun-2012 |
gjb |
Fix a typo: s/deafult/default
MFC after: 3 days
|
236705 |
07-Jun-2012 |
mm |
Import Illumos revision 13715:351036203e4b 2803 zfs get guid pretty-prints the output
References: https://www.illumos.org/issues/2803
Obtained from: illumos (issue #2803) MFC after: 3 days
|
236155 |
27-May-2012 |
mm |
Import illumos changeset 13570:3411fd5f1589 1948 zpool list should show more detailed pool information
Display per-vdev information with "zpool list -v". The added expandsize property has currently no value on FreeBSD. This changeset allows adding expansion support to individual vdevs in the future.
References: https://www.illumos.org/issues/1948
Obtained from: illumos (issue #1948) MFC after: 2 weeks
|
236146 |
27-May-2012 |
mm |
Import illumos changeset 13605:b5c2b5db80d6 (partial) 763 FMD msg URLs should refer to something visible
Replace sun.com URL's with illumos.org
References: https://www.illumos.org/issues/763
Obtained from: illumos (issue #763) MFC after: 1 week
|
236145 |
27-May-2012 |
mm |
Import illumos changeset 13564:cf89c0c60496 1946 incorrect formatting when listing output of multiple pools with zpool iostat -v
References: https://www.illumos.org/issues/1946
Obtained from: illumos (issue #1946) MFC after: 1 week
|
236143 |
27-May-2012 |
mm |
Import illumos changeset 13571:a5771a96228c 1950 ztest backwards compatibility testing option
References: https://www.illumos.org/issues/1950
Obtained from: illumos (issue #1950) MFC after: 2 weeks
|
236013 |
25-May-2012 |
pjd |
Correct error message.
MFC after: 3 days
|
235479 |
15-May-2012 |
avg |
zpool_find_import_impl: another /dev/dsk -> /dev fix
This seems to fix zdb -e behavior.
PR: bin/155104 Submitted by: swell.k@gmail.com MFC after: 2 weeks
|
235478 |
15-May-2012 |
avg |
zpool_do_import: use /dev instead of /dev/dsk as a default
This affects behavior of zpool import without -d option.
Reported by: Bruce Cran <bruce@cran.org.uk> Submitted by: Fabian Keil <freebsd-listen@fabiankeil.de> MFC after: 2 weeks
|
235457 |
14-May-2012 |
gnn |
Move sh to the correct path for FreeBSD.
|
235456 |
14-May-2012 |
gnn |
Move sh to the correct location for FreeBS (/bin/sh)
|
235455 |
14-May-2012 |
gnn |
Fix execsnoop by changing exece and exec to be FreeBSD's execve.
Reference sh in the correct location (/bin/sh)
|
235454 |
14-May-2012 |
gnn |
Fix opensnoop for FreeBSD by removing probes with 64 at the end as these are unnecessary.
Reference sh in the correct location (/bin/sh)
|
235380 |
12-May-2012 |
gnn |
Import dtracetoolkit into cddl/contrib
|
235379 |
12-May-2012 |
gnn |
Revert previous failed cp.
|
235378 |
12-May-2012 |
gnn |
Import dtracetoolkit into cddl/contrib
|
235222 |
10-May-2012 |
mm |
Import illumos changeset 13686:4bc0783f6064 2703 add mechanism to report ZFS send progress
If the zfs send command is used with the -v flag, the amount of bytes transmitted is reported in per second updates.
References: https://www.illumos.org/issues/2703
Obtained from: illumos (issue #2703) MFC after: 2 weeks
|
235217 |
10-May-2012 |
mm |
Remove unreachable break in zfs_main.c
Partial import of illumos changeset 13622:e5889df1eaac 2077 lots of unreachable breaks in illumos gate
References: https://www.illumos.org/issues/2077
PR: kern/167370 Submitted by: Marcelo Araujo <araujo@FreeBSD.org> Obtained from: illumos (issue #2077) MFC after: 1 week
|
235216 |
10-May-2012 |
mm |
Add support for force unmounting ZFS filesystems during "zfs rename" with the -f flag.
Reimplementation of the illumos changeset 13677:a0cbef703c12 2635 'zfs rename -f' to perform force unmount
References: https://www.illumos.org/issues/2635
PR: kern/164447 Suggested by: Marcelo Araujo <araujo@FreeBSD.org> Obtained from: illumos (issue #2635) MFC after: 1 week
|
235212 |
10-May-2012 |
mm |
Import illumos changeset 13618:c6ae14a341e8 [1]: 2088 zdb could use a reasonable manual page
Rewrite new zdb manpage to mdoc(7)
References: https://www.illumos.org/issues/2088
PR: kern/167467 [1] Submitted by: Marcelo Araujo <araujo@FreeBSD.org> [1] Reviewed by: mm Obtained from: Illumos (issue #2088) MFC after: 1 week
|
235211 |
10-May-2012 |
gjb |
General mdoc(7) and typo fixes.
PR: 167696 Submitted by: Nobuyuki Koganemaru (kogane!jp.freebsd.org) MFC after: 3 days
|
234691 |
26-Apr-2012 |
rstone |
Implement the D "cpu" variable, which returns curcpu. I have chosen not to follow the example of OpenSolaris and its descendants, which implemented cpu as an inline that took a value out of curthread. At certain points in the FreeBSD scheduler curthread->td_oncpu will no longer be valid (in particukar, just before the thread gets descheduled) so instead I have implemented this as its own built-in variable.
Sponsored by: Sandvine Inc. MFC after: 1 week
|
234654 |
24-Apr-2012 |
pjd |
Add -u option to 'zfs create' that prevents file system from being automatically mounted. This is similar to the 'zfs receive -u'.
MFC after: 1 week
|
234566 |
22-Apr-2012 |
delphij |
- Correct a typo which prevents 'lzjb' be displayed; - Use quotes when tab is used.
|
234336 |
16-Apr-2012 |
mm |
Fix typo miror -> mirror
Reported by: Glen Barber <gjb@FreeBSD.org> MFC after: 3 days
|
234234 |
13-Apr-2012 |
gnn |
Change SIGUSR1 to SIGTHR to properly wake up a process that is being traced. The use of SIGUSR1 caused traced processes (those attached to with dtrace -p) to exit when dtrace exited.
MFC in: 1 week
|
233414 |
24-Mar-2012 |
gonzo |
Add stub file for pid probe. It's required although pid probe is not supported on MIPS yet
|
233407 |
24-Mar-2012 |
gonzo |
Maintain target's byte order for multi-byte fields in CTF structures.
CTF format is not cross-platform by design, e.g. it is not guaranteed that data generated by ctfconvert/ctfmerge on one architecture will be successfuly read on another. CTF structures are saved/restored using naive approach. Roughly it looks like: write(fd, &ctf_struct, sizeof(ctf_struct)) read(fd, &ctf_struct, sizeof(ctf_struct))
By sheer luck memory layout of all type-related CTF structures is the same on amd64/i386/mips32/mips64. It's different on ARM though. sparc, ia64, powerpc, and powerpc64 were not tested. So in order to get file compatible with dtrace on ARM it should be compiled on ARM. Alternative solution would be to have "signatures" for every platform and ctfmerge should convert host's reperesentation of CTF structure to target's one using "signature" as template.
This patch checks byte order of ELF files used for generating CTF record and makes sure that byte order of data written to resulting files is the same as target's byte order.
|
232186 |
26-Feb-2012 |
mm |
Analogous to r232059, add a parameter for the ZFS file system:
allow.mount.zfs: allow mounting the zfs filesystem inside a jail
This way the permssions for mounting all current VFCF_JAIL filesystems inside a jail are controlled wia allow.mount.* jail parameters.
Update sysctl descriptions. Update jail(8) and zfs(8) manpages.
TODO: document the connection of allow.mount.* and VFCF_JAIL for kernel developers
MFC after: 10 days
|
232064 |
23-Feb-2012 |
mm |
Import illumos changeset 13608 [1]:
add support for "-t <datatype>" argument to zfs get
References: https://www.illumos.org/issues/1936
Update zfs(8) manpage in respect of [1]. Fix typo in zfs(8) manpage.
Obtained from: illumos (issue #1936) MFC after: 1 week
|
231852 |
17-Feb-2012 |
bz |
Merge multi-FIB IPv6 support from projects/multi-fibv6/head/:
Extend the so far IPv4-only support for multiple routing tables (FIBs) introduced in r178888 to IPv6 providing feature parity.
This includes an extended rtalloc(9) KPI for IPv6, the necessary adjustments to the network stack, and user land support as in netstat.
Sponsored by: Cisco Systems, Inc. Reviewed by: melifaro (basically) MFC after: 10 days
|
231144 |
07-Feb-2012 |
mm |
Merge illumos revision 13594:
uninitialized variables in zfs(8) may make snapshots undestroyable [1]
References: https://www.illumos.org/issues/2067 [1]
Obtained from: illumos (issue #2067) MFC after: 3 days
|
230635 |
28-Jan-2012 |
pfg |
Set SVN text/plain property for some shell scripts that happen to have a .exe extension.
While here fix the shebang of a shell script that was looking for /bin/bash.
Reviewed by: gnn Approved by: jhb (mentor) MFC after: 2 weeks
|
230629 |
27-Jan-2012 |
kmacy |
add KM_NODEBUG needed by ARC buffer core dump exclusion change
|
230514 |
24-Jan-2012 |
mm |
Merge illumos revisions 13572, 13573, 13574:
Rev. 13572: disk sync write perf regression when slog is used post oi_148 [1]
Rev. 13573: crash during reguid causes stale config [2] allow and unallow missing from zpool history since removal of pyzfs [5]
Rev. 13574: leaking a vdev when removing an l2cache device [3] memory leak when adding a file-based l2arc device [4] leak in ZFS from metaslab_group_create and zfs_ereport_checksum [6]
References: https://www.illumos.org/issues/1909 [1] https://www.illumos.org/issues/1949 [2] https://www.illumos.org/issues/1951 [3] https://www.illumos.org/issues/1952 [4] https://www.illumos.org/issues/1953 [5] https://www.illumos.org/issues/1954 [6]
Obtained from: illumos (issues #1909, #1949, #1951, #1952, #1953, #1954) MFC after: 2 weeks
|
230449 |
22-Jan-2012 |
mm |
Merge illumos revisions 13540, 13562:
illumos rev 13540 [1]: Removal of pyzfs broke delegation for volumes
illumos rev 13562 [2]: zfs allow arguments not parsed correctly after pyzfs removal
References: https://www.illumos.org/issues/1726 [1] https://www.illumos.org/issues/1977 [2]
Obtained from: illumos (issues #1726, #1977) MFC after: 1 week
|
230438 |
21-Jan-2012 |
pjd |
Dramatically optimize listing snapshots when user requests only snapshot names and wants to sort them by name, ie. when executes:
# zfs list -t snapshot -o name -s name
Because only name is needed we don't have to read all snapshot properties.
Below you can find how long does it take to list 34509 snapshots from a single disk pool before and after this change with cold and warm cache:
before:
# time zfs list -t snapshot -o name -s name > /dev/null cold cache: 525s warm cache: 218s
after:
# time zfs list -t snapshot -o name -s name > /dev/null cold cache: 1.7s warm cache: 1.1s
MFC after: 1 week
|
230404 |
20-Jan-2012 |
mm |
Add one more copyright line accidentially removed in r228103
MFC after: 3 days
|
230402 |
20-Jan-2012 |
mm |
Add accidentially removed copyright lines in r228103
Reported by: pjd MFC after: 3 days
|
229468 |
04-Jan-2012 |
pjd |
Add missing file permission to open(O_CREAT) call. This doesn't really matter here, as we open /dev/null for test purposes, but it is useful for consistency and further grepping for such bugs.
|
228598 |
16-Dec-2011 |
dim |
In cddl/contrib/opensolaris/cmd/dtrace/dtrace.c, fix some obtuse snprintf tricks.
MFC after: 1 week
|
228597 |
16-Dec-2011 |
dim |
In cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c, a size_t is passed to fprintf as a field width. It should be an int instead, so cast it.
MFC after: 1 week
|
228580 |
16-Dec-2011 |
dim |
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_handle.c, some uint64_t values are snprintf'd using %llx. On amd64, uint64_t is typedef'd as unsigned long, so cast the values to u_longlong_t, as is done similarly in the rest of the file.
MFC after: 1 week
|
228579 |
16-Dec-2011 |
dim |
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c, some uint64_t values are snprintf'd using %llx. On amd64, uint64_t is typedef'd as unsigned long, so cast the values to u_longlong_t, as is done similarly in the rest of the file.
MFC after: 1 week
|
228550 |
15-Dec-2011 |
dim |
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c, the dt_popc() function assumes that either _ILP32 or _LP64 is defined, otherwise it has no suitable implementation.
However, the _ILP32 and _LP64 macros come from isa_defs.h, which is not included in this file. Add the include now, to get the macros defined.
MFC after: 1 week
|
228549 |
15-Dec-2011 |
dim |
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c, use the correct printf format for a key_t (aka long).
MFC after: 1 week
|
228548 |
15-Dec-2011 |
dim |
In cddl/contrib/opensolaris/lib/libdtrace/i386/dt_isadep.c, use the correct printf format for an unsigned long.
MFC after: 1 week
|
228547 |
15-Dec-2011 |
dim |
Cast away a clang alignment warning in drti.c's fixsymbol() function. This code only runs on i386 and amd64, so there should be no problems if buf + sec->dofs_offset is not aligned (which is unlikely anyway).
MFC after: 1 week
|
228353 |
08-Dec-2011 |
mm |
Some mdoc(7) style and typo fixes to zfs(8).
Submitted by: Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp> MFC after: 3 days
|
228206 |
02-Dec-2011 |
mm |
Remove unnecesary "Ns" macros and add missing command example to zpool(8).
Reported by: Nobuyuki Koganemaru <kogane@FreeBSD.org> MFC after: 3 days
|
228103 |
28-Nov-2011 |
mm |
Merge new ZFS features from illumos:
1644 add ZFS "clones" property https://www.illumos.org/issues/1644
1645 add ZFS "written" and "written@..." properties https://www.illumos.org/issues/1645
1646 "zfs send" should estimate size of stream https://www.illumos.org/issues/1646
1647 "zfs destroy" should determine space reclaimed by destroying multiple snapshots https://www.illumos.org/issues/1647
1693 persistent 'comment' field for a zpool https://www.illumos.org/issues/1693
1708 adjust size of zpool history data https://www.illumos.org/issues/1708
1748 desire support for reguid in zfs https://www.illumos.org/issues/1748
Obtained from: illumos (changesets 13514, 13524, 13525) MFC after: 1 month
|
228055 |
28-Nov-2011 |
mm |
Use singular form for zfs destroy snapshot in zfs(8).
MFC after: 6 days
|
228054 |
28-Nov-2011 |
mm |
Add missing warning to zfs(8) for using "zfs destroy" with -r and -R flags.
Obtained from: illumos MFC after: 6 days
|
228045 |
27-Nov-2011 |
mm |
Add missing -n flag to "zpool import" description.
MFC after: 1 week
|
228020 |
27-Nov-2011 |
mm |
Fix zfs(8) and zpool(8) context help to repport supported flags.
MFC after: 3 days
|
228019 |
27-Nov-2011 |
mm |
Update ZFS manual pages to a mdoc(7) reimplementation.
The zfs(8) and zpool(8) manual pages now match the state of the ZFS module and have been customized for FreeBSD.
The new texts of the "Deduplication" subsection in zfs(8), the zpool "split" command, the zfs "dedup" property and several other missing parts have been added from illumos or OpenSolaris snv_134 (CDDL-licensed).
The mdoc(7) reimplementation of whole manual pages, the descriptions of the zpool "readonly" property, "zfs diff" command and descriptions of several other missing command flags and/or options were authored by myself.
MFC after: 1 week
|
227803 |
21-Nov-2011 |
mm |
Revert back to revision 227649 because of license uncertainity.
Manual pages from OpenSolaris svn_134 are still properly CDDL licensed but I have been informed that the parts from s11ex are uncertain even if they contain a CDDL header.
|
227795 |
21-Nov-2011 |
mm |
Fix mismerge in copyright of zpool(8).
MFC after: 4 days
|
227794 |
21-Nov-2011 |
mm |
Update zfs(8) and zpool(8) manpages from CDDL-licensed sources [1]. Improved alignment for a maximum width of 80 characters. Mark unsupported parts as such.
Reported to vendor: Illumos issue #1801
References: https://www.illumos.org/issues/1801
Obtained from: OpenSolaris CDDL manual pages (snv_134, s11express) [1] MFC after: 4 days
|
227752 |
20-Nov-2011 |
mm |
Update and desolarization of zdb(8) and zstreamdump(1) manual pages: - synchronized to match new vendor code [1] - removed ATTRIBUTES sections - updated SEE ALSO sections - properly updated copyright information (required by CDDL) - remove empty lines via MANFILTER
Obtained from: Illumos [1] MFC after: 5 days
|
227649 |
18-Nov-2011 |
mm |
More zfs(8) manpage fixes: - remove shareiscsi property - mark casesensitivity property as unsupported - remove reference to Solaris Administration Guide
MFC after: 1 week
|
227648 |
18-Nov-2011 |
mm |
Fix reference to fsync(2). Add more references to SEE ALSO section.
MFC after: 1 week
|
227646 |
18-Nov-2011 |
mm |
Update and desolarization of zfs(8) and zpool(8) manual pages: - synchronized to match new vendor code (Illumos rev. 13513) [1] - removed references to sun commands (replaced with FreeBSD commands) - removed ATTRIBUTES sections - updated SEE ALSO sections - properly updated copyright information (required by CDDL) - remove empty lines via MANFILTER
zfs(8) only: - replaced "Zones" section with new "Jails" section - removed misleading "ZFS Volumes as Swap or Dump Devices" section - updated shareiscsi and sharesmb option information (not supported on FreeBSD) - replace zoned property with jailed property
zpool(8) only: - updated device names in examples
Obtained from: Illumos (as of rev. 13513:f84d4672fdbd) [1] MFC after: 1 week
|
227497 |
14-Nov-2011 |
mm |
Import upstream changesets for the output of the "zpool" command:
952 separate intent logs should be obvious in 'zpool iostat' output 1337 `zpool status -D' should tell if there are no DDT entries
References: https://www.illumos.org/issues/952 https://www.illumos.org/issues/1337
Obtained from: Illumos (issues 952, 1337; changesets 13384, 13432) MFC after: 1 week
|
226706 |
24-Oct-2011 |
pjd |
Update copyright to include myself.
MFC after: 2 weeks
|
226705 |
24-Oct-2011 |
pjd |
Extend r226676 to allow rename without unmount even for file systems with non-legacy mountpoints. It is better to be able to rename such file systems and let them be mounted in old places until next reboot than using live CD, etc. to rename with remount.
This is implemented by adding -u option to 'zfs rename'. If file system's mountpoint property is set to 'legacy' or 'none', there is no need to specify -u.
Update zfs(8) manual page to reflect this addition.
MFC after: 2 weeks
|
226676 |
24-Oct-2011 |
pjd |
Allow to rename file systems without remounting if it is possible. It is possible for file systems with 'mountpoint' preperty set to 'legacy' or 'none' - we don't have to change mount directory for them. Currently such file systems are unmounted on rename and not even mounted back.
This introduces layering violation, as we need to update 'f_mntfromname' field in statfs structure related to mountpoint (for the dataset we are renaming and all its children).
In my opinion it is worth it, as it allow to update FreeBSD in even cleaner way - in ZFS-only configuration root file system is ZFS file system with 'mountpoint' property set to 'legacy'. If root dataset is named system/rootfs, we can snapshot it (system/rootfs@upgrade), clone it (system/oldrootfs), update FreeBSD and if it doesn't boot we can boot back from system/oldrootfs and rename it back to system/rootfs while it is mounted as /. Before it was not possible, because unmounting / was not possible.
MFC after: 2 weeks
|
226616 |
21-Oct-2011 |
pjd |
zdb: access dp_free_bpobj only if pool version is >= SPA_VERSION_DEADLISTS
Submitted by: avg MFC after: 3 days
|
226615 |
21-Oct-2011 |
pjd |
thr_create: new_thread_ID may be NULL
Submitted by: avg MFC after: 3 days
|
226613 |
21-Oct-2011 |
pjd |
libzpool task_alloc: pass only valid flags to kmem_alloc
tqflags may contain other flags besided those that are suitable for kmem_alloc == umem_alloc
Submitted by: avg MFC after: 3 days
|
226583 |
20-Oct-2011 |
pjd |
Make all the lines align properly.
MFC after: 3 days
|
225828 |
28-Sep-2011 |
mm |
Remove assertion that prevents zfs rename of datasets with mountpoint=none or mountpoint=legacy that have children datasets. This also fixes dataset rename when receiving incremental snapshots as reported on freebsd-fs@
This assertion was made triggerable by opensolaris change #10196.
PR: bin/160400 Reviewed by: pjd MFC after: 1 week
|
224526 |
30-Jul-2011 |
mm |
Fix serious bug in ZIL that can lead to pool corruption in the case of a held dataset during remount.
Detailed description is available at: https://www.illumos.org/issues/883
illumos-gate revision: 13380:161b964a0e10
Reviewed by: pjd Approved by: re (kib) Obtained from: Illumos (Bug #883) MFC after: 3 days
|
224525 |
30-Jul-2011 |
mm |
Fix wrong initialization of "cmd" for calling the jail/unjail ioctl.
Reviewed by: pjd@, delphij@ Approved by: re (kib) MFC after: 3 days
|
224177 |
18-Jul-2011 |
mm |
ZFS tries to allocate blocks evenly across all devices. This means when devices are imbalanced zfs will lots of CPU searching for space on devices which tend to be pretty full. It should instead fail quickly on the full devices and move onto devices which have more availability.
New loader tunable: vfs.zfs.mg_alloc_failures (min = 8)
Illumos-gate changeset: 13379:4df42cc92254
Obtained from: Illumos (Bug #1051) MFC after: 2 weeks
|
224174 |
18-Jul-2011 |
mm |
Resurrect the ZFS "aclmode" property Change default of "aclmode" to "discard".
Illumos-gate changeset: 13370:8c04143bd318
Obtained from: Illumos (Feature #742) MFC after: 2 weeks
|
224171 |
18-Jul-2011 |
gibbs |
cddl/contrib/opensolaris/cmd/zpool/zpool_main.c: cddl/contrib/opensolaris/cmd/zpool/zpool.8: cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c: Add the "zpool labelclear" command. This command can be used to wipe the label data from a drive that is not active in a pool. The optional "-f" argument can be used to treat an exported or foreign vdev as "inactive" thus allowing its label information to be cleared.
|
224170 |
18-Jul-2011 |
gibbs |
Correct reporting of missing leaf vdevs so that the GUID required to perform pool actions is always displayed.
cddl/contrib/opensolaris/cmd/zpool/zpool_main.c: The "zpool status" command reports the "last seen at" device node path when the vdev name is being reported by GUID. Augment this code to assume a GUID is reported when a device goes missing after initial boot in addition to the previous behavior of doing this for devices that aren't seen at boot.
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c: In zpool_vdev_name(), report recently missing devices by GUID. There is no guarantee they will return at their previous location.
|
224169 |
18-Jul-2011 |
gibbs |
cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h: cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c: o Add zpool_pool_state_to_name() API to libzfs which converts a pool_state_t into a user consumable string. o While here, correct constness of make zpool_state_to_name() and zpool_label_disk().
MFD after: 1 week
|
223758 |
04-Jul-2011 |
attilio |
With retirement of cpumask_t and usage of cpuset_t for representing a mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient.
Remove them and replace their usage with custom pc_cpuid magic (as, atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))).
This change is not targeted for MFC because of struct pcpu members removal and dependency by cpumask_t retirement.
MD review by: marcel, marius, alc Tested by: pluknet MD testing by: marcel, marius, gonzo, andreast
|
223623 |
28-Jun-2011 |
mm |
Add a new "REFCOMPRESSRATIO" property.
For snapshots, this is the same as COMPRESSRATIO, but for filesystems/volumes, the COMPRESSRATIO is based on the data "USED" (ie, includes blocks in children, but not blocks shared with the origin).
This is needed to figure out how much space a filesystem would use if it were not compressed (ignoring snapshots).
Illumos-gate revision: 13387
Obtained from: Illumos (Feature #1092) MFC after: 2 weeks
|
223620 |
28-Jun-2011 |
mm |
Allow mountpoints as arguments for the 'zfs get' command.
Illumos-gate revision: 13295
Obtained from: Illumos (Feature #510) MFC after: 1 week
|
223293 |
19-Jun-2011 |
simon |
Do not use #warning to warn about missing implementation of dt_popc(), but just have a comment that this is broken.
This is just a bandaid until somebody can fix this correctly. The code is just a broken as it was before r223262 - now buildworld just doesn't fail.
Tested by: i386 + amd64 buildworld With hat: benl co-mentor
|
223262 |
18-Jun-2011 |
benl |
Fix clang warnings.
Approved by: philip (mentor)
|
222813 |
07-Jun-2011 |
attilio |
etire the cpumask_t type and replace it with cpuset_t usage.
This is intended to fix the bug where cpu mask objects are capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever value. Anyway, as long as several structures in the kernel are statically allocated and sized as MAXCPU, it is suggested to keep it as low as possible for the time being.
Technical notes on this commit itself: - More functions to handle with cpuset_t objects are introduced. The most notable are cpusetobj_ffs() (which calculates a ffs(3) for a cpuset_t object), cpusetobj_strprint() (which prepares a string representing a cpuset_t object) and cpusetobj_strscan() (which creates a valid cpuset_t starting from a string representation). - pc_cpumask and pc_other_cpus are target to be removed soon. With the moving from cpumask_t to cpuset_t they are now inefficient and not really useful. Anyway, for the time being, please note that access to pcpu datas is protected by sched_pin() in order to avoid migrating the CPU while reading more than one (possible) word - Please note that size of cpuset_t objects may differ between kernel and userland. While this is not directly related to the patch itself, it is good to understand that concept and possibly use the patch as a reference on how to deal with cpuset_t objects in userland, when accessing kernland members. - KTR_CPUMASK is changed and now is represented through a string, to be set as the example reported in NOTES.
Please additively note that no MAXCPU is bumped in this patch, but private testing has been done until to MAXCPU=128 on a real 8x8x2(htt) machine (amd64).
Please note that the FreeBSD version is not yet bumped because of the upcoming pcpu changes. However, note that this patch is not targeted for MFC.
People to thank for the time spent on this patch: - sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested several revision of the patches and really helped in improving stability of this work. - marius fixed several bugs in the sparc64 implementation and reviewed patches related to ktr. - jeff and jhb discussed the basic approach followed. - kib and marcel made targeted review on some specific part of the patch. - marius, art, nwhitehorn and andreast reviewed MD specific part of the patch. - marius, andreast, gonzo, nwhitehorn and jceel tested MD specific implementations of the patch. - Other people have made contributions on other patches that have been already committed and have been listed separately.
Companies that should be mentioned for having participated at several degrees: - Yahoo! for having offered the machines used for testing on big count of CPUs. - The FreeBSD Foundation for having sponsored my devsummit attendance, which has been instrumental. - Sandvine for having offered offices and infrastructure during development.
(I really hope I didn't forget anyone, if it happened I apologize in advance).
|
220575 |
12-Apr-2011 |
pjd |
Fix 'zfs list <path>' handling. If the path was found, the 'ret' variable was uninitialized.
PR: kern/155940 Submitted by: KOIE Hidetaka <koie@suri.co.jp> MFC after: 1 week
|
219959 |
24-Mar-2011 |
pjd |
Properly print characters larger than 127.
Submitted by: noordsij <noordsij@cs.helsinki.fi> Reviewed by: Eric Schrock <eric.schrock@delphix.com> MFC after: 1 month
|
219089 |
27-Feb-2011 |
pjd |
Finally... Import the latest open-source ZFS version - (SPA) 28.
Few new things available from now on:
- Data deduplication. - Triple parity RAIDZ (RAIDZ3). - zfs diff. - zpool split. - Snapshot holds. - zpool import -F. Allows to rewind corrupted pool to earlier transaction group. - Possibility to import pool in read-only mode.
MFC after: 1 month
|
217367 |
13-Jan-2011 |
mdf |
Re-commit the zfs sysctl(9) type-safety changes.
Thanks to dim and pjd for the pointer to zfs_context.h for building userland.
|
216293 |
08-Dec-2010 |
mm |
Print message with information about updating the boot code if a new vdev is attached to a root pool (e.g. when creating a mirrored boot pool).
Reviewed by: pav Approved by: delphij (mentor) MFC after: 3 days
|
216291 |
08-Dec-2010 |
mm |
Do not print OpenSolaris hint to use (non-existing) installgrub(1) command if creating a mirror by attaching a new vdev to a root pool.
Reported by: James R. Van Artsdalen (on freebsd-fs@freebsd.org) Approved by: delphij (mentor) MFC after: 3 days
|
214623 |
01-Nov-2010 |
pjd |
Fix ztest when it is executed by just 'ztest' and not by full path '/usr/bin/ztest'.
|
214622 |
01-Nov-2010 |
pjd |
1. Remove invalid assertion. 2. Properly recalculate delta in case pthread_cond_timedwait() is interrupted. 3. Style fix.
Reported by: [1] App Deb <appdebgr@gmail.com>
|
213198 |
27-Sep-2010 |
mm |
Properly handle IO with B_FAILFAST Retry IO once with ZIO_FLAG_TRYHARD before declaring a pool faulted
OpenSolaris revision and Bug IDs:
9725:0bf7402e8022 6843014 ZFS B_FAILFAST handling is broken
Approved by: delphij (mentor) Obtained from: OpenSolaris (Bug ID 6843014) MFC after: 3 weeks
|
213197 |
27-Sep-2010 |
mm |
Enable offlining of log devices.
OpenSolaris revision and Bug IDs:
9701:cc5b64682e64 6803605 should be able to offline log devices 6726045 vdev_deflate_ratio is not set when offlining a log device 6599442 zpool import has faults in the display
Approved by: delphij (mentor) Obtained from: OpenSolaris (Bug ID 6803605, 6726045, 6599442) MFC after: 3 weeks
|
212791 |
17-Sep-2010 |
mm |
Remove duplicate include of <strings.h>
Approved by: delphij (mentor) MFC after: 3 days
|
212495 |
12-Sep-2010 |
rpaulo |
Give a chance to the target binary to run the ctors by waiting until it has reached main(). This allows plockstat to work.
Sponsored by: The FreeBSD Foundation
|
212462 |
11-Sep-2010 |
rpaulo |
Disable debug by default.
Sponsored by: The FreeBSD Foundation
|
212414 |
10-Sep-2010 |
rpaulo |
Don't try to map the USDT probes. This is necessary because there is no __SUNW_dof symbol present in FreeBSD binaries.
Sponsored by: The FreeBSD Foundation
|
212358 |
09-Sep-2010 |
rpaulo |
Don't clobber an existing target object file when doing the DTrace linking process. This is needed because we change the source object files and the second this dtrace -G is run, no probes will be found. This hack allows us to build postgres with DTrace probes enabled. I'll try to find a way to fix this without needing this hack.
Sponsored by: The FreeBSD Foundation
|
212092 |
01-Sep-2010 |
rpaulo |
Include <sys/sdt.h> on a generated header.
Sponsored by: The FreeBSD Foundation
|
212067 |
31-Aug-2010 |
pjd |
Eliminate confusing while () loop. In the first version of the code it was there to avoid gotos, but in the current version it serves no purpose.
MFC after: 2 weeks
|
212050 |
31-Aug-2010 |
pjd |
When upgrading a pool which contain root file system, give user a hint that he should update boot code.
MFC after: 2 weeks
|
211972 |
29-Aug-2010 |
pjd |
Give user a hint what to do when /usr/lib/zfs/pyzfs.py is missing.
MFC after: 2 weeks
|
211971 |
29-Aug-2010 |
pjd |
Print errors on stderr.
MFC after: 2 weeks
|
211970 |
29-Aug-2010 |
pjd |
Fix 'zfs allow' (maybe not only) returning:
cannot access dataset system/usr/home: Operation not supported
by including libzfs_impl.h. What libzfs_impl.h does is to redefine ioctl() to be compatible with OpenSolaris. More specifically OpenSolaris returns ENOMEM when buffer is too small and sets field zc_nvlist_dst_size to the size that will be big enough for the data. In FreeBSD case ioctl() doesn't copy data structure back in case of a failure. We work-around it in kernel and libzfs by returning 0 from ioctl() and always checking if zc_nvlist_dst_size hasn't changed. For this work-around to work in pyzfs we need this compatible ioctl() which is implemented in libzfs_impl.h.
MFC after: 2 weeks
|
211931 |
28-Aug-2010 |
mm |
Update ZFS metaslab code from OpenSolaris. This provides a noticeable write speedup, especially on pools with less than 30% of free space.
Detailed information (OpenSolaris onnv changesets and Bug IDs):
11146:7e58f40bcb1c 6826241 Sync write IOPS drops dramatically during TXG sync 6869229 zfs should switch to shiny new metaslabs more frequently
11728:59fdb3b856f6 6918420 zdb -m has issues printing metaslab statistics
12047:7c1fcc8419ca 6917066 zfs block picking can be improved
Approved by: delphij (mentor) Obtained from: OpenSolaris (Bug ID 6826241, 6869229, 6918420, 6917066) MFC after: 2 weeks
|
211786 |
24-Aug-2010 |
rpaulo |
Port dtruss to FreeBSD.
Sponsored by: The FreeBSD Foundation
|
211784 |
24-Aug-2010 |
rpaulo |
Merge dtracetoolkit/dtruss from the vendor.
Sponsored by: The FreeBSD Foundation
|
211782 |
24-Aug-2010 |
rpaulo |
Remove this directory for an attempt to merge from the vendor tree.
|
211562 |
21-Aug-2010 |
rpaulo |
Port plockstat to FreeBSD. This will be connected to the build later.
Sponsored by: The FreeBSD Foundation
|
211558 |
21-Aug-2010 |
rpaulo |
Add a directory for the DTraceToolkit.
Sponsored by: The FreeBSD Foundation
|
211554 |
21-Aug-2010 |
rpaulo |
Add libdtrace support for tracing userland programs.
Summary of changes: * Implement a compatibility shim between Solaris libproc and our libproc and remove several ifdefs because of this. * Port the drti to FreeBSD. * Implement the missing DOODAD sections * Link with libproc and librtld_db * Support for ustack, jstack and uregs (by sson@) * Misc bugfixing
When writing the SUWN_dof section, we had to resort to building the ELF file layout by "hand". This is the job of libelf, but our libelf doesn't support this yet. When libelf is fixed, we can remove the code under #ifdef BROKEN_LIBELF.
Sponsored by: The FreeBSD Foundation
|
211545 |
21-Aug-2010 |
rpaulo |
Port most of the DTrace tests to FreeBSD.
Sponsored by: The FreeBSD Foundation
|
210776 |
02-Aug-2010 |
rpaulo |
Fix another mismerge: bring back the definition of DT_MUTEX_HELD().
|
210775 |
02-Aug-2010 |
rpaulo |
Fix the result of a mismerge. MUTEX_HELD should be DT_MUTEX_HELD() and Plmid() is not supposed to be called.
|
210767 |
02-Aug-2010 |
rpaulo |
MFV OpenSolaris DTrace userland bits.
|
210695 |
31-Jul-2010 |
rpaulo |
proc_wait() was replaced by proc_wstatus(). Right now this call is useless because userland support is not working on HEAD, but this makes libdtrace compile again.
Sponsored by: The FreeBSD Foundation
|
210692 |
31-Jul-2010 |
rpaulo |
Update to the new proc_detach() function.
Sponsored by: The FreeBSD Foundation
|
210438 |
23-Jul-2010 |
np |
Catch up with r210324. d_buf will be NULL for SHT_NOBITS sections, do not attempt to copy from it in that case.
MFC after: 1 month
|
210425 |
23-Jul-2010 |
avg |
dtrace: correctly map sections to addresses in elf object modules (amd64)
Unlike for modules with dso type, in elf object modules all the sections have virtual address of zero. So, it is insufficient to add module base address to section virtual address (as recorded in section header) to get section address in kernel memory. Instead, we should apply the same calculations that are performed by kernel loaders (in boot code and in kernel) when they lay out sections in memory. Also, unlike OpenSolaris, the sections are not collapsed into just .text, .data and .bss by module loaders, so we need to take additional care about other sections.
Note that in-kernel symbol-to-address mapping worked just fine, e.g. fbt provider could correctly find the functions, etc. It's only in userland that the mapping in both direction worked incorrectly, e.g. in stack() output addresses of functions in kernel modules were not translated to their names.
Reviewed by: rpaulo MFC after: 3 weeks
|
210398 |
22-Jul-2010 |
mm |
Enable fake resolving of SMB RIDs by using nulldomain and UID_NOBODY - fixes panics when Solaris/OpenSolaris pools that contain files uploaded with the SMB protocol are accessed
Enable seting/unsetting the sharesmb property (dummy action) - allows users who import pools from Solaris/Opensolaris to unset the sharesmb property and get rid of annoying messages
PR: kern/145778, kern/148709 Approved by: pjd, delphij (mentor) MFC after: 7 weeks
|
210237 |
19-Jul-2010 |
rpaulo |
MFV: OpenSolaris' plockstat utility.
Sponsored by: The FreeBSD Foundation
|
210199 |
17-Jul-2010 |
rpaulo |
Merge from vendor: libdtrace MD parts needed by fasttrap.
Sponsored by: The FreeBSD Foundation
|
210044 |
14-Jul-2010 |
pjd |
MFp4 180933:
Initialize rw_count properly so that zdb(8) doesn't trigger assertion in rw_enter():
ASSERT(rwlp->rw_count == 0);
While here, assert that rw_count is 0 when destroying the lock.
MFC after: 1 week
|
209962 |
13-Jul-2010 |
mm |
Merge ZFS version 15 and almost all OpenSolaris bugfixes referenced in Solaris 10 updates 141445-09 and 142901-14.
Detailed information: (OpenSolaris revisions and Bug IDs, Solaris 10 patch numbers)
7844:effed23820ae 6755435 zfs_open() and zfs_close() needs to use ZFS_ENTER/ZFS_VERIFY_ZP (141445-01)
7897:e520d8258820 6748436 inconsistent zpool.cache in boot_archive could panic a zfs root filesystem upon boot-up (141445-01)
7965:b795da521357 6740164 zpool attach can create an illegal root pool (141909-02)
8084:b811cc60d650 6769612 zpool_import() will continue to write to cachefile even if altroot is set (N/A)
8121:7fd09d4ebd9c 6757430 want an option for zdb to disable space map loading and leak tracking (141445-01)
8129:e4f45a0bfbb0 6542860 ASSERT: reason != VDEV_LABEL_REMOVE||vdev_inuse(vd, crtxg, reason, 0) (141445-01)
8188:fd00c0a81e80 6761100 want zdb option to select older uberblocks (141445-01)
8190:6eeea43ced42 6774886 zfs_setattr() won't allow ndmp to restore SUNWattr_rw (141445-01)
8225:59a9961c2aeb 6737463 panic while trying to write out config file if root pool import fails (141445-01)
8227:f7d7be9b1f56 6765294 Refactor replay (141445-01)
8228:51e9ca9ee3a5 6572357 libzfs should do more to avoid mnttab lookups (141909-01) 6572376 zfs_iter_filesystems and zfs_iter_snapshots get objset stats twice (141909-01)
8241:5a60f16123ba 6328632 zpool offline is a bit too conservative (141445-01) 6739487 ASSERT: txg <= spa_final_txg due to scrub/export race (141445-01) 6767129 ASSERT: cvd->vdev_isspare, in spa_vdev_detach() (141445-01) 6747698 checksum failures after offline -t / export / import / scrub (141445-01) 6745863 ZFS writes to disk after it has been offlined (141445-01) 6722540 50% slowdown on scrub/resilver with certain vdev configurations (141445-01) 6759999 resilver logic rewrites ditto blocks on both source and destination (141445-01) 6758107 I/O should never suspend during spa_load() (141445-01) 6776548 codereview(1) runs off the page when faced with multi-line comments (N/A) 6761406 AMD errata 91 workaround doesn't work on 64-bit systems (141445-01)
8242:e46e4b2f0a03 6770866 GRUB/ZFS should require physical path or devid, but not both (141445-01)
8269:03a7e9050cfd 6674216 "zfs share" doesn't work, but "zfs set sharenfs=on" does (141445-01) 6621164 $SRC/cmd/zfs/zfs_main.c seems to have a syntax error in the translation note (141445-01) 6635482 i18n problems in libzfs_dataset.c and zfs_main.c (141445-01) 6595194 "zfs get" VALUE column is as wide as NAME (141445-01) 6722991 vdev_disk.c: error checking for ddi_pathname_to_dev_t() must test for NODEV (141445-01) 6396518 ASSERT strings shouldn't be pre-processed (141445-01)
8274:846b39508aff 6713916 scrub/resilver needlessly decompress data (141445-01)
8343:655db2375fed 6739553 libzfs_status msgid table is out of sync (141445-01) 6784104 libzfs unfairly rejects numerical values greater than 2^63 (141445-01) 6784108 zfs_realloc() should not free original memory on failure (141445-01)
8525:e0e0e525d0f8 6788830 set large value to reservation cause core dump (141445-01) 6791064 want sysevents for ZFS scrub (141445-01) 6791066 need to be able to set cachefile on faulted pools (141445-01) 6791071 zpool_do_import() should not enable datasets on faulted pools (141445-01) 6792134 getting multiple properties on a faulted pool leads to confusion (141445-01)
8547:bcc7b46e5ff7 6792884 Vista clients cannot access .zfs (141445-01)
8632:36ef517870a3 6798384 It can take a village to raise a zio (141445-01)
8636:7e4ce9158df3 6551866 deadlock between zfs_write(), zfs_freesp(), and zfs_putapage() (141909-01) 6504953 zfs_getpage() misunderstands VOP_GETPAGE() interface (141909-01) 6702206 ZFS read/writer lock contention throttles sendfile() benchmark (141445-01) 6780491 Zone on a ZFS filesystem has poor fork/exec performance (141445-01) 6747596 assertion failed: DVA_EQUAL(BP_IDENTITY(&zio->io_bp_orig), BP_IDENTITY(zio->io_bp))); (141445-01)
8692:692d4668b40d 6801507 ZFS read aggregation should not mind the gap (141445-01)
8697:e62d2612c14d 6633095 creating a filesystem with many properties set is slow (141445-01)
8768:dfecfdbb27ed 6775697 oracle crashes when overwriting after hitting quota on zfs (141909-01)
8811:f8deccf701cf 6790687 libzfs mnttab caching ignores external changes (141445-01) 6791101 memory leak from libzfs_mnttab_init (141445-01)
8845:91af0d9c0790 6800942 smb_session_create() incorrectly stores IP addresses (N/A) 6582163 Access Control List (ACL) for shares (141445-01) 6804954 smb_search - shortname field should be space padded following the NULL terminator (N/A) 6800184 Panic at smb_oplock_conflict+0x35() (N/A)
8876:59d2e67b4b65 6803822 Reboot after replacement of system disk in a ZFS mirror drops to grub> prompt (141445-01)
8924:5af812f84759 6789318 coredump when issue zdb -uuuu poolname/ (141445-01) 6790345 zdb -dddd -e poolname coredump (141445-01) 6797109 zdb: 'zdb -dddddd pool_name/fs_name inode' coredump if the file with inode was deleted (141445-01) 6797118 zdb: 'zdb -dddddd poolname inum' coredump if I miss the fs name (141445-01) 6803343 shareiscsi=on failed, iscsitgtd failed request to share (141445-01)
9030:243fd360d81f 6815893 hang mounting a dataset after booting into a new boot environment (141445-01)
9056:826e1858a846 6809691 'zpool create -f' no longer overwrites ufs infomation (141445-01)
9179:d8fbd96b79b3 6790064 zfs needs to determine uid and gid earlier in create process (141445-01)
9214:8d350e5d04aa 6604992 forced unmount + being in .zfs/snapshot/<snap1> = not happy (141909-01) 6810367 assertion failed: dvp->v_flag & VROOT, file: ../../common/fs/gfs.c, line: 426 (141909-01)
9229:e3f8b41e5db4 6807765 ztest_dsl_dataset_promote_busy needs to clean up after ENOSPC (141445-01)
9230:e4561e3eb1ef 6821169 offlining a device results in checksum errors (141445-01) 6821170 ZFS should not increment error stats for unavailable devices (141445-01) 6824006 need to increase issue and interrupt taskqs threads in zfs (141445-01)
9234:bffdc4fc05c4 6792139 recovering from a suspended pool needs some work (141445-01) 6794830 reboot command hangs on a failed zfs pool (141445-01)
9246:67c03c93c071 6824062 System panicked in zfs_mount due to NULL pointer dereference when running btts and svvs tests (141909-01)
9276:a8a7fc849933 6816124 System crash running zpool destroy on broken zpool (141445-03)
9355:09928982c591 6818183 zfs snapshot -r is slow due to set_snap_props() doing txg_wait_synced() for each new snapshot (141445-03)
9391:413d0661ef33 6710376 log device can show incorrect status when other parts of pool are degraded (141445-03)
9396:f41cf682d0d3 (part already merged) 6501037 want user/group quotas on ZFS (141445-03) 6827260 assertion failed in arc_read(): hdr == pbuf->b_hdr (141445-03) 6815592 panic: No such hold X on refcount Y from zfs_znode_move (141445-03) 6759986 zfs list shows temporary %clone when doing online zfs recv (141445-03)
9404:319573cd93f8 6774713 zfs ignores canmount=noauto when sharenfs property != off (141445-03)
9412:4aefd8704ce0 6717022 ZFS DMU needs zero-copy support (141445-03)
9425:e7ffacaec3a8 6799895 spa_add_spares() needs to be protected by config lock (141445-03) 6826466 want to post sysevents on hot spare activation (141445-03) 6826468 spa 'allowfaulted' needs some work (141445-03) 6826469 kernel support for storing vdev FRU information (141445-03) 6826470 skip posting checksum errors from DTL regions of leaf vdevs (141445-03) 6826471 I/O errors after device remove probe can confuse FMA (141445-03) 6826472 spares should enjoy some of the benefits of cache devices (141445-03)
9443:2a96d8478e95 6833711 gang leaders shouldn't have to be logical (141445-03)
9463:d0bd231c7518 6764124 want zdb to be able to checksum metadata blocks only (141445-03)
9465:8372081b8019 6830237 zfs panic in zfs_groupmember() (141445-03)
9466:1fdfd1fed9c4 6833162 phantom log device in zpool status (141445-03)
9469:4f68f041ddcd 6824968 add ZFS userquota support to rquotad (141445-03)
9470:6d827468d7b5 6834217 godfather I/O should reexecute (141445-03)
9480:fcff33da767f 6596237 Stop looking and start ganging (141909-02)
9493:9933d599bc93 6623978 lwb->lwb_buf != NULL, file ../../../uts/common/fs/zfs/zil.c, line 787, function zil_lwb_commit (141445-06)
9512:64cafcbcc337 6801810 Commit of aligned streaming rewrites to ZIL device causes unwanted disk reads (N/A)
9515:d3b739d9d043 6586537 async zio taskqs can block out userland commands (142901-09)
9554:787363635b6a 6836768 zfs_userspace() callback has no way to indicate failure (N/A)
9574:1eb6a6ab2c57 6838062 zfs panics when an error is encountered in space_map_load() (141909-02)
9583:b0696cd037cc 6794136 Panic BAD TRAP: type=e when importing degraded zraid pool. (141909-03)
9630:e25a03f552e0 6776104 "zfs import" deadlock between spa_unload() and spa_async_thread() (141445-06)
9653:a70048a304d1 6664765 Unable to remove files when using fat-zap and quota exceeded on ZFS filesystem (141445-06)
9688:127be1845343 6841321 zfs userspace / zfs get userused@ doesn't work on mounted snapshot (N/A) 6843069 zfs get userused@S-1-... doesn't work (N/A)
9873:8ddc892eca6e 6847229 assertion failed: refcount_count(&tx->tx_space_written) + delta <= tx->tx_space_towrite in dmu_tx.c (141445-06)
9904:d260bd3fd47c 6838344 kernel heap corruption detected on zil while stress testing (141445-06)
9951:a4895b3dd543 6844900 zfs_ioc_userspace_upgrade leaks (N/A)
10040:38b25aeeaf7a 6857012 zfs panics on zpool import (141445-06)
10000:241a51d8720c 6848242 zdb -e no longer works as expected (N/A)
10100:4a6965f6bef8 6856634 snv_117 not booting: zfs_parse_bootfs: error2 (141445-07)
10160:a45b03783d44 6861983 zfs should use new name <-> SID interfaces (N/A) 6862984 userquota commands can hang (141445-06)
10299:80845694147f 6696858 zfs receive of incremental replication stream can dereference NULL pointer and crash (N/A)
10302:a9e3d1987706 6696858 zfs receive of incremental replication stream can dereference NULL pointer and crash (fix lint) (N/A)
10575:2a8816c5173b (partial merge) 6882227 spa_async_remove() shouldn't do a full clear (142901-14)
10800:469478b180d9 6880764 fsync on zfs is broken if writes are greater than 32kb on a hard crash and no log attached (142901-09) 6793430 zdb -ivvvv assertion failure: bp->blk_cksum.zc_word[2] == dmu_objset_id(zilog->zl_os) (N/A)
10801:e0bf032e8673 (partial merge) 6822816 assertion failed: zap_remove_int(ds_next_clones_obj) returns ENOENT (142901-09)
10810:b6b161a6ae4a 6892298 buf->b_hdr->b_state != arc_anon, file: ../../common/fs/zfs/arc.c, line: 2849 (142901-09)
10890:499786962772 6807339 spurious checksum errors when replacing a vdev (142901-13)
11249:6c30f7dfc97b 6906110 bad trap panic in zil_replay_log_record (142901-13) 6906946 zfs replay isn't handling uid/gid correctly (142901-13)
11454:6e69bacc1a5a 6898245 suspended zpool should not cause rest of the zfs/zpool commands to hang (142901-10)
11546:42ea6be8961b (partial merge) 6833999 3-way deadlock in dsl_dataset_hold_ref() and dsl_sync_task_group_sync() (142901-09)
Discussed with: pjd Approved by: delphij (mentor) Obtained from: OpenSolaris (multiple Bug IDs) MFC after: 2 months
|
209539 |
26-Jun-2010 |
rpaulo |
Set svn:executable property so we can run the DTrace test suite.
|
209358 |
20-Jun-2010 |
marcel |
Unbreak platforms with char unsigned by default. Oddly enough, GCC isn't satisfied with a simple cast to int in the check against EOF, so the fix is a bit involved by actually having to go through a temporary variable.
|
209305 |
18-Jun-2010 |
kan |
Do not allow EOF token to be put back into input buffer.
This reimplements previous change from r20930 in more generic way.
MFC after: 1 week
|
209030 |
11-Jun-2010 |
kan |
In dtrace lexer, do not unput token if it is EOF.
This is harmless with OpenSolaris fex and yacc, but with FreeBSD causes '\xff' symbol to be physically put into input buffer, causing subsequent syntax error.
MFC after: 1 week
|
208684 |
31-May-2010 |
pjd |
Allow to use 'jailed' property again.
Reported by: Eugene Mitrofanov <eugene@imedia.ru> MFC after: 3 days
|
208472 |
23-May-2010 |
mm |
Fix zfs receive temporarily changing unchanged stream properties. Fix possible panic with zfs_enable_datasets.
OpenSolaris onnv revision: 8536:33bd5de3260e
Approved by: pjd, delphij (mentor) Obtained from: OpenSolaris (Bug ID 6748561, 6757075) MFC after: 3 days
|
208166 |
16-May-2010 |
pjd |
Fix userland build by making io_task available only for the kernel and by providing taskq_dispatch_safe() macro.
MFC after: 1 week
|
208047 |
13-May-2010 |
mm |
Import OpenSolaris revision 7837:001de5627df3 It includes the following changes: - parallel reads in traversal code (Bug ID 6333409) - faster traversal for zfs send (Bug ID 6418042) - traversal code cleanup (Bug ID 6725675) - fix for two scrub related bugs (Bug ID 6729696, 6730101) - fix assertion in dbuf_verify (Bug ID 6752226) - fix panic during zfs send with i/o errors (Bug ID 6577985) - replace P2CROSS with P2BOUNDARY (Bug ID 6725680)
List of OpenSolaris Bug IDs: 6333409, 6418042, 6757112, 6725668, 6725675, 6725680, 6725698, 6729696, 6730101, 6752226, 6577985, 6755042
Approved by: pjd, delphij (mentor) Obtained from: OpenSolaris (multiple Bug IDs) MFC after: 1 week
|
207910 |
11-May-2010 |
mm |
Fix possible panic with zfs destroy.
OpenSolaris onnv revision: 8779:f164e0e90508
PR: kern/146471 Approved by: pjd, delphij (mentor) Obtained from: OpenSolaris (Bug ID 6784924) MFC after: 3 days
|
207736 |
07-May-2010 |
mckusick |
Merger of the quota64 project into head.
This joint work of Dag-Erling Smørgrav and myself updates the FFS quota system to support both traditional 32-bit and new 64-bit quotas (for those of you who want to put 2+Tb quotas on your users).
By default quotas are not compiled into the kernel. To include them in your kernel configuration you need to specify:
options QUOTA # Enable FFS quotas
If you are already running with the current 32-bit quotas, they should continue to work just as they have in the past. If you wish to convert to using 64-bit quotas, use `quotacheck -c 64'; if you wish to revert from 64-bit quotas back to 32-bit quotas, use `quotacheck -c 32'.
There is a new library of functions to simplify the use of the quota system, do `man quotafile' for details. If your application is currently using the quotactl(2), it is highly recommended that you convert your application to use the quotafile interface. Note that existing binaries will continue to work.
Special thanks to John Kozubik of rsync.net for getting me interested in pursuing 64-bit quota support and for funding part of my development time on this project.
|
207670 |
05-May-2010 |
mm |
Introduce hardforce export option (-F) for "zpool export". When exporting with this flag, zpool.cache remains untouched.
OpenSolaris onnv revision: 8211:32722be6ad3b
Approved by: pjd, delphij (mentor) Obtained from: OpenSolaris (Bug ID: 6775357)
|
207627 |
04-May-2010 |
mm |
Enable "zfs list" to list explicitly requested snapshots.
Partial import of OpenSolaris onnv revision: 8415:8809e849f63e
PR: kern/146297 Submitted by: myself Approved by: pjd, delphij (mentor) Obtained from: OpenSolaris (Bug ID 6758338) MFC after: 2 weeks
|
207578 |
03-May-2010 |
kan |
Do not encode more than CTF_MAX_VLEN(1023) enum members.
CTF can not represent enums with more than CTF_MAX_VLEN members, but ctfconvert will happily ignore that limitation and create CTF section no other tool can interpret.
This change is different from similar change from upstream, which just returns an error if big enum is encountered. Doing that means that every FreeBSD kernel with compiled in hwpmc will have no useable CTF information due to pmc_event enum having 1236+ members.
|
206199 |
05-Apr-2010 |
delphij |
Refine previous partial merge of OpenSolaris onnv revision 9396:f41cf682d0d3. This fixes a regression that zfs list would crash on zfs having user properties.
PR: kern/145377 Submitted by: mm Approved by: pjd Obtained from: OpenSolaris MFC after: 10 days
|
205659 |
26-Mar-2010 |
danger |
- update zfs and zpool manual pages to match the current state of the source
PR: 144984 Submitted by: mm@ Approved by: pjd@ Obtained from: OpenSolaris MFC after: 4 days
|
205200 |
16-Mar-2010 |
delphij |
Merge OpenSolaris revision 9396:f41cf682d0d3:
6830813 zfs list -t all fails assertion
*Note that this is only a partial merge of this revision addressing only this one issue.*
PR: bin/144720 Submitted by: mm Approved by: pjd Obtained from: OpenSolaris MFC after: 1 month
|
205199 |
16-Mar-2010 |
delphij |
Merge OpenSolaris revision 9365:7838a22eccd6:
PSARC/2009/171 zfs list -d and zfs get -d 6762432 zfs list --depth
PR: bin/144720 Submitted by: mm Approved by: pjd Obtained from: OpenSolaris MFC after: 1 month
|
205198 |
16-Mar-2010 |
delphij |
Merge OpenSolaris revision 8802:010b31dd4c53:
6773366 "zfs list" memory consumption can be further reduced
PR: bin/144720 Submitted by: mm Approved by: pjd Obtained from: OpenSolaris MFC after: 1 month
|
201143 |
28-Dec-2009 |
delphij |
Apply OpenSolaris revision 8012 which brings our zpool to version 14, making it possible for zpools created on OpenSolaris 2009.06 be used on FreeBSD.
PR: kern/141800 Submitted by: mm Reviewed by: pjd, trasz Obtained from: OpenSolaris MFC after: 2 weeks
|
200724 |
19-Dec-2009 |
delphij |
Apply fix Solaris bug 6462803 zfs snapshot -r failed because filesystem was busy.
Submitted by: mm Approved by: pjd MFC after: 2 weeks
|
200516 |
14-Dec-2009 |
delphij |
Add an option to specify that the received ZFS should not be automatically mounted (receive -u).
Obtained from: OpenSolaris (onnv revision 8584:327a1b6dd944) Approved by: pjd
|
197867 |
08-Oct-2009 |
trasz |
Properly mark ZFS properties which are not changeable under FreeBSD.
Reviewed by: pjd
|
197859 |
08-Oct-2009 |
trasz |
'aclmode' and 'aclinherit' properties should work as advertised; don't refuse to set them.
|
197498 |
25-Sep-2009 |
pjd |
Fletcher4 is not the default checksum algorithm.
MFC after: 3 days
|
196992 |
08-Sep-2009 |
pjd |
Implement __assert() for Solaris-specific code. Until now Solaris code was using Solaris prototype for __assert(), but FreeBSD's implementation. Both take different arguments, so we were either core-dumping in assert() or printing garbage.
Reported by: avg MFC after: 1 week
|
196950 |
07-Sep-2009 |
pjd |
Fix detection of file system being shared. After this change commands like:
# zfs unshare -a # zfs destroy foo/bar # zfs rename foo/bar foo/baz
should properly remove exported file systems.
MFC after: 3 days
|
196928 |
07-Sep-2009 |
pjd |
Teach zdb(8) how to obtain GEOM provider size.
PR: kern/133134 Reported by: Philipp Wuensche <cryx-freebsd@h3q.com> MFC after: 3 days
|
196305 |
17-Aug-2009 |
pjd |
Fix receive when dataset has no / in its name.
Submitted by: James R. Van Artsdalen <james-freebsd-current@jrv.org> Approved by: re (kib)
|
195515 |
09-Jul-2009 |
pjd |
The mutex_owned() macro should operate on kmutex_t and not on mutex_t. This fixes 'zdb <poolname>' crash.
Reported by: avg Approved by: re (kib)
|
194453 |
18-Jun-2009 |
jhb |
Bootstrap mergeinfo for the OpenSolaris contrib bits.
|
192937 |
27-May-2009 |
sson |
Fix lockstat breakage to arm/powerpc buildworld. Thanks to IBM char's are unsigned on arm/powerpc.
Approved by: gnn (mentor)
|
192867 |
27-May-2009 |
sson |
Add the OpenSolaris lockstat(1M) command. Requires the dtrace driver, the lockstat provider, and the ksyms(4) pseudo driver kernel modules.
Approved by: gnn (mentor)
|
191906 |
07-May-2009 |
kmacy |
define VN_RELE_ASYNC for use by libzpool
|
187347 |
16-Jan-2009 |
jhb |
Correct the sense of the "use32" terenary operator so that it uses 'lib32' for 32-bit binaries on amd64 and 'lib' for 64-bit binaries. Remove an #ifdef __i386__ that defined use32 to the wrong value on i386 to workaround the bug in the terenary operator.
MFC after: 1 month
|
186568 |
29-Dec-2008 |
rwatson |
Include param.h instead of types.h before mount.h so that the nested include of param.h can be removed from audit.h.
MFC after: 3 days
|
186515 |
27-Dec-2008 |
rwatson |
Including mount.h requires including param.h.
MFC after: 3 weeks
|
185039 |
18-Nov-2008 |
pjd |
Fix a warning on amd64 caused by using int for request argument instead of unsigned long:
WARNING pid 12888 (zfs/zpool): ioctl sign-extension ioctl ffffffffcc285aXX
Reported by: kris
|
185029 |
17-Nov-2008 |
pjd |
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache. Huge performance improvements mostly for random read of mostly static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one can select from one of three failure modes: - panic - panic on write error - wait - wait for disk to reappear - continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
|
184696 |
05-Nov-2008 |
rodrigc |
Merge latest DTrace changes from Perforce.
Approved by: jb
|
183153 |
18-Sep-2008 |
imp |
Mips doesn't have a long double that's different in size from double.
|
182383 |
28-Aug-2008 |
attilio |
Add a missing file change from the VOP_GETATTR() argument axing.
|
179265 |
23-May-2008 |
jb |
Don't need to include vmem.h anymore.
|
179199 |
22-May-2008 |
jb |
Oops, these files belonged under src/sys, not src. Sorry.
|
179192 |
22-May-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r179191, which included commits to RCS files with non-trunk default branches.
|
178576 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Add a couple of FreeBSD action extensions.
|
178575 |
26-Apr-2008 |
jb |
Make this file compile cleanly.
|
178574 |
26-Apr-2008 |
jb |
Leave out some header files.
|
178573 |
26-Apr-2008 |
jb |
* Handle building on FreeBSD for i386 and amd64. * Add stubs for the other FreeBSD arches. * Make the file compile cleanly.
|
178572 |
26-Apr-2008 |
jb |
* Make this file compile cleanly. * Add FreeBSD constructor/destructor definitions.
|
178570 |
26-Apr-2008 |
jb |
* Add FreeBSD action extensions. * Get the kernel module file name rather than hard-coding it like on Solaris. * Use FreeBSD's process library API. * Handle FreeBSD's different lock types. * Get the list of loaded providers via a syscall.
|
178569 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Make this file compile cleanly.
|
178568 |
26-Apr-2008 |
jb |
There is a lot of commented out code here which applies to future work for userland tracing.
For now we need the basic functions to be in place so that DTrace can be used for kernel tracing.
|
178567 |
26-Apr-2008 |
jb |
Leave out a header file.
|
178566 |
26-Apr-2008 |
jb |
Merge FreeBSD include file changes with some code that should have come in on the vendor branch.
|
178565 |
26-Apr-2008 |
jb |
* Use FreeBSD's process library instead of the Solaris one. * There are a few placeholders in here for which there isn't libproc support code yet. This is relevent to userland tracing. This set of commits is designed to get kernel tracing up and running, with the userland stuff to follow later.
|
178564 |
26-Apr-2008 |
jb |
Leave out the hook that Solaris has into it's rtld.
|
178563 |
26-Apr-2008 |
jb |
* Add a couple of action definitions for FreeBSD extensions. * Handle the different ioctl design. * Add support for the get and set error location. * Add support for freopen().
|
178562 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Make the file compile cleanly.
|
178561 |
26-Apr-2008 |
jb |
There are many places in libdtrace where errno can be set. When an error is returned all the way back to the dtrace app, it's hard to figure out where that error came from.
Add a couple of functions to get and set the error location which can be optionally compiled into the library.
|
178560 |
26-Apr-2008 |
jb |
Add some error definitions for FreeBSD action extensions.
|
178559 |
26-Apr-2008 |
jb |
* Make this file compile cleanly. * Use FreeBSD's kld syscalls to get kernel module information instead of using an object file system like Solaris uses.
|
178558 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Use FreeBSD's process library API. * Make the file compile cleanly.
|
178557 |
26-Apr-2008 |
jb |
Just leave out a few includes to compile this on FreeBSD.
|
178556 |
26-Apr-2008 |
jb |
* Get the maximum number of CPUs via a sysctl. * Handle the different ioctl design. * Support the freopen() changes. * Use functions in FreeBSD's process library rather than the CDDL library that Solaris has which sits on top of their process file system and is therefore unsuitable for use on FreeBSD. The libproc API for FreeBSD is deliberately different to that on Solaris because Sun wouldn't release the libproc.h header under a BSD license.
|
178555 |
26-Apr-2008 |
jb |
* Define YY_INPUT for flex since input() can't be re-defined. * On FreeBSD define both LITTLE_ENDIAN and BIG_ENDIAN and then set the BYTE_ORDER to the one we are using. On Solaris they define one or the other but not both. For us to keep using FreeBSD header files, we need to use endian definitions the same way we do in pure BSD code.
|
178554 |
26-Apr-2008 |
jb |
Make this compile cleanly.
|
178553 |
26-Apr-2008 |
jb |
Handle the different level of indirection between ioctl on SYSV vs BSD.
|
178552 |
26-Apr-2008 |
jb |
freopen() on FreeBSD behaves differently to the Solaris one.
|
178551 |
26-Apr-2008 |
jb |
* Use a portable POSIX timed wait. * Handle the different ioctl format.
|
178550 |
26-Apr-2008 |
jb |
* Fix a function prototype. * Allow for the different level of indirection between SYSV's ioctl and BSD's. * Map a couple of sysconf definitions to one that FreeBSD has.
|
178549 |
26-Apr-2008 |
jb |
Simplify for FreeBSD for now, bypassing the multibyte char variables that Solaris has. We may need to revisit this issue later.
|
178548 |
26-Apr-2008 |
jb |
Solaris has code which makes zlib optional, so they have to jump through some hoops to get the compression functions. On FreeBSD have libz and can just link against it.
|
178547 |
26-Apr-2008 |
jb |
'echo' behaviour differs between SYSV and BSD.
|
178546 |
26-Apr-2008 |
jb |
A lot of changes to make this code compile cleanly on FreeBSD.
|
178545 |
26-Apr-2008 |
jb |
Use FreeBSD's libdwarf which is BSD licensed instead of the GPL'd one that is used in Solaris.
|
178544 |
26-Apr-2008 |
jb |
We need to be consistent with prototype definitions. It isn't OK to use 'const' and just override it whenever we feel like it. If we use it at all, then we need to do it properly.
Add a couple of functions that were useful in getting this code ported.
|
178542 |
26-Apr-2008 |
jb |
Make this file compile cleanly.
|
178540 |
26-Apr-2008 |
jb |
Apply FreeBSD changes.
|
178539 |
26-Apr-2008 |
jb |
On FreeBSD we can't afford to have a build fail simply because there was some sort of CTF conversion error.
|
178538 |
26-Apr-2008 |
jb |
Add a missing include file. We care about function prototype definitions.
|
178537 |
26-Apr-2008 |
jb |
Apply FreeBSD changes.
There is an incomplete piece of code in here which requires the process handling library which is still under development.
|
178536 |
26-Apr-2008 |
jb |
* Set the path to perl on FreeBSD. * Use the FreeBSD shell. * On FreeBSD the tests run from the OBJDIR, so output files go there rather than in the source tree like they do on Solaris. * FreeBSD doesn't need a special path to the compiler.
|
178535 |
26-Apr-2008 |
jb |
Set the path to perl on FreeBSD.
|
178534 |
26-Apr-2008 |
jb |
Port these test files to work under FreeBSD.
|
178529 |
26-Apr-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r178528, which included commits to RCS files with non-trunk default branches.
|
178526 |
25-Apr-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r178525, which included commits to RCS files with non-trunk default branches.
|
178482 |
25-Apr-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r178481, which included commits to RCS files with non-trunk default branches.
|
178480 |
25-Apr-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r178479, which included commits to RCS files with non-trunk default branches.
|
178477 |
25-Apr-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r178476, which included commits to RCS files with non-trunk default branches.
|
174045 |
28-Nov-2007 |
jb |
Remove a couple of definitions which now exist in compatibility headers.
|
172301 |
23-Sep-2007 |
pjd |
Now that we have CDDLed code in the tree, add CDDL license.
Discussed with: core Approved by: re (kensmith)
|
171776 |
07-Aug-2007 |
simokawa |
Use ioctl() to get correct media size so that we can locate ZFS labels in the tail of the media.
Approved by: re (kensmith), pjd
|
169303 |
06-May-2007 |
pjd |
Use provider's ident to handle situations when disks are moved around and show up with different names: first try to open provider using remembered name and compare its ident, if equal, this is our provider, if not equal or there is no provider with such name, find provider with remembered ident and don't care about the name.
|
169301 |
06-May-2007 |
pjd |
Clean up a little.
Obtained from: OpenSolaris
|
168926 |
21-Apr-2007 |
pjd |
MFp4:
@118370 Correct typo.
@118371 Integrate changes from vendor.
@118491 Show backtrace on unexpected code paths.
@118494 Integrate changes from vendor.
@118504 Fix sendfile(2). I had two ways of fixing it: 1. Fixing sendfile(2) itself to use VOP_GETPAGES() instead of hacking around with vn_rdwr(UIO_NOCOPY), which was suggested by ups. 2. Modify ZFS behaviour to handle this special case.
Although 1 is more correct, I've choosen 2, because hack from 1 have a side-effect of beeing faster - it reads ahead MAXBSIZE bytes instead of reading page by page. This is not easy to implement with VOP_GETPAGES(), at least not for me in this very moment.
Reported by: Andrey V. Elsukov <bu7cher@yandex.ru>
@118525 Reorganize the code to reduce diff.
@118526 This code path is expected. It is simply when file is opened with O_FSYNC flag.
Reported by: kris Reported by: Michal Suszko <dry@dry.pl>
|
168825 |
17-Apr-2007 |
pjd |
Fix build breakage. Most of ZFS code is also compiled in userland and I should really stop forgetting about that.
|
168722 |
14-Apr-2007 |
simokawa |
In FreeBSD, - cv_timedwait() takes delta instead of absolute time, - we need ioctl() for mediasize.
Reviewed by: pjd
|
168676 |
12-Apr-2007 |
pjd |
MFp4: Synchronize with vendor (mostly 'zfs rename -r').
|
168584 |
10-Apr-2007 |
pjd |
MFp4: Add missing kmem_size() definition.
|
168582 |
10-Apr-2007 |
pjd |
MFp4: Hide under '#ifdef _KERNEL' only what's really needed.
|
168498 |
08-Apr-2007 |
pjd |
MFp4: Synchronize with recent OpenSolaris changes.
|
168484 |
08-Apr-2007 |
pjd |
If we cannot open /dev/zfs try to load zfs.ko automatically and reopen.
|
168404 |
06-Apr-2007 |
pjd |
Please welcome ZFS - The last word in file systems.
ZFS file system was ported from OpenSolaris operating system. The code in under CDDL license.
I'd like to thank all SUN developers that created this great piece of software.
Supported by: Wheel LTD (http://www.wheel.pl/) Supported by: The FreeBSD Foundation (http://www.freebsdfoundation.org/) Supported by: Sentex (http://www.sentex.net/)
|