summaryrefslogtreecommitdiffstats
path: root/cddl
Commit message (Collapse)AuthorAgeFilesLines
* Dtrace: add optional size argument to tracemem().pfg2013-03-248-21/+1451
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* dtrace: ensure that we can always catch a process (e.g. when -c is used)avg2013-03-231-1/+1
| | | | | | | | | 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
* Merge libzfs_core branch:mm2013-03-2130-647/+1984
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
| * MFV r247580:mm2013-03-1913-290/+589
| | | | | | | | | | | | | | | | | | | | | | Merge synctask code restructuring from vendor. Modify forward and backward compatibility to support new change. Illumos ZFS issues: 3464 zfs synctask code needs restructuring Sponsored by: Hybrid Logic Ltd.
| * MFC @248461mm2013-03-184-5/+10
| |\ | |/ |/|
| * Move common zfs ioctl compatibility functions (userland) into libzfs_compat.cmm2013-03-186-76/+122
| | | | | | | | Introduce additional constants for zfs ioctl versions
| * Fix working with zfs_ioctl_version in libzfs_compat.h and include mirrormm2013-03-174-21/+36
| | | | | | | | lzc_ioctl_version in libzfs_core
| * Add forwards compatibility for libzfs_coremm2013-03-175-2/+217
| | | | | | | | Unsupported: creation of multiple snapshots including "zfs snapshot -r"
| * libzfs_core:mm2013-03-171-5/+5
| | | | | | | | | | | | - provide complete backwards compatibility (old utility, new kernel) - add zfs_cmd_t compatibility mapping in both directions - determine ioctl address in zfs_ioctl_compat.c
| * MFC @248093mm2013-03-092-18/+56
| |\
| * | Move libzfs compat functions to libzfs_compat.hmm2013-03-064-60/+97
| | | | | | | | | | | | This header is used by both libzfs_core and libzfs libraries
| * | WiP merge of libzfs_core (MFV r238590, r238592)mm2013-03-0525-333/+1058
| | | | | | | | | | | | not yet working, ioctl handling needs to be changed
* | | MFV r248266:mm2013-03-143-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Update zfs.8 manpage date (missing in r247585)mm2013-03-141-1/+1
| |/ |/| | | | | MFC: together with r247585
* | Fix error in r247960: actually assign the basename to match.iim_file.dim2013-03-071-2/+1
| | | | | | | | | | | | | | Pointed out by: avg Pointy hat to: dim MFC after: 1 week X-MFC-With: r247960
* | Make ctfconvert work correctly on clang-compiled object files. Clangdim2013-03-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | MFV r247845:mm2013-03-051-17/+53
|/ | | | | | | | | | | | | | 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
* MFV r247316:mm2013-03-011-0/+33
| | | | | | | | | | | | | 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
* Fix the zfs_ioctl compat layer to support zfs_cmd size change introducedmm2013-03-011-9/+26
| | | | | | | | | | | | | | | 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
* MFV 247176, 247178, 247315:mm2013-02-271-6/+6
| | | | | | | | | | | | | | | | | | | 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
* MFV v242732:mm2013-02-254-9/+100
| | | | | | | | | | | | | | | | | | | | | 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
* Orphaned processes that are being traced are killed by thegibbs2013-02-201-0/+7
| | | | | | | | | | | | | | | | | 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
* Use the right year.delphij2013-02-112-2/+2
| | | | Noticed by: Denis Ahrens <denis h3q com>
* MFV r246392:mm2013-02-111-4/+3
| | | | | | | | | | | | 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
* MFV r246388:mm2013-02-101-7/+1
| | | | | | | | | | | | | | 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
* Backport vendor changes in zfs(8) manual page (MFV r246389)mm2013-02-101-122/+129
| | | | | | | | | | Illumos ZFS issues: 3380 zfs man page: documentation for zfs allow is confusing References: https://www.illumos.org/issues/3380 MFC after: 2 weeks
* Correct spelling of "daemon". No .Dd bump.gavin2013-02-101-1/+1
| | | | | Noticed by: Nathan Rich <Nathan.Rich dynastysystems com> MFC after: 3 days
* mdoc: Remove EOL whitespace.joel2013-02-091-3/+3
|
* MFV r245512:delphij2013-02-092-3/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Add a new LIBRARIES_ONLY make variable to disable the build and installbrooks2013-01-171-1/+1
| | | | | | | | | | of files other than the actual libraries. Use LIBRARIES_ONLY to supress the inclusion of files in the lib32 distribution that are duplicates of files in base. Sponsored by: DARPA, AFRL Reviewed by: emaste
* Reports pools which have a removed l2cache disk under -x as this is whatsmh2013-01-151-0/+10
| | | | | | | | happens when a cache device is dropped for any reason. Reviewed by: pjd Approved by: pjd (mentor) MFC after: 2 weeks
* The current ZFS code expects ddt_zap_count to always succeed by assertingdelphij2013-01-101-1/+3
| | | | | | | | | | | | | | 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
* Allow to create pool even if mount point directory is not empty if -f is given.pjd2012-12-301-2/+3
| | | | Obtained from: WHEEL Systems
* MFV r244245:mm2012-12-151-9/+17
| | | | | | | | | | | | | | 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
* Fixes zfs receive errors caused by snapshot replication being processed in asmh2012-12-131-2/+29
| | | | | | | | | | | | | 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
* Update manpage dates in zfs.8 and zpool.8mm2012-11-262-2/+2
| | | | MFC after: 2 weeks
* MFV r243395:mm2012-11-261-1/+27
| | | | | | | | | | | | | 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
* MFV r243013 and r243267:mm2012-11-251-5/+42
| | | | | | | | | | | | | | | | | | 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
* zfs sha256 checksum is missing in zfs.8 manpagemm2012-11-251-1/+1
| | | | MFC after: 3 days
* MFV r243012:mm2012-11-251-21/+119
| | | | | | | | | | | | 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
* Sort SEE ALSO xrefs by the manual section number and add a missing comma.pluknet2012-11-151-1/+1
|
* Move zpool-features manual page from section 5 to section 7mm2012-11-144-11/+11
| | | | | | | and fix references Reported by: pluknet MFC after: 1 week
* Fix an apparent typo in the manual section number in .Dt: it should be 5.pluknet2012-11-131-1/+1
|
* MFV r242729 (mm):delphij2012-11-101-46/+66
| | | | | | | | | | | 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
* Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.jhibbits2012-11-074-1/+87
| | | | | | | | | | | 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
* Remove the support for using non-mpsafe filesystem modules.kib2012-10-221-8/+0
| | | | | | | | | | | | 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
* Add missing initialization for do_prefix.mm2012-10-171-1/+1
| | | | | | | | | | | | | 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
* Make sure that each va_start has one and only one matching va_end,kevlo2012-09-282-0/+3
| | | | especially in error cases.
* Merge recent vendor changes in ZFS.mm2012-09-262-10/+3
| | | | | | | | | | | | | | 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
* It is possible to recursively destroy snapshots even if the snapshotpjd2012-09-233-3/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud