summaryrefslogtreecommitdiffstats
path: root/cddl/contrib/opensolaris/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.jhibbits2012-11-071-0/+75
| | | | | | | | | | | 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.
* It is possible to recursively destroy snapshots even if the snapshotpjd2012-09-232-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge recent zfs vendor changes, sync code and adjust userland DEBUG.mm2012-09-123-68/+20
| | | | | | | | | | | | | | | | | | | | | 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
* Merge recent vendor changes:mm2012-08-281-1/+1
| | | | | | | | | | | | | | 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
* Merge recent vendor changes:mm2012-08-231-46/+39
| | | | | | | | | | | | | | | 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
* When we return with an error we cannot unlock the mutex, becausegnn2012-08-011-1/+2
| | | | | | | it's been freed. Protect against that, hopefully unlikely, case. Reviewed by: rpaulo MFC after: 2 weeks
* Partial MFV (illumos-gate 13753:2aba784c276b)mm2012-07-302-1/+27
| | | | | | | | | 2762 zpool command should have better support for feature flags References: https://www.illumos.org/issues/2762 MFC after: 2 weeks
* Dtrace: improve handling of library paths.pfg2012-07-172-22/+102
| | | | | | | | | | | | | | | | | | | | | 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
* Use libc's strndup() instead of Dtrace's reimplementation.pfg2012-07-152-24/+3
| | | | | | | | Corresponds partially to OpenSolaris change: PSARC 2010/299 GNU/Linux/BSD compatibility functions 6901783 strndup would be nice MFC after: 2 weeks
* Merge illumos commit 13455:7205f7794835pfg2012-07-141-1/+8
| | | | | | | | | | 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
* Merge illumos commit 13749:df4cd82e2b60mm2012-07-133-10/+65
| | | | | | | | | | | | | | | 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
* Change behavior introduced in r237119 to vendor solutionmm2012-07-121-7/+10
| | | | | | | | | References: https://www.illumos.org/issues/2883 PR: 167905 Obtained from: illumos (issue #2883) MFC after: 2 weeks
* Fix clang warning, introduced in the recent dtrace import.dim2012-07-031-1/+1
| | | | MFC after: 3 days
* Safer fix for building with Clang.pfg2012-06-281-1/+1
| | | | | | | error: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') Reported by: Ed Maste
* Fix build with Clang.pfg2012-06-281-1/+1
| | | | | | | error: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') Reported by: Ed Maste
* Bring llquantize support into Dtrace.pfg2012-06-278-5/+398
| | | | | | | | | | | | | | | | | | 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
* Do not remount ZFS dataset if changing canmount property to "on" andmm2012-06-151-1/+3
| | | | | | | | dataset is already mounted. PR: 167905 Submitted by: Bryan Drewery <bryan@shatow.net> MFC after: 1 week
* Introduce "feature flags" for ZFS pools (bump SPA version to 5000).mm2012-06-117-11/+315
| | | | | | | | | | | | | | | | | | | 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
* Import Illumos revision 13715:351036203e4bmm2012-06-071-0/+12
| | | | | | | | | | 2803 zfs get guid pretty-prints the output References: https://www.illumos.org/issues/2803 Obtained from: illumos (issue #2803) MFC after: 3 days
* Import illumos changeset 13570:3411fd5f1589mm2012-05-272-7/+29
| | | | | | | | | | | | | | | 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
* zpool_find_import_impl: another /dev/dsk -> /dev fixavg2012-05-151-1/+1
| | | | | | | | This seems to fix zdb -e behavior. PR: bin/155104 Submitted by: swell.k@gmail.com MFC after: 2 weeks
* Import illumos changeset 13686:4bc0783f6064mm2012-05-103-3/+88
| | | | | | | | | | | | | 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
* Add support for force unmounting ZFS filesystems during "zfs rename"mm2012-05-102-1/+7
| | | | | | | | | | | | | | | 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
* Implement the D "cpu" variable, which returns curcpu. I have chosen notrstone2012-04-261-0/+6
| | | | | | | | | | | 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
* Change SIGUSR1 to SIGTHR to properly wake up a process that is beinggnn2012-04-131-1/+1
| | | | | | | traced. The use of SIGUSR1 caused traced processes (those attached to with dtrace -p) to exit when dtrace exited. MFC in: 1 week
* Add stub file for pid probe. It's required although pid probe is not supportedgonzo2012-03-241-0/+75
| | | | on MIPS yet
* add KM_NODEBUG needed by ARC buffer core dump exclusion changekmacy2012-01-271-0/+1
|
* Merge illumos revisions 13572, 13573, 13574:mm2012-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Dramatically optimize listing snapshots when user requests only snapshotpjd2012-01-215-12/+39
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add one more copyright line accidentially removed in r228103mm2012-01-201-0/+1
| | | | MFC after: 3 days
* Add accidentially removed copyright lines in r228103mm2012-01-201-0/+1
| | | | | Reported by: pjd MFC after: 3 days
* In cddl/contrib/opensolaris/lib/libdtrace/common/dt_handle.c, somedim2011-12-161-2/+4
| | | | | | | | 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
* In cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c, somedim2011-12-161-3/+4
| | | | | | | | 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
* In cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c, thedim2011-12-151-0/+1
| | | | | | | | | | 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
* In cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c, use thedim2011-12-151-1/+1
| | | | | | correct printf format for a key_t (aka long). MFC after: 1 week
* In cddl/contrib/opensolaris/lib/libdtrace/i386/dt_isadep.c, use thedim2011-12-151-1/+1
| | | | | | correct printf format for an unsigned long. MFC after: 1 week
* Cast away a clang alignment warning in drti.c's fixsymbol() function.dim2011-12-151-1/+1
| | | | | | | 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
* Merge new ZFS features from illumos:mm2011-11-289-1083/+1164
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Update copyright to include myself.pjd2011-10-244-0/+9
| | | | MFC after: 2 weeks
* Extend r226676 to allow rename without unmount even for file systems withpjd2011-10-244-23/+40
| | | | | | | | | | | | | 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
* Allow to rename file systems without remounting if it is possible.pjd2011-10-243-3/+22
| | | | | | | | | | | | | | | | | | | | 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
* libzpool task_alloc: pass only valid flags to kmem_allocpjd2011-10-211-1/+1
| | | | | | | | tqflags may contain other flags besided those that are suitable for kmem_alloc == umem_alloc Submitted by: avg MFC after: 3 days
* Remove assertion that prevents zfs rename of datasets with mountpoint=nonemm2011-09-281-1/+0
| | | | | | | | | | | 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
* Fix wrong initialization of "cmd" for calling the jail/unjail ioctl.mm2011-07-301-1/+2
| | | | | | Reviewed by: pjd@, delphij@ Approved by: re (kib) MFC after: 3 days
* cddl/contrib/opensolaris/cmd/zpool/zpool_main.c:gibbs2011-07-181-2/+2
| | | | | | | | | | 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.
* Correct reporting of missing leaf vdevs so that the GUID required togibbs2011-07-181-5/+14
| | | | | | | | | | | | | | | | | 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.
OpenPOWER on IntegriCloud