├── .gitignore ├── .gitmodules ├── AUTHORS ├── AUTHORS.OSX ├── CODE_OF_CONDUCT.md ├── COPYRIGHT ├── ChangeLog.highlights ├── DISCLAIMER ├── META ├── Makefile.am ├── OPENSOLARIS.LICENSE ├── PKGBUILD-zfs ├── PKGBUILD-zfs-modules ├── README.markdown ├── VolumeIcon.icns ├── autogen.sh ├── cmd.sh ├── cmd ├── InvariantDisks │ ├── .gitignore │ ├── BSD.LICENSE.md │ ├── InvariantDisks.xcodeproj │ │ └── project.pbxproj │ ├── InvariantDisks │ │ ├── .gitignore │ │ ├── IDBaseLinker.cpp │ │ ├── IDBaseLinker.hpp │ │ ├── IDCLI.cpp │ │ ├── IDCLI.hpp │ │ ├── IDDAHandlerIdle.cpp │ │ ├── IDDAHandlerIdle.hpp │ │ ├── IDDiskArbitrationDispatcher.cpp │ │ ├── IDDiskArbitrationDispatcher.hpp │ │ ├── IDDiskArbitrationHandler.hpp │ │ ├── IDDiskArbitrationUtils.cpp │ │ ├── IDDiskArbitrationUtils.hpp │ │ ├── IDDiskInfoLogger.cpp │ │ ├── IDDiskInfoLogger.hpp │ │ ├── IDDispatchUtils.cpp │ │ ├── IDDispatchUtils.hpp │ │ ├── IDException.cpp │ │ ├── IDException.hpp │ │ ├── IDFileUtils.hpp │ │ ├── IDFileUtils.mm │ │ ├── IDImagePathLinker.cpp │ │ ├── IDImagePathLinker.hpp │ │ ├── IDLogUtils.cpp │ │ ├── IDLogUtils.hpp │ │ ├── IDMediaPathLinker.cpp │ │ ├── IDMediaPathLinker.hpp │ │ ├── IDSerialLinker.cpp │ │ ├── IDSerialLinker.hpp │ │ ├── IDSymlinkHandle.cpp │ │ ├── IDSymlinkHandle.hpp │ │ ├── IDUUIDLinker.cpp │ │ ├── IDUUIDLinker.hpp │ │ ├── Makefile.am │ │ ├── git-version.h │ │ └── main.cpp │ ├── Makefile.am │ ├── OPENSOLARIS.LICENSE.txt │ ├── README.md │ └── launchd │ │ └── net.the-color-black.InvariantDisks.plist ├── Makefile.am ├── arc_summary │ ├── Makefile.am │ └── arc_summary.py ├── arcstat │ ├── Makefile.am │ ├── arcstat.pl │ └── arcstat.py ├── dbufstat │ ├── Makefile.am │ └── dbufstat.py ├── fsck_zfs │ ├── .gitignore │ ├── Makefile.am │ ├── fsck.zfs │ └── fsck_zfs.c ├── mount_zfs │ ├── .gitignore │ ├── Makefile.am │ └── mount_zfs.c ├── vdev_id │ ├── Makefile.am │ └── vdev_id ├── zconfigd │ ├── .gitignore │ ├── Makefile.am │ ├── zconfigd.c │ └── zconfigd.h ├── zdb │ ├── .gitignore │ ├── Makefile.am │ ├── zdb.c │ ├── zdb.h │ └── zdb_il.c ├── zed │ ├── .gitignore │ ├── Makefile.am │ ├── zed.c │ ├── zed.d │ │ ├── README │ │ ├── all-debug.sh │ │ ├── all-syslog.sh │ │ ├── checksum-notify.sh │ │ ├── checksum-spare.sh │ │ ├── config.remove.sh │ │ ├── config.rename.sh │ │ ├── config.sync.sh │ │ ├── data-notify.sh │ │ ├── generic-notify.sh │ │ ├── io-notify.sh │ │ ├── io-spare.sh │ │ ├── resilver.finish-notify.sh │ │ ├── scrub.finish-notify.sh │ │ ├── snapshot.mount.sh │ │ ├── zed-functions.sh │ │ ├── zed.rc │ │ ├── zpool.destroy.sh │ │ ├── zpool.import.sh │ │ ├── zvol.create.sh │ │ └── zvol.remove.sh │ ├── zed.h │ ├── zed_conf.c │ ├── zed_conf.h │ ├── zed_event.c │ ├── zed_event.h │ ├── zed_exec.c │ ├── zed_exec.h │ ├── zed_file.c │ ├── zed_file.h │ ├── zed_log.c │ ├── zed_log.h │ ├── zed_strings.c │ └── zed_strings.h ├── zfs │ ├── .gitignore │ ├── Makefile.am │ ├── zfs_iter.c │ ├── zfs_iter.h │ ├── zfs_main.c │ ├── zfs_osx.h │ ├── zfs_osx.m │ └── zfs_util.h ├── zfs_util │ ├── .gitignore │ ├── Makefile.am │ └── zfs_util.c ├── zhack │ ├── .gitignore │ ├── Makefile.am │ └── zhack.c ├── zinject │ ├── .gitignore │ ├── Makefile.am │ ├── translate.c │ ├── zinject.c │ └── zinject.h ├── zpios │ ├── .gitignore │ ├── Makefile.am │ ├── zpios.h │ ├── zpios_main.c │ └── zpios_util.c ├── zpool │ ├── .gitignore │ ├── Makefile.am │ ├── zpool_iter.c │ ├── zpool_main.c │ ├── zpool_util.c │ ├── zpool_util.h │ └── zpool_vdev.c ├── zpool_layout │ └── Makefile.am ├── zstreamdump │ ├── .gitignore │ ├── Makefile.am │ └── zstreamdump.c ├── zsysctl │ ├── .gitignore │ ├── Makefile.am │ └── zsysctl.c ├── ztest │ ├── .gitignore │ ├── Makefile.am │ ├── zloop.bash │ └── ztest.c └── zvol_id │ ├── .gitignore │ ├── Makefile.am │ └── zvol_id_main.c ├── config ├── .gitignore ├── Rules.am ├── always-arch.m4 ├── always-filesystems-prefix.m4 ├── always-kernel-modprefix.m4 ├── always-mountexecdir.m4 ├── always-no-bool-compare.m4 ├── always-no-unused-but-set-variable.m4 ├── config.awk ├── deb.am ├── kernel-acl.m4 ├── kernel-automount.m4 ├── kernel-bdev-block-device-operations.m4 ├── kernel-bdev-logical-size.m4 ├── kernel-bdev-physical-size.m4 ├── kernel-bdi-setup-and-register.m4 ├── kernel-bdi.m4 ├── kernel-bio-bvec-iter.m4 ├── kernel-bio-end-io-t-args.m4 ├── kernel-bio-failfast.m4 ├── kernel-bio-rw-barrier.m4 ├── kernel-bio-rw-discard.m4 ├── kernel-bio-rw-syncio.m4 ├── kernel-blk-queue-discard.m4 ├── kernel-blk-queue-flush.m4 ├── kernel-blk-queue-max-hw-sectors.m4 ├── kernel-blk-queue-max-segments.m4 ├── kernel-blkdev-get-by-path.m4 ├── kernel-blkdev-get.m4 ├── kernel-block-device-operations-release-void.m4 ├── kernel-check-disk-size-change.m4 ├── kernel-clear-inode.m4 ├── kernel-commit-metadata.m4 ├── kernel-create-nameidata.m4 ├── kernel-current_bio_tail.m4 ├── kernel-d-make-root.m4 ├── kernel-d-obtain-alias.m4 ├── kernel-d-prune-aliases.m4 ├── kernel-dentry-operations.m4 ├── kernel-dirty-inode.m4 ├── kernel-discard-granularity.m4 ├── kernel-elevator-change.m4 ├── kernel-encode-fh-inode.m4 ├── kernel-evict-inode.m4 ├── kernel-fallocate.m4 ├── kernel-file-inode.m4 ├── kernel-fmode-t.m4 ├── kernel-follow-down-one.m4 ├── kernel-follow-link-nameidata.m4 ├── kernel-fsync.m4 ├── kernel-get-disk-ro.m4 ├── kernel-get-gendisk.m4 ├── kernel-insert-inode-locked.m4 ├── kernel-invalidate-bdev-args.m4 ├── kernel-is_owner_or_cap.m4 ├── kernel-kmap-atomic-args.m4 ├── kernel-kobj-name-len.m4 ├── kernel-lookup-bdev.m4 ├── kernel-lookup-nameidata.m4 ├── kernel-lseek-execute.m4 ├── kernel-mk-request-fn.m4 ├── kernel-mkdir-umode-t.m4 ├── kernel-mount-nodev.m4 ├── kernel-open-bdev-exclusive.m4 ├── kernel-put-link-nameidata.m4 ├── kernel-security-inode-init.m4 ├── kernel-set-nlink.m4 ├── kernel-sget-args.m4 ├── kernel-show-options.m4 ├── kernel-shrink.m4 ├── kernel-truncate-range.m4 ├── kernel-truncate-setsize.m4 ├── kernel-vfs-iterate.m4 ├── kernel-vfs-rw-iterate.m4 ├── kernel-xattr-handler.m4 ├── kernel.m4 ├── mount-helper.m4 ├── rpm.am ├── suppressed-warnings.txt ├── tgz.am ├── toolchain-simd.m4 ├── user-dracut.m4 ├── user-frame-larger-than.m4 ├── user-launchd.m4 ├── user-libblkid.m4 ├── user-libuuid.m4 ├── user-runstatedir.m4 ├── user-systemd.m4 ├── user-sysvinit.m4 ├── user-udev.m4 ├── user-zlib.m4 ├── user.m4 ├── zfs-boot.m4 ├── zfs-build.m4 └── zfs-meta.m4 ├── configure.ac ├── contrib ├── Makefile.am ├── bash_completion.d │ ├── Makefile.am │ └── zfs ├── dracut │ ├── 90zfs │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── export-zfs.sh.in │ │ ├── module-setup.sh.in │ │ ├── mount-zfs.sh.in │ │ ├── parse-zfs.sh.in │ │ └── zfs-lib.sh.in │ ├── Makefile.am │ └── README.dracut.markdown └── initramfs │ ├── Makefile.am │ ├── README.initramfs.markdown │ ├── conf-hooks.d │ └── zfs │ ├── hooks │ └── zfs │ └── scripts │ └── zfs ├── copy-builtin ├── dkms.conf ├── etc ├── Makefile.am ├── init.d │ ├── .gitignore │ ├── Makefile.am │ ├── README.md │ ├── zfs-functions.in │ ├── zfs-import.in │ ├── zfs-mount.in │ ├── zfs-share.in │ ├── zfs-zed.in │ └── zfs.in ├── launchd │ ├── Makefile.am │ ├── daemons │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── launchd-daemons.am │ │ ├── org.openzfsonosx.InvariantDisks.plist.in │ │ ├── org.openzfsonosx.zconfigd.plist.in │ │ ├── org.openzfsonosx.zed.plist.in │ │ └── org.openzfsonosx.zpool-import-all.plist.in │ └── launchd.d │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── zpool-import-all.sh.in ├── modules-load.d │ ├── .gitignore │ ├── Makefile.am │ └── zfs.conf.in ├── systemd │ ├── Makefile.am │ └── system │ │ ├── .gitignore │ │ ├── 50-zfs.preset.in │ │ ├── Makefile.am │ │ ├── zed.service.in │ │ ├── zfs-import-cache.service.in │ │ ├── zfs-import-scan.service.in │ │ ├── zfs-mount.service.in │ │ ├── zfs-share.service.in │ │ └── zfs.target.in └── zfs │ ├── Makefile.am │ ├── vdev_id.conf.alias.example │ ├── vdev_id.conf.multipath.example │ ├── vdev_id.conf.sas_direct.example │ ├── vdev_id.conf.sas_switch.example │ └── zsysctl.conf.example ├── include ├── .gitignore ├── Makefile.am ├── libdiskmgt.h ├── libnvpair.h ├── libuutil.h ├── libuutil_common.h ├── libuutil_impl.h ├── libzfs.h ├── libzfs_core.h ├── libzfs_impl.h ├── linux │ ├── Makefile.am │ ├── blkdev_compat.h │ ├── dcache_compat.h │ ├── kmap_compat.h │ ├── utsname_compat.h │ ├── vfs_compat.h │ └── xattr_compat.h ├── sys │ ├── Makefile.am │ ├── ZFSDataset.h │ ├── ZFSDatasetProxy.h │ ├── ZFSDatasetScheme.h │ ├── ZFSPool.h │ ├── abd.h │ ├── aggsum.h │ ├── arc.h │ ├── arc_impl.h │ ├── avl.h │ ├── avl_impl.h │ ├── blkptr.h │ ├── bplist.h │ ├── bpobj.h │ ├── bptree.h │ ├── bqueue.h │ ├── cityhash.h │ ├── crypto │ │ ├── Makefile.am │ │ ├── api.h │ │ ├── common.h │ │ └── icp.h │ ├── dbuf.h │ ├── ddt.h │ ├── dmu.h │ ├── dmu_impl.h │ ├── dmu_objset.h │ ├── dmu_recv.h │ ├── dmu_send.h │ ├── dmu_traverse.h │ ├── dmu_tx.h │ ├── dmu_zfetch.h │ ├── dnode.h │ ├── dsl_bookmark.h │ ├── dsl_crypt.h │ ├── dsl_dataset.h │ ├── dsl_deadlist.h │ ├── dsl_deleg.h │ ├── dsl_destroy.h │ ├── dsl_dir.h │ ├── dsl_pool.h │ ├── dsl_prop.h │ ├── dsl_scan.h │ ├── dsl_synctask.h │ ├── dsl_userhold.h │ ├── edonr.h │ ├── efi_partition.h │ ├── finderinfo.h │ ├── fm │ │ ├── Makefile.am │ │ ├── fs │ │ │ ├── Makefile.am │ │ │ └── zfs.h │ │ ├── protocol.h │ │ └── util.h │ ├── fs │ │ ├── Makefile.am │ │ └── zfs.h │ ├── gfs.h │ ├── hfs_internal.h │ ├── hkdf.h │ ├── kstat_osx.h │ ├── ldi_buf.h │ ├── ldi_impl_osx.h │ ├── ldi_osx.h │ ├── lua │ │ ├── Makefile.am │ │ ├── lauxlib.h │ │ ├── lua.h │ │ ├── luaconf.h │ │ └── lualib.h │ ├── metaslab.h │ ├── metaslab_impl.h │ ├── mmp.h │ ├── mntent.h │ ├── multilist.h │ ├── nvpair.h │ ├── nvpair_impl.h │ ├── range_tree.h │ ├── refcount.h │ ├── rrwlock.h │ ├── sa.h │ ├── sa_impl.h │ ├── sha2.h │ ├── skein.h │ ├── spa.h │ ├── spa_boot.h │ ├── spa_checkpoint.h │ ├── spa_checksum.h │ ├── spa_impl.h │ ├── space_map.h │ ├── space_reftree.h │ ├── sysevent.h │ ├── sysevent │ │ └── eventdefs.h │ ├── trace.h │ ├── trace_acl.h │ ├── trace_arc.h │ ├── trace_dbgmsg.h │ ├── trace_dbuf.h │ ├── trace_dmu.h │ ├── trace_dnode.h │ ├── trace_multilist.h │ ├── trace_txg.h │ ├── trace_zil.h │ ├── trace_zrlock.h │ ├── txg.h │ ├── txg_impl.h │ ├── u8_textprep.h │ ├── u8_textprep_data.h │ ├── uberblock.h │ ├── uberblock_impl.h │ ├── uio_impl.h │ ├── unique.h │ ├── uuid.h │ ├── vdev.h │ ├── vdev_disk.h │ ├── vdev_file.h │ ├── vdev_impl.h │ ├── vdev_indirect_births.h │ ├── vdev_indirect_mapping.h │ ├── vdev_initialize.h │ ├── vdev_raidz.h │ ├── vdev_raidz_impl.h │ ├── vdev_removal.h │ ├── vdev_trim.h │ ├── xvattr.h │ ├── zap.h │ ├── zap_impl.h │ ├── zap_leaf.h │ ├── zcp.h │ ├── zcp_global.h │ ├── zcp_iter.h │ ├── zcp_prop.h │ ├── zfeature.h │ ├── zfs_acl.h │ ├── zfs_boot.h │ ├── zfs_context.h │ ├── zfs_context_kernel.h │ ├── zfs_context_userland.h │ ├── zfs_ctldir.h │ ├── zfs_debug.h │ ├── zfs_delay.h │ ├── zfs_dir.h │ ├── zfs_fuid.h │ ├── zfs_ioctl.h │ ├── zfs_mount.h │ ├── zfs_onexit.h │ ├── zfs_rlock.h │ ├── zfs_sa.h │ ├── zfs_stat.h │ ├── zfs_vfsops.h │ ├── zfs_vnops.h │ ├── zfs_znode.h │ ├── zil.h │ ├── zil_impl.h │ ├── zio.h │ ├── zio_checksum.h │ ├── zio_compress.h │ ├── zio_crypt.h │ ├── zio_impl.h │ ├── zio_priority.h │ ├── zpl.h │ ├── zrlock.h │ ├── zthr.h │ ├── zvol.h │ └── zvolIO.h ├── zfeature_common.h ├── zfs_comutil.h ├── zfs_deleg.h ├── zfs_fletcher.h ├── zfs_namecheck.h ├── zfs_prop.h ├── zpios-ctl.h └── zpios-internal.h ├── lib ├── Makefile.am ├── libavl │ └── Makefile.am ├── libdiskmgt │ ├── Makefile.am │ ├── disks_private.h │ ├── diskutil.c │ ├── dm.c │ ├── entry.c │ ├── inuse_corestorage.c │ ├── inuse_fs.c │ ├── inuse_macswap.c │ ├── inuse_mnt.c │ ├── inuse_partition.c │ ├── inuse_zpool.c │ ├── libdiskmgt.c │ └── slice.c ├── libefi │ ├── Makefile.am │ └── rdwr_efi.c ├── libicp │ └── Makefile.am ├── libnvpair │ ├── Makefile.am │ ├── libnvpair.c │ ├── libnvpair_json.c │ └── nvpair_alloc_system.c ├── libshare │ ├── Makefile.am │ ├── afp.c │ ├── afp.h │ ├── libshare.c │ ├── libshare_impl.h │ ├── nfs.c │ ├── nfs.h │ ├── smb.c │ └── smb.h ├── libspl │ ├── Makefile.am │ ├── asm-generic │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── atomic.c │ ├── asm-i386 │ │ ├── Makefile.am │ │ └── atomic.S │ ├── asm-x86_64 │ │ ├── Makefile.am │ │ └── atomic.S │ ├── crypto │ │ ├── edonr │ │ │ ├── edonr.c │ │ │ └── edonr_byteorder.h │ │ ├── sha2 │ │ │ └── sha2.c │ │ └── skein │ │ │ ├── THIRDPARTYLICENSE │ │ │ ├── THIRDPARTYLICENSE.descrip │ │ │ ├── skein.c │ │ │ ├── skein_block.c │ │ │ ├── skein_impl.h │ │ │ ├── skein_iv.c │ │ │ └── skein_port.h │ ├── fdatasync.c │ ├── gethrestime.c │ ├── gethrtime.c │ ├── getmntany.c │ ├── include │ │ ├── Makefile.am │ │ ├── assert.h │ │ ├── atomic.h │ │ ├── attr.h │ │ ├── devid.h │ │ ├── ia32 │ │ │ ├── Makefile.am │ │ │ └── sys │ │ │ │ ├── Makefile.am │ │ │ │ └── asm_linkage.h │ │ ├── libdevinfo.h │ │ ├── libgen.h │ │ ├── libintl.h │ │ ├── libshare.h │ │ ├── limits.h │ │ ├── locale.h │ │ ├── mntent.h │ │ ├── note.h │ │ ├── priv.h │ │ ├── rpc │ │ │ ├── Makefile.am │ │ │ ├── types.h │ │ │ └── xdr.h │ │ ├── sha2.h │ │ ├── statcommon.h │ │ ├── stdio.h │ │ ├── stdlib.h │ │ ├── string.h │ │ ├── strings.h │ │ ├── stropts.h │ │ ├── synch.h │ │ ├── sys │ │ │ ├── Makefile.am │ │ │ ├── acl.h │ │ │ ├── acl_impl.h │ │ │ ├── bitmap.h │ │ │ ├── byteorder.h │ │ │ ├── callb.h │ │ │ ├── cmn_err.h │ │ │ ├── compress.h │ │ │ ├── cred.h │ │ │ ├── debug.h │ │ │ ├── dkio.h │ │ │ ├── dklabel.h │ │ │ ├── dktp │ │ │ │ ├── Makefile.am │ │ │ │ └── fdisk.h │ │ │ ├── edonr.h │ │ │ ├── feature_tests.h │ │ │ ├── file.h │ │ │ ├── frame.h │ │ │ ├── int_limits.h │ │ │ ├── int_types.h │ │ │ ├── inttypes.h │ │ │ ├── isa_defs.h │ │ │ ├── kernel_types.h │ │ │ ├── kmem.h │ │ │ ├── kstat.h │ │ │ ├── list.h │ │ │ ├── list_impl.h │ │ │ ├── mhd.h │ │ │ ├── mkdev.h │ │ │ ├── mnttab.h │ │ │ ├── mount.h │ │ │ ├── note.h │ │ │ ├── param.h │ │ │ ├── policy.h │ │ │ ├── priv.h │ │ │ ├── processor.h │ │ │ ├── sdt.h │ │ │ ├── sha2_consts.h │ │ │ ├── simd_x86.h │ │ │ ├── skein.h │ │ │ ├── stack.h │ │ │ ├── stat.h │ │ │ ├── stropts.h │ │ │ ├── sunddi.h │ │ │ ├── sysevent.h │ │ │ ├── sysevent │ │ │ │ ├── Makefile.am │ │ │ │ └── eventdefs.h │ │ │ ├── sysmacros.h │ │ │ ├── systeminfo.h │ │ │ ├── systm.h │ │ │ ├── time.h │ │ │ ├── timer.h │ │ │ ├── types.h │ │ │ ├── types32.h │ │ │ ├── tzfile.h │ │ │ ├── uio.h │ │ │ ├── utsname.h │ │ │ ├── va_list.h │ │ │ ├── varargs.h │ │ │ ├── vfs.h │ │ │ ├── vnode.h │ │ │ ├── vtoc.h │ │ │ └── zone.h │ │ ├── thread.h │ │ ├── tzfile.h │ │ ├── ucred.h │ │ ├── umem.h │ │ ├── unistd.h │ │ ├── util │ │ │ ├── Makefile.am │ │ │ └── sscanf.h │ │ └── zone.h │ ├── list.c │ ├── mkdirp.c │ ├── strnlen.c │ ├── timestamp.c │ ├── uio.c │ ├── xdr.c │ ├── zmount.c │ └── zone.c ├── libunicode │ └── Makefile.am ├── libuutil │ ├── Makefile.am │ ├── uu_alloc.c │ ├── uu_avl.c │ ├── uu_dprintf.c │ ├── uu_ident.c │ ├── uu_list.c │ ├── uu_misc.c │ ├── uu_open.c │ ├── uu_pname.c │ ├── uu_string.c │ └── uu_strtoint.c ├── libzfs │ ├── .gitignore │ ├── Makefile.am │ ├── libzfs.pc.in │ ├── libzfs_changelist.c │ ├── libzfs_config.c │ ├── libzfs_core.pc.in │ ├── libzfs_crypto.c │ ├── libzfs_dataset.c │ ├── libzfs_diff.c │ ├── libzfs_fru.c │ ├── libzfs_graph.c │ ├── libzfs_import.c │ ├── libzfs_iter.c │ ├── libzfs_mount.c │ ├── libzfs_pool.c │ ├── libzfs_sendrecv.c │ ├── libzfs_status.c │ └── libzfs_util.c ├── libzfs_core │ ├── Makefile.am │ └── libzfs_core.c └── libzpool │ ├── Makefile.am │ ├── kernel.c │ ├── taskq.c │ └── util.c ├── load.sh ├── man ├── Makefile.am ├── man1 │ ├── Makefile.am │ ├── cstyle.1 │ ├── zhack.1 │ ├── zpios.1 │ └── ztest.1 ├── man5 │ ├── Makefile.am │ ├── vdev_id.conf.5 │ ├── zfs-events.5 │ ├── zfs-module-parameters.5 │ └── zpool-features.5 └── man8 │ ├── .gitignore │ ├── Makefile.am │ ├── fsck.zfs.8 │ ├── mount.zfs.8 │ ├── vdev_id.8 │ ├── zdb.8 │ ├── zed.8.in │ ├── zfs-program.8 │ ├── zfs.8 │ ├── zinject.8 │ ├── zpool.8 │ └── zstreamdump.8 ├── module ├── .gitignore ├── Makefile.am ├── avl │ ├── Makefile.in │ └── avl.c ├── icp │ ├── Makefile.in │ ├── algs │ │ ├── aes │ │ │ ├── aes_impl.c │ │ │ ├── aes_impl_aesni.c │ │ │ ├── aes_impl_generic.c │ │ │ ├── aes_impl_x86-64.c │ │ │ └── aes_modes.c │ │ ├── edonr │ │ │ ├── edonr.c │ │ │ └── edonr_byteorder.h │ │ ├── modes │ │ │ ├── cbc.c │ │ │ ├── ccm.c │ │ │ ├── ctr.c │ │ │ ├── ecb.c │ │ │ ├── gcm.c │ │ │ ├── gcm_generic.c │ │ │ ├── gcm_pclmulqdq.c │ │ │ └── modes.c │ │ ├── sha1 │ │ │ └── sha1.c │ │ ├── sha2 │ │ │ └── sha2.c │ │ └── skein │ │ │ ├── THIRDPARTYLICENSE │ │ │ ├── THIRDPARTYLICENSE.descrip │ │ │ ├── skein.c │ │ │ ├── skein_block.c │ │ │ ├── skein_impl.h │ │ │ ├── skein_iv.c │ │ │ └── skein_port.h │ ├── api │ │ ├── kcf_cipher.c │ │ ├── kcf_ctxops.c │ │ ├── kcf_digest.c │ │ ├── kcf_mac.c │ │ └── kcf_miscapi.c │ ├── asm-x86_64 │ │ ├── aes │ │ │ ├── THIRDPARTYLICENSE.gladman │ │ │ ├── THIRDPARTYLICENSE.gladman.descrip │ │ │ ├── THIRDPARTYLICENSE.openssl │ │ │ ├── THIRDPARTYLICENSE.openssl.descrip │ │ │ ├── aes_aesni.S │ │ │ ├── aes_amd64.S │ │ │ ├── aeskey.c │ │ │ ├── aesopt.h │ │ │ ├── aestab.h │ │ │ └── aestab2.h │ │ ├── modes │ │ │ └── gcm_pclmulqdq.S │ │ └── sha2 │ │ │ ├── sha256_impl.S │ │ │ └── sha512_impl.S │ ├── core │ │ ├── kcf_callprov.c │ │ ├── kcf_mech_tabs.c │ │ ├── kcf_prov_lib.c │ │ ├── kcf_prov_tabs.c │ │ └── kcf_sched.c │ ├── illumos-crypto.c │ ├── include │ │ ├── aes │ │ │ └── aes_impl.h │ │ ├── modes │ │ │ ├── gcm_impl.h │ │ │ └── modes.h │ │ ├── sha1 │ │ │ ├── sha1.h │ │ │ ├── sha1_consts.h │ │ │ └── sha1_impl.h │ │ ├── sha2 │ │ │ ├── sha2_consts.h │ │ │ └── sha2_impl.h │ │ └── sys │ │ │ ├── asm_linkage.h │ │ │ ├── bitmap.h │ │ │ ├── crypto │ │ │ ├── dca.h │ │ │ ├── elfsign.h │ │ │ ├── impl.h │ │ │ ├── ioctl.h │ │ │ ├── ioctladmin.h │ │ │ ├── ops_impl.h │ │ │ ├── sched_impl.h │ │ │ └── spi.h │ │ │ ├── ia32 │ │ │ ├── asm_linkage.h │ │ │ ├── stack.h │ │ │ └── trap.h │ │ │ ├── modctl.h │ │ │ ├── modhash.h │ │ │ ├── modhash_impl.h │ │ │ ├── stack.h │ │ │ └── trap.h │ ├── io │ │ ├── aes.c │ │ ├── edonr_mod.c │ │ ├── sha1_mod.c │ │ ├── sha2_mod.c │ │ └── skein_mod.c │ ├── os │ │ ├── bitmap_arch.c │ │ ├── modconf.c │ │ └── modhash.c │ └── spi │ │ └── kcf_spi.c ├── lua │ ├── Makefile.in │ ├── README.zfs │ ├── lapi.c │ ├── lapi.h │ ├── lauxlib.c │ ├── lbaselib.c │ ├── lbitlib.c │ ├── lcode.c │ ├── lcode.h │ ├── lcompat.c │ ├── lcorolib.c │ ├── lctype.c │ ├── lctype.h │ ├── ldebug.c │ ├── ldebug.h │ ├── ldo.c │ ├── ldo.h │ ├── ldump.c │ ├── lfunc.c │ ├── lfunc.h │ ├── lgc.c │ ├── lgc.h │ ├── llex.c │ ├── llex.h │ ├── llimits.h │ ├── lmem.c │ ├── lmem.h │ ├── lobject.c │ ├── lobject.h │ ├── lopcodes.c │ ├── lopcodes.h │ ├── lparser.c │ ├── lparser.h │ ├── lstate.c │ ├── lstate.h │ ├── lstring.c │ ├── lstring.h │ ├── lstrlib.c │ ├── ltable.c │ ├── ltable.h │ ├── ltablib.c │ ├── ltm.c │ ├── ltm.h │ ├── lundump.c │ ├── lundump.h │ ├── lvm.c │ ├── lvm.h │ ├── lzio.c │ ├── lzio.h │ └── setjmp │ │ ├── setjmp.S │ │ ├── setjmp_aarch64.S │ │ ├── setjmp_arm.S │ │ ├── setjmp_i386.S │ │ ├── setjmp_mips.S │ │ ├── setjmp_ppc.S │ │ ├── setjmp_s390x.S │ │ ├── setjmp_sparc64.S │ │ └── setjmp_x86_64.S ├── nvpair │ ├── Makefile.in │ ├── fnvpair.c │ ├── nvpair.c │ ├── nvpair_alloc_fixed.c │ └── nvpair_alloc_spl.c ├── unicode │ ├── Makefile.in │ ├── u8_textprep.c │ └── uconv.c ├── zcommon │ ├── zfs_comutil.c │ ├── zfs_deleg.c │ ├── zfs_fletcher.c │ ├── zfs_fletcher_avx512.c │ ├── zfs_fletcher_intel.c │ ├── zfs_fletcher_sse.c │ ├── zfs_fletcher_superscalar.c │ ├── zfs_fletcher_superscalar4.c │ ├── zfs_namecheck.c │ ├── zfs_prop.c │ ├── zfs_uio.c │ ├── zpool_prop.c │ └── zprop_common.c ├── zfs │ ├── .gitignore │ ├── Info.plist │ ├── InfoPlist.strings │ ├── Makefile.am │ ├── ZFSDataset.cpp │ ├── ZFSDatasetProxy.cpp │ ├── ZFSDatasetScheme.cpp │ ├── ZFSPool.cpp │ ├── abd.c │ ├── aggsum.c │ ├── arc.c │ ├── blkptr.c │ ├── bplist.c │ ├── bpobj.c │ ├── bptree.c │ ├── bqueue.c │ ├── cityhash.c │ ├── compile │ ├── dbuf.c │ ├── dbuf_stats.c │ ├── ddt.c │ ├── ddt_zap.c │ ├── dmu.c │ ├── dmu_diff.c │ ├── dmu_object.c │ ├── dmu_objset.c │ ├── dmu_recv.c │ ├── dmu_send.c │ ├── dmu_traverse.c │ ├── dmu_tx.c │ ├── dmu_zfetch.c │ ├── dnode.c │ ├── dnode_sync.c │ ├── dsl_bookmark.c │ ├── dsl_crypt.c │ ├── dsl_dataset.c │ ├── dsl_deadlist.c │ ├── dsl_deleg.c │ ├── dsl_destroy.c │ ├── dsl_dir.c │ ├── dsl_pool.c │ ├── dsl_prop.c │ ├── dsl_scan.c │ ├── dsl_synctask.c │ ├── dsl_userhold.c │ ├── edonr.c │ ├── edonr_zfs.c │ ├── fm.c │ ├── gfs.c │ ├── gzip.c │ ├── hkdf.c │ ├── ldi_iokit.cpp │ ├── ldi_osx.c │ ├── ldi_vnode.c │ ├── load_zfs │ ├── lz4.c │ ├── lzjb.c │ ├── metaslab.c │ ├── mmp.c │ ├── multilist.c │ ├── range_tree.c │ ├── refcount.c │ ├── rrwlock.c │ ├── sa.c │ ├── sha256.c │ ├── skein_zfs.c │ ├── spa.c │ ├── spa_boot.c │ ├── spa_checkpoint.c │ ├── spa_config.c │ ├── spa_errlog.c │ ├── spa_history.c │ ├── spa_misc.c │ ├── spa_stats.c │ ├── space_map.c │ ├── space_reftree.c │ ├── trace.c │ ├── txg.c │ ├── uberblock.c │ ├── unique.c │ ├── vdev.c │ ├── vdev_cache.c │ ├── vdev_disk.c │ ├── vdev_file.c │ ├── vdev_indirect.c │ ├── vdev_indirect_births.c │ ├── vdev_indirect_mapping.c │ ├── vdev_initialize.c │ ├── vdev_label.c │ ├── vdev_mirror.c │ ├── vdev_missing.c │ ├── vdev_queue.c │ ├── vdev_raidz.c │ ├── vdev_raidz_math.c │ ├── vdev_raidz_math_avx2.c │ ├── vdev_raidz_math_avx512bw.c │ ├── vdev_raidz_math_avx512f.c │ ├── vdev_raidz_math_impl.h │ ├── vdev_raidz_math_scalar.c │ ├── vdev_raidz_math_sse2.c │ ├── vdev_raidz_math_ssse3.c │ ├── vdev_removal.c │ ├── vdev_root.c │ ├── vdev_trim.c │ ├── zap.c │ ├── zap_leaf.c │ ├── zap_micro.c │ ├── zcp.c │ ├── zcp_get.c │ ├── zcp_global.c │ ├── zcp_iter.c │ ├── zcp_synctask.c │ ├── zfeature.c │ ├── zfeature_common.c │ ├── zfs_acl.c │ ├── zfs_boot.cpp │ ├── zfs_byteswap.c │ ├── zfs_ctldir.c │ ├── zfs_debug.c │ ├── zfs_dir.c │ ├── zfs_fm.c │ ├── zfs_fuid.c │ ├── zfs_ioctl.c │ ├── zfs_kstat_osx.c │ ├── zfs_log.c │ ├── zfs_onexit.c │ ├── zfs_osx.cpp │ ├── zfs_replay.c │ ├── zfs_rlock.c │ ├── zfs_sa.c │ ├── zfs_vfsops.c │ ├── zfs_vnops.c │ ├── zfs_vnops_osx.c │ ├── zfs_vnops_osx_lib.c │ ├── zfs_znode.c │ ├── zil.c │ ├── zio.c │ ├── zio_checksum.c │ ├── zio_compress.c │ ├── zio_crypt.c │ ├── zio_inject.c │ ├── zle.c │ ├── zpl_ctldir.c │ ├── zpl_export.c │ ├── zpl_file.c │ ├── zpl_inode.c │ ├── zpl_super.c │ ├── zpl_xattr.c │ ├── zrlock.c │ ├── zthr.c │ ├── zvol.c │ └── zvolIO.cpp └── zpios │ ├── Makefile.in │ └── pios.c ├── rpm ├── Makefile.am ├── fedora │ ├── .gitignore │ ├── Makefile.am │ ├── zfs-dkms.spec.in │ ├── zfs-kmod.spec.in │ └── zfs.spec.in ├── generic │ ├── .gitignore │ ├── Makefile.am │ ├── zfs-dkms.spec.in │ ├── zfs-kmod.spec.in │ └── zfs.spec.in └── redhat │ ├── .gitignore │ ├── Makefile.am │ ├── zfs-dkms.spec.in │ ├── zfs-kmod.spec.in │ └── zfs.spec.in ├── scripts ├── .gitignore ├── Makefile.am ├── common.sh.in ├── cstyle.pl ├── dkms.mkconf ├── dkms.postbuild ├── getstacks.rb ├── kmodtool ├── make_gitrev.sh ├── man-dates.sh ├── openzfs_cherrypick.sh ├── smb.sh ├── zconfig.sh ├── zed.service.sh ├── zfault.sh ├── zfs.sh ├── zfs2osx-patch.sed ├── zfs2zol-patch.sed ├── ziltest.sh ├── zimport.sh ├── zpios-profile │ ├── Makefile.am │ ├── zpios-profile-disk.sh │ ├── zpios-profile-pids.sh │ ├── zpios-profile-post.sh │ ├── zpios-profile-pre.sh │ └── zpios-profile.sh ├── zpios-sanity.sh ├── zpios-survey.sh ├── zpios-test │ ├── 16th-8192rc-4rs-1cs-4off.sh │ ├── 1th-16rc-4rs-1cs-4off.sh │ ├── 1x256th-65536rc-4rs-1cs-4off.sh │ ├── 256th-65536rc-4rs-1cs-4off.sh │ ├── 4th-1024rc-4rs-1cs-4off.sh │ ├── Makefile.am │ ├── large-thread-survey.sh │ ├── large.sh │ ├── lustre.sh │ ├── medium.sh │ ├── small.sh │ └── tiny.sh ├── zpios.sh ├── zpool-autoimport.sh ├── zpool-config │ ├── Makefile.am │ ├── dm0-raid0.sh │ ├── file-raid0.sh │ ├── file-raid10.sh │ ├── file-raidz.sh │ ├── file-raidz2.sh │ ├── hda-raid0.sh │ ├── lo-faulty-raid0.sh │ ├── lo-faulty-raid10.sh │ ├── lo-faulty-raidz.sh │ ├── lo-faulty-raidz2.sh │ ├── lo-faulty-raidz3.sh │ ├── lo-raid0.sh │ ├── lo-raid10.sh │ ├── lo-raidz.sh │ ├── lo-raidz2.sh │ ├── md0-raid10.sh │ ├── md0-raid5.sh │ ├── ram0-raid0.sh │ ├── scsi_debug-noraid.sh │ ├── scsi_debug-raid0.sh │ ├── scsi_debug-raid10.sh │ ├── scsi_debug-raidz.sh │ ├── scsi_debug-raidz2.sh │ ├── scsi_debug-raidz3.sh │ ├── sda-raid0.sh │ ├── zpool-raid0.sh │ ├── zpool-raid10.sh │ └── zpool-raidz.sh └── zpool-create.sh ├── tests ├── Makefile.am ├── Makefile.com ├── README ├── autogen.sh ├── config │ ├── Rules.am │ ├── commands-bsd.m4 │ ├── commands-common.m4 │ ├── commands-linux.m4 │ ├── commands-osx.m4 │ ├── config.guess │ ├── config.sub │ ├── depcomp │ ├── install-sh │ └── system.m4 ├── configure.ac ├── runfiles │ └── linux.run ├── scripts │ ├── missing_cmd │ ├── mkfile │ └── test-fails ├── test-runner │ ├── bin │ │ └── run │ ├── cmd │ │ └── run.py │ ├── man │ │ └── run.1 │ └── stf │ │ ├── README │ │ ├── contrib │ │ └── include │ │ │ └── logapi.shlib │ │ └── include │ │ └── stf.shlib └── zfs-tests │ ├── bin │ ├── chg_usr_exec │ ├── devname2devid │ ├── dir_rd_update │ ├── file_check │ ├── file_trunc │ ├── file_write │ ├── largest_file │ ├── libzfs_input_check │ ├── mkbusy │ ├── mkfile │ ├── mkfiles │ ├── mktree │ ├── mmapwrite │ ├── nvlist_to_lua │ ├── randfree_file │ ├── randwritecomp │ ├── readmmap │ ├── rename_dir │ ├── rm_lnkcnt_zero_file │ └── xattrtest │ ├── callbacks │ └── zfs_mmp.ksh │ ├── cmd │ ├── .gitignore │ ├── Makefile.subdirs │ ├── chg_usr_exec │ │ ├── Makefile.am │ │ └── chg_usr_exec.c │ ├── devname2devid │ │ └── devname2devid.c │ ├── dir_rd_update │ │ └── dir_rd_update.c │ ├── file_check │ │ ├── Makefile.am │ │ └── file_check.c │ ├── file_common.h │ ├── file_trunc │ │ ├── Makefile.am │ │ └── file_trunc.c │ ├── file_write │ │ ├── Makefile.am │ │ └── file_write.c │ ├── largest_file │ │ ├── Makefile.am │ │ └── largest_file.c │ ├── libzfs_input_check │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── libzfs_input_check.c │ ├── mkbusy │ │ ├── Makefile.am │ │ └── mkbusy.c │ ├── mkfile │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── mkfile.c │ ├── mkfiles │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── mkfiles.c │ ├── mktree │ │ ├── Makefile.am │ │ └── mktree.c │ ├── mmapwrite │ │ ├── Makefile.am │ │ └── mmapwrite.c │ ├── nvlist_to_lua │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── nvlist_to_lua.c │ ├── randfree_file │ │ ├── Makefile.am │ │ └── randfree_file.c │ ├── randwritecomp │ │ ├── Makefile.am │ │ └── randwritecomp.c │ ├── readmmap │ │ ├── Makefile.am │ │ └── readmmap.c │ ├── rename_dir │ │ └── rename_dir.c │ ├── rm_lnkcnt_zero_file │ │ ├── Makefile.am │ │ └── rm_lnkcnt_zero_file.c │ ├── scripts │ │ └── zfstest.ksh │ └── xattrtest │ │ ├── Makefile.am │ │ └── xattrtest.c │ ├── doc │ └── README │ ├── include │ ├── blkdev.shlib │ ├── commands.cfg.in │ ├── default.cfg.in │ ├── libtest.shlib │ ├── math.shlib │ └── properties.shlib │ ├── runfiles │ ├── delphix.run │ ├── linux.run │ ├── linux.run.in │ ├── longevity.run │ ├── omnios.run │ ├── openindiana.run │ ├── osx.run.in │ └── stress.run │ └── tests │ ├── functional │ ├── .gitignore │ ├── acl │ │ ├── acl.cfg │ │ ├── acl_common.kshlib │ │ ├── cifs │ │ │ ├── cifs.kshlib │ │ │ ├── cifs_attr_001_pos.ksh │ │ │ ├── cifs_attr_002_pos.ksh │ │ │ ├── cifs_attr_003_pos.ksh │ │ │ ├── cleanup.ksh │ │ │ └── setup.ksh │ │ ├── nontrivial │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_acl_aclmode_restricted_001_neg.ksh │ │ │ ├── zfs_acl_chmod_001_neg.ksh │ │ │ ├── zfs_acl_chmod_002_pos.ksh │ │ │ ├── zfs_acl_chmod_aclmode_001_pos.ksh │ │ │ ├── zfs_acl_chmod_compact_001_pos.ksh │ │ │ ├── zfs_acl_chmod_delete_001_pos.ksh │ │ │ ├── zfs_acl_chmod_inherit_001_pos.ksh │ │ │ ├── zfs_acl_chmod_inherit_002_neg.ksh │ │ │ ├── zfs_acl_chmod_inherit_002_pos.ksh │ │ │ ├── zfs_acl_chmod_inherit_003_pos.ksh │ │ │ ├── zfs_acl_chmod_inherit_004_pos.ksh │ │ │ ├── zfs_acl_chmod_owner_001_pos.ksh │ │ │ ├── zfs_acl_chmod_rwacl_001_pos.ksh │ │ │ ├── zfs_acl_chmod_rwx_001_pos.ksh │ │ │ ├── zfs_acl_chmod_rwx_002_pos.ksh │ │ │ ├── zfs_acl_chmod_rwx_003_pos.ksh │ │ │ ├── zfs_acl_chmod_rwx_004_pos.ksh │ │ │ ├── zfs_acl_chmod_xattr_001_pos.ksh │ │ │ ├── zfs_acl_chmod_xattr_002_pos.ksh │ │ │ ├── zfs_acl_cp_001_pos.ksh │ │ │ ├── zfs_acl_cp_002_pos.ksh │ │ │ ├── zfs_acl_cpio_001_pos.ksh │ │ │ ├── zfs_acl_cpio_002_pos.ksh │ │ │ ├── zfs_acl_find_001_pos.ksh │ │ │ ├── zfs_acl_ls_001_pos.ksh │ │ │ ├── zfs_acl_mv_001_pos.ksh │ │ │ ├── zfs_acl_tar_001_pos.ksh │ │ │ └── zfs_acl_tar_002_pos.ksh │ │ ├── posix │ │ │ ├── cleanup.ksh │ │ │ ├── posix_001_pos.ksh │ │ │ ├── posix_002_pos.ksh │ │ │ └── setup.ksh │ │ └── trivial │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_acl_aclmode_restricted_001_pos.ksh │ │ │ ├── zfs_acl_chmod_001_pos.ksh │ │ │ ├── zfs_acl_compress_001_pos.ksh │ │ │ ├── zfs_acl_cp_001_pos.ksh │ │ │ ├── zfs_acl_cp_002_neg.ksh │ │ │ ├── zfs_acl_cp_003_neg.ksh │ │ │ ├── zfs_acl_find_001_pos.ksh │ │ │ ├── zfs_acl_find_002_neg.ksh │ │ │ ├── zfs_acl_ls_001_pos.ksh │ │ │ ├── zfs_acl_ls_002_neg.ksh │ │ │ ├── zfs_acl_mv_001_pos.ksh │ │ │ ├── zfs_acl_pack_001_pos.ksh │ │ │ ├── zfs_acl_pax_001_pos.ksh │ │ │ ├── zfs_acl_pax_002_pos.ksh │ │ │ ├── zfs_acl_pax_003_pos.ksh │ │ │ ├── zfs_acl_pax_004_pos.ksh │ │ │ ├── zfs_acl_pax_005_pos.ksh │ │ │ ├── zfs_acl_pax_006_pos.ksh │ │ │ ├── zfs_acl_tar_001_pos.ksh │ │ │ └── zfs_acl_tar_002_neg.ksh │ ├── alloc_class │ │ ├── alloc_class.cfg │ │ ├── alloc_class.kshlib │ │ ├── alloc_class_001_pos.ksh │ │ ├── alloc_class_002_neg.ksh │ │ ├── alloc_class_003_pos.ksh │ │ ├── alloc_class_004_pos.ksh │ │ ├── alloc_class_005_pos.ksh │ │ ├── alloc_class_006_pos.ksh │ │ ├── alloc_class_007_pos.ksh │ │ ├── alloc_class_008_pos.ksh │ │ ├── alloc_class_009_pos.ksh │ │ ├── alloc_class_010_pos.ksh │ │ ├── alloc_class_011_neg.ksh │ │ ├── alloc_class_012_pos.ksh │ │ ├── alloc_class_013_pos.ksh │ │ ├── cleanup.ksh │ │ └── setup.ksh │ ├── atime │ │ ├── atime.cfg │ │ ├── atime_001_pos.ksh │ │ ├── atime_002_neg.ksh │ │ ├── atime_common.kshlib │ │ ├── cleanup.ksh │ │ └── setup.ksh │ ├── bootfs │ │ ├── bootfs_001_pos.ksh │ │ ├── bootfs_002_neg.ksh │ │ ├── bootfs_003_pos.ksh │ │ ├── bootfs_004_neg.ksh │ │ ├── bootfs_005_neg.ksh │ │ ├── bootfs_006_pos.ksh │ │ ├── bootfs_007_neg.ksh │ │ └── bootfs_008_neg.ksh │ ├── cache │ │ ├── cache.cfg │ │ ├── cache.kshlib │ │ ├── cache_001_pos.ksh │ │ ├── cache_002_pos.ksh │ │ ├── cache_003_pos.ksh │ │ ├── cache_004_neg.ksh │ │ ├── cache_005_neg.ksh │ │ ├── cache_006_pos.ksh │ │ ├── cache_007_neg.ksh │ │ ├── cache_008_neg.ksh │ │ ├── cache_009_pos.ksh │ │ ├── cache_010_neg.ksh │ │ ├── cache_011_pos.ksh │ │ ├── cleanup.ksh │ │ └── setup.ksh │ ├── cachefile │ │ ├── cachefile.cfg │ │ ├── cachefile.kshlib │ │ ├── cachefile_001_pos.ksh │ │ ├── cachefile_002_pos.ksh │ │ ├── cachefile_003_pos.ksh │ │ └── cachefile_004_pos.ksh │ ├── casenorm │ │ ├── case_all_values.ksh │ │ ├── casenorm.cfg │ │ ├── casenorm.kshlib │ │ ├── cleanup.ksh │ │ ├── insensitive_formd_delete.ksh │ │ ├── insensitive_formd_lookup.ksh │ │ ├── insensitive_none_delete.ksh │ │ ├── insensitive_none_lookup.ksh │ │ ├── mixed_create_failure.ksh │ │ ├── mixed_formd_delete.ksh │ │ ├── mixed_formd_lookup.ksh │ │ ├── mixed_formd_lookup_ci.ksh │ │ ├── mixed_none_delete.ksh │ │ ├── mixed_none_lookup.ksh │ │ ├── mixed_none_lookup_ci.ksh │ │ ├── norm_all_values.ksh │ │ ├── sensitive_formd_delete.ksh │ │ ├── sensitive_formd_lookup.ksh │ │ ├── sensitive_none_delete.ksh │ │ ├── sensitive_none_lookup.ksh │ │ └── setup.ksh │ ├── channel_program │ │ ├── Makefile.am │ │ ├── channel_common.kshlib │ │ ├── lua_core │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── tst.args_to_lua.ksh │ │ │ ├── tst.args_to_lua.out │ │ │ ├── tst.args_to_lua.zcp │ │ │ ├── tst.divide_by_zero.err │ │ │ ├── tst.divide_by_zero.ksh │ │ │ ├── tst.divide_by_zero.zcp │ │ │ ├── tst.exists.ksh │ │ │ ├── tst.exists.zcp │ │ │ ├── tst.integer_illegal.ksh │ │ │ ├── tst.integer_overflow.ksh │ │ │ ├── tst.language_functions_neg.ksh │ │ │ ├── tst.language_functions_pos.ksh │ │ │ ├── tst.large_prog.ksh │ │ │ ├── tst.large_prog.out │ │ │ ├── tst.large_prog.zcp │ │ │ ├── tst.memory_limit.ksh │ │ │ ├── tst.nested_neg.ksh │ │ │ ├── tst.nested_neg.zcp │ │ │ ├── tst.nested_pos.ksh │ │ │ ├── tst.nested_pos.zcp │ │ │ ├── tst.nvlist_to_lua.ksh │ │ │ ├── tst.recursive.zcp │ │ │ ├── tst.recursive_neg.ksh │ │ │ ├── tst.recursive_pos.ksh │ │ │ ├── tst.return_large.ksh │ │ │ ├── tst.return_large.zcp │ │ │ ├── tst.return_nvlist_neg.ksh │ │ │ ├── tst.return_nvlist_pos.ksh │ │ │ ├── tst.return_recursive_table.ksh │ │ │ ├── tst.return_recursive_table.zcp │ │ │ ├── tst.timeout.ksh │ │ │ └── tst.timeout.zcp │ │ └── synctask_core │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── tst.destroy_fs.ksh │ │ │ ├── tst.destroy_snap.ksh │ │ │ ├── tst.get_count_and_limit.ksh │ │ │ ├── tst.get_index_props.ksh │ │ │ ├── tst.get_index_props.out │ │ │ ├── tst.get_index_props.zcp │ │ │ ├── tst.get_mountpoint.ksh │ │ │ ├── tst.get_neg.ksh │ │ │ ├── tst.get_number_props.ksh │ │ │ ├── tst.get_number_props.out │ │ │ ├── tst.get_number_props.zcp │ │ │ ├── tst.get_string_props.ksh │ │ │ ├── tst.get_string_props.out │ │ │ ├── tst.get_string_props.zcp │ │ │ ├── tst.get_type.ksh │ │ │ ├── tst.get_userquota.ksh │ │ │ ├── tst.get_written.ksh │ │ │ ├── tst.list_children.ksh │ │ │ ├── tst.list_clones.ksh │ │ │ ├── tst.list_snapshots.ksh │ │ │ ├── tst.list_system_props.ksh │ │ │ ├── tst.parse_args_neg.ksh │ │ │ ├── tst.promote_conflict.ksh │ │ │ ├── tst.promote_conflict.zcp │ │ │ ├── tst.promote_multiple.ksh │ │ │ ├── tst.promote_simple.ksh │ │ │ ├── tst.rollback_mult.ksh │ │ │ ├── tst.rollback_one.ksh │ │ │ ├── tst.snapshot_destroy.ksh │ │ │ ├── tst.snapshot_destroy.zcp │ │ │ ├── tst.snapshot_neg.ksh │ │ │ ├── tst.snapshot_neg.zcp │ │ │ ├── tst.snapshot_recursive.ksh │ │ │ ├── tst.snapshot_recursive.zcp │ │ │ ├── tst.snapshot_simple.ksh │ │ │ └── tst.snapshot_simple.zcp │ ├── checksum │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── cleanup.ksh │ │ ├── default.cfg │ │ ├── edonr_test.c │ │ ├── filetest_001_pos.ksh │ │ ├── run_edonr_test.ksh │ │ ├── run_sha2_test.ksh │ │ ├── run_skein_test.ksh │ │ ├── setup.ksh │ │ ├── sha2_test.c │ │ └── skein_test.c │ ├── clean_mirror │ │ ├── clean_mirror_001_pos.ksh │ │ ├── clean_mirror_002_pos.ksh │ │ ├── clean_mirror_003_pos.ksh │ │ ├── clean_mirror_004_pos.ksh │ │ ├── clean_mirror_common.kshlib │ │ ├── cleanup.ksh │ │ ├── default.cfg │ │ └── setup.ksh │ ├── cli_root │ │ ├── Makefile.am │ │ ├── cli_common.kshlib │ │ ├── zdb │ │ │ ├── zdb_001_neg.ksh │ │ │ ├── zdb_002_pos.ksh │ │ │ ├── zdb_003_pos.ksh │ │ │ ├── zdb_004_pos.ksh │ │ │ └── zdb_005_pos.ksh │ │ ├── zfs │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_001_neg.ksh │ │ │ ├── zfs_002_pos.ksh │ │ │ └── zfs_003_neg.ksh │ │ ├── zfs_change-key │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_change-key.ksh │ │ │ ├── zfs_change-key_child.ksh │ │ │ ├── zfs_change-key_format.ksh │ │ │ ├── zfs_change-key_inherit.ksh │ │ │ ├── zfs_change-key_load.ksh │ │ │ ├── zfs_change-key_location.ksh │ │ │ └── zfs_change-key_pbkdf2iters.ksh │ │ ├── zfs_clone │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_clone_001_neg.ksh │ │ │ ├── zfs_clone_002_pos.ksh │ │ │ ├── zfs_clone_003_pos.ksh │ │ │ ├── zfs_clone_004_pos.ksh │ │ │ ├── zfs_clone_005_pos.ksh │ │ │ ├── zfs_clone_006_pos.ksh │ │ │ ├── zfs_clone_007_pos.ksh │ │ │ ├── zfs_clone_008_neg.ksh │ │ │ ├── zfs_clone_009_neg.ksh │ │ │ ├── zfs_clone_010_pos.ksh │ │ │ └── zfs_clone_encrypted.ksh │ │ ├── zfs_copies │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_copies.cfg │ │ │ ├── zfs_copies.kshlib │ │ │ ├── zfs_copies_001_pos.ksh │ │ │ ├── zfs_copies_002_pos.ksh │ │ │ ├── zfs_copies_003_pos.ksh │ │ │ ├── zfs_copies_004_neg.ksh │ │ │ ├── zfs_copies_005_neg.ksh │ │ │ └── zfs_copies_006_pos.ksh │ │ ├── zfs_create │ │ │ ├── cleanup.ksh │ │ │ ├── properties.kshlib │ │ │ ├── setup.ksh │ │ │ ├── zfs_create.cfg │ │ │ ├── zfs_create_001_pos.ksh │ │ │ ├── zfs_create_002_pos.ksh │ │ │ ├── zfs_create_003_pos.ksh │ │ │ ├── zfs_create_004_pos.ksh │ │ │ ├── zfs_create_005_pos.ksh │ │ │ ├── zfs_create_006_pos.ksh │ │ │ ├── zfs_create_007_pos.ksh │ │ │ ├── zfs_create_008_neg.ksh │ │ │ ├── zfs_create_009_neg.ksh │ │ │ ├── zfs_create_010_neg.ksh │ │ │ ├── zfs_create_011_pos.ksh │ │ │ ├── zfs_create_012_pos.ksh │ │ │ ├── zfs_create_013_pos.ksh │ │ │ ├── zfs_create_014_pos.ksh │ │ │ ├── zfs_create_common.kshlib │ │ │ ├── zfs_create_crypt_combos.ksh │ │ │ └── zfs_create_encrypted.ksh │ │ ├── zfs_destroy │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_destroy.cfg │ │ │ ├── zfs_destroy_001_pos.ksh │ │ │ ├── zfs_destroy_002_pos.ksh │ │ │ ├── zfs_destroy_003_pos.ksh │ │ │ ├── zfs_destroy_004_pos.ksh │ │ │ ├── zfs_destroy_005_neg.ksh │ │ │ ├── zfs_destroy_006_neg.ksh │ │ │ ├── zfs_destroy_007_neg.ksh │ │ │ ├── zfs_destroy_008_pos.ksh │ │ │ ├── zfs_destroy_009_pos.ksh │ │ │ ├── zfs_destroy_010_pos.ksh │ │ │ ├── zfs_destroy_011_pos.ksh │ │ │ ├── zfs_destroy_012_pos.ksh │ │ │ ├── zfs_destroy_013_neg.ksh │ │ │ ├── zfs_destroy_014_pos.ksh │ │ │ ├── zfs_destroy_015_pos.ksh │ │ │ ├── zfs_destroy_016_pos.ksh │ │ │ └── zfs_destroy_common.kshlib │ │ ├── zfs_diff │ │ │ └── zfs_diff_encrypted.ksh │ │ ├── zfs_get │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_get_001_pos.ksh │ │ │ ├── zfs_get_002_pos.ksh │ │ │ ├── zfs_get_003_pos.ksh │ │ │ ├── zfs_get_004_pos.ksh │ │ │ ├── zfs_get_005_neg.ksh │ │ │ ├── zfs_get_006_neg.ksh │ │ │ ├── zfs_get_007_neg.ksh │ │ │ ├── zfs_get_008_pos.ksh │ │ │ ├── zfs_get_009_pos.ksh │ │ │ ├── zfs_get_010_neg.ksh │ │ │ ├── zfs_get_common.kshlib │ │ │ └── zfs_get_list_d.kshlib │ │ ├── zfs_inherit │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_inherit_001_neg.ksh │ │ │ ├── zfs_inherit_002_neg.ksh │ │ │ └── zfs_inherit_003_pos.ksh │ │ ├── zfs_load-key │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_load-key.cfg │ │ │ ├── zfs_load-key.ksh │ │ │ ├── zfs_load-key_all.ksh │ │ │ ├── zfs_load-key_common.kshlib │ │ │ ├── zfs_load-key_file.ksh │ │ │ ├── zfs_load-key_location.ksh │ │ │ ├── zfs_load-key_noop.ksh │ │ │ └── zfs_load-key_recursive.ksh │ │ ├── zfs_mount │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_mount.cfg │ │ │ ├── zfs_mount.kshlib │ │ │ ├── zfs_mount_001_pos.ksh │ │ │ ├── zfs_mount_002_pos.ksh │ │ │ ├── zfs_mount_003_pos.ksh │ │ │ ├── zfs_mount_004_pos.ksh │ │ │ ├── zfs_mount_005_pos.ksh │ │ │ ├── zfs_mount_006_pos.ksh │ │ │ ├── zfs_mount_007_pos.ksh │ │ │ ├── zfs_mount_008_pos.ksh │ │ │ ├── zfs_mount_009_neg.ksh │ │ │ ├── zfs_mount_010_neg.ksh │ │ │ ├── zfs_mount_011_neg.ksh │ │ │ ├── zfs_mount_012_neg.ksh │ │ │ ├── zfs_mount_all_001_pos.ksh │ │ │ └── zfs_mount_encrypted.ksh │ │ ├── zfs_program │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ └── zfs_program_json.ksh │ │ ├── zfs_promote │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_promote.cfg │ │ │ ├── zfs_promote_001_pos.ksh │ │ │ ├── zfs_promote_002_pos.ksh │ │ │ ├── zfs_promote_003_pos.ksh │ │ │ ├── zfs_promote_004_pos.ksh │ │ │ ├── zfs_promote_005_pos.ksh │ │ │ ├── zfs_promote_006_neg.ksh │ │ │ ├── zfs_promote_007_neg.ksh │ │ │ ├── zfs_promote_008_pos.ksh │ │ │ └── zfs_promote_encryptionroot.ksh │ │ ├── zfs_property │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ └── zfs_written_property_001_pos.ksh │ │ ├── zfs_receive │ │ │ ├── cleanup.ksh │ │ │ ├── receive-o-x_props_override.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_receive_001_pos.ksh │ │ │ ├── zfs_receive_002_pos.ksh │ │ │ ├── zfs_receive_003_pos.ksh │ │ │ ├── zfs_receive_004_neg.ksh │ │ │ ├── zfs_receive_005_neg.ksh │ │ │ ├── zfs_receive_006_pos.ksh │ │ │ ├── zfs_receive_007_neg.ksh │ │ │ ├── zfs_receive_008_pos.ksh │ │ │ ├── zfs_receive_009_neg.ksh │ │ │ ├── zfs_receive_010_pos.ksh │ │ │ ├── zfs_receive_011_pos.ksh │ │ │ ├── zfs_receive_012_pos.ksh │ │ │ ├── zfs_receive_013_pos.ksh │ │ │ ├── zfs_receive_014_pos.ksh │ │ │ ├── zfs_receive_015_pos.ksh │ │ │ ├── zfs_receive_from_encrypted.ksh │ │ │ ├── zfs_receive_raw.ksh │ │ │ ├── zfs_receive_raw_incremental.ksh │ │ │ └── zfs_receive_to_encrypted.ksh │ │ ├── zfs_remap │ │ │ ├── Makefile │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_remap_cliargs.ksh │ │ │ └── zfs_remap_obsolete_counts.ksh │ │ ├── zfs_rename │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_rename.cfg │ │ │ ├── zfs_rename.kshlib │ │ │ ├── zfs_rename_001_pos.ksh │ │ │ ├── zfs_rename_002_pos.ksh │ │ │ ├── zfs_rename_003_pos.ksh │ │ │ ├── zfs_rename_004_neg.ksh │ │ │ ├── zfs_rename_005_neg.ksh │ │ │ ├── zfs_rename_006_pos.ksh │ │ │ ├── zfs_rename_007_pos.ksh │ │ │ ├── zfs_rename_008_pos.ksh │ │ │ ├── zfs_rename_009_neg.ksh │ │ │ ├── zfs_rename_010_neg.ksh │ │ │ ├── zfs_rename_011_pos.ksh │ │ │ ├── zfs_rename_012_neg.ksh │ │ │ ├── zfs_rename_013_pos.ksh │ │ │ ├── zfs_rename_014_neg.ksh │ │ │ ├── zfs_rename_encrypted_child.ksh │ │ │ └── zfs_rename_to_encrypted.ksh │ │ ├── zfs_reservation │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_reservation_001_pos.ksh │ │ │ └── zfs_reservation_002_pos.ksh │ │ ├── zfs_rollback │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_rollback.cfg │ │ │ ├── zfs_rollback_001_pos.ksh │ │ │ ├── zfs_rollback_002_pos.ksh │ │ │ ├── zfs_rollback_003_neg.ksh │ │ │ ├── zfs_rollback_004_neg.ksh │ │ │ └── zfs_rollback_common.kshlib │ │ ├── zfs_send │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_send.cfg │ │ │ ├── zfs_send_001_pos.ksh │ │ │ ├── zfs_send_002_pos.ksh │ │ │ ├── zfs_send_003_pos.ksh │ │ │ ├── zfs_send_004_neg.ksh │ │ │ ├── zfs_send_005_pos.ksh │ │ │ ├── zfs_send_006_pos.ksh │ │ │ ├── zfs_send_007_pos.ksh │ │ │ ├── zfs_send_encrypted.ksh │ │ │ ├── zfs_send_encrypted_unloaded.ksh │ │ │ ├── zfs_send_raw.ksh │ │ │ └── zfs_send_sparse.ksh │ │ ├── zfs_set │ │ │ ├── cache_001_pos.ksh │ │ │ ├── cache_002_neg.ksh │ │ │ ├── canmount_001_pos.ksh │ │ │ ├── canmount_002_pos.ksh │ │ │ ├── canmount_003_pos.ksh │ │ │ ├── canmount_004_pos.ksh │ │ │ ├── checksum_001_pos.ksh │ │ │ ├── cleanup.ksh │ │ │ ├── compression_001_pos.ksh │ │ │ ├── mountpoint_001_pos.ksh │ │ │ ├── mountpoint_002_pos.ksh │ │ │ ├── mountpoint_003_pos.ksh │ │ │ ├── onoffs_001_pos.ksh │ │ │ ├── property_alias_001_pos.ksh │ │ │ ├── readonly_001_pos.ksh │ │ │ ├── reservation_001_neg.ksh │ │ │ ├── ro_props_001_pos.ksh │ │ │ ├── setup.ksh │ │ │ ├── share_mount_001_neg.ksh │ │ │ ├── snapdir_001_pos.ksh │ │ │ ├── user_property_001_pos.ksh │ │ │ ├── user_property_002_pos.ksh │ │ │ ├── user_property_003_neg.ksh │ │ │ ├── user_property_004_pos.ksh │ │ │ ├── version_001_neg.ksh │ │ │ ├── zfs_set_001_neg.ksh │ │ │ ├── zfs_set_002_neg.ksh │ │ │ ├── zfs_set_003_neg.ksh │ │ │ ├── zfs_set_common.kshlib │ │ │ └── zfs_set_keylocation.ksh │ │ ├── zfs_share │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_share.cfg │ │ │ ├── zfs_share_001_pos.ksh │ │ │ ├── zfs_share_002_pos.ksh │ │ │ ├── zfs_share_003_pos.ksh │ │ │ ├── zfs_share_004_pos.ksh │ │ │ ├── zfs_share_005_pos.ksh │ │ │ ├── zfs_share_006_pos.ksh │ │ │ ├── zfs_share_007_neg.ksh │ │ │ ├── zfs_share_008_neg.ksh │ │ │ ├── zfs_share_009_neg.ksh │ │ │ ├── zfs_share_010_neg.ksh │ │ │ └── zfs_share_011_pos.ksh │ │ ├── zfs_snapshot │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_snapshot.cfg │ │ │ ├── zfs_snapshot_001_neg.ksh │ │ │ ├── zfs_snapshot_002_neg.ksh │ │ │ ├── zfs_snapshot_003_neg.ksh │ │ │ ├── zfs_snapshot_004_neg.ksh │ │ │ ├── zfs_snapshot_005_neg.ksh │ │ │ ├── zfs_snapshot_006_pos.ksh │ │ │ ├── zfs_snapshot_007_neg.ksh │ │ │ ├── zfs_snapshot_008_neg.ksh │ │ │ └── zfs_snapshot_009_pos.ksh │ │ ├── zfs_unload-key │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_unload-key.ksh │ │ │ ├── zfs_unload-key_all.ksh │ │ │ └── zfs_unload-key_recursive.ksh │ │ ├── zfs_unmount │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_unmount.cfg │ │ │ ├── zfs_unmount.kshlib │ │ │ ├── zfs_unmount_001_pos.ksh │ │ │ ├── zfs_unmount_002_pos.ksh │ │ │ ├── zfs_unmount_003_pos.ksh │ │ │ ├── zfs_unmount_004_pos.ksh │ │ │ ├── zfs_unmount_005_pos.ksh │ │ │ ├── zfs_unmount_006_pos.ksh │ │ │ ├── zfs_unmount_007_neg.ksh │ │ │ ├── zfs_unmount_008_neg.ksh │ │ │ ├── zfs_unmount_009_pos.ksh │ │ │ └── zfs_unmount_all_001_pos.ksh │ │ ├── zfs_unshare │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_unshare_001_pos.ksh │ │ │ ├── zfs_unshare_002_pos.ksh │ │ │ ├── zfs_unshare_003_pos.ksh │ │ │ ├── zfs_unshare_004_neg.ksh │ │ │ └── zfs_unshare_005_neg.ksh │ │ ├── zfs_upgrade │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_upgrade.kshlib │ │ │ ├── zfs_upgrade_001_pos.ksh │ │ │ ├── zfs_upgrade_002_pos.ksh │ │ │ ├── zfs_upgrade_003_pos.ksh │ │ │ ├── zfs_upgrade_004_pos.ksh │ │ │ ├── zfs_upgrade_005_pos.ksh │ │ │ ├── zfs_upgrade_006_neg.ksh │ │ │ └── zfs_upgrade_007_neg.ksh │ │ ├── zpool │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_001_neg.ksh │ │ │ ├── zpool_002_pos.ksh │ │ │ └── zpool_003_pos.ksh │ │ ├── zpool_add │ │ │ ├── add_nested_replacing_spare.ksh │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_add.cfg │ │ │ ├── zpool_add.kshlib │ │ │ ├── zpool_add_001_pos.ksh │ │ │ ├── zpool_add_002_pos.ksh │ │ │ ├── zpool_add_003_pos.ksh │ │ │ ├── zpool_add_004_pos.ksh │ │ │ ├── zpool_add_005_pos.ksh │ │ │ ├── zpool_add_006_pos.ksh │ │ │ ├── zpool_add_007_neg.ksh │ │ │ ├── zpool_add_008_neg.ksh │ │ │ └── zpool_add_009_neg.ksh │ │ ├── zpool_attach │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ └── zpool_attach_001_neg.ksh │ │ ├── zpool_clear │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_clear.cfg │ │ │ ├── zpool_clear_001_pos.ksh │ │ │ ├── zpool_clear_002_neg.ksh │ │ │ ├── zpool_clear_003_neg.ksh │ │ │ └── zpool_clear_readonly.ksh │ │ ├── zpool_create │ │ │ ├── cleanup.ksh │ │ │ ├── create-o_ashift.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_create.cfg │ │ │ ├── zpool_create.shlib │ │ │ ├── zpool_create_001_pos.ksh │ │ │ ├── zpool_create_002_pos.ksh │ │ │ ├── zpool_create_003_pos.ksh │ │ │ ├── zpool_create_004_pos.ksh │ │ │ ├── zpool_create_005_pos.ksh │ │ │ ├── zpool_create_006_pos.ksh │ │ │ ├── zpool_create_007_neg.ksh │ │ │ ├── zpool_create_008_pos.ksh │ │ │ ├── zpool_create_009_neg.ksh │ │ │ ├── zpool_create_010_neg.ksh │ │ │ ├── zpool_create_011_neg.ksh │ │ │ ├── zpool_create_012_neg.ksh │ │ │ ├── zpool_create_013_neg.ksh │ │ │ ├── zpool_create_014_neg.ksh │ │ │ ├── zpool_create_015_neg.ksh │ │ │ ├── zpool_create_016_pos.ksh │ │ │ ├── zpool_create_017_neg.ksh │ │ │ ├── zpool_create_018_pos.ksh │ │ │ ├── zpool_create_019_pos.ksh │ │ │ ├── zpool_create_020_pos.ksh │ │ │ ├── zpool_create_021_pos.ksh │ │ │ ├── zpool_create_022_pos.ksh │ │ │ ├── zpool_create_023_neg.ksh │ │ │ ├── zpool_create_024_pos.ksh │ │ │ ├── zpool_create_crypt_combos.ksh │ │ │ ├── zpool_create_encrypted.ksh │ │ │ ├── zpool_create_features_001_pos.ksh │ │ │ ├── zpool_create_features_002_pos.ksh │ │ │ ├── zpool_create_features_003_pos.ksh │ │ │ ├── zpool_create_features_004_neg.ksh │ │ │ └── zpool_create_features_005_pos.ksh │ │ ├── zpool_destroy │ │ │ ├── zpool_destroy.cfg │ │ │ ├── zpool_destroy_001_pos.ksh │ │ │ ├── zpool_destroy_002_pos.ksh │ │ │ └── zpool_destroy_003_neg.ksh │ │ ├── zpool_detach │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ └── zpool_detach_001_neg.ksh │ │ ├── zpool_expand │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_expand.cfg │ │ │ ├── zpool_expand_001_pos.ksh │ │ │ ├── zpool_expand_002_pos.ksh │ │ │ └── zpool_expand_003_neg.ksh │ │ ├── zpool_export │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_export_001_pos.ksh │ │ │ ├── zpool_export_002_pos.ksh │ │ │ ├── zpool_export_003_neg.ksh │ │ │ └── zpool_export_004_pos.ksh │ │ ├── zpool_get │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_get.cfg │ │ │ ├── zpool_get_001_pos.ksh │ │ │ ├── zpool_get_002_pos.ksh │ │ │ ├── zpool_get_003_pos.ksh │ │ │ └── zpool_get_004_neg.ksh │ │ ├── zpool_history │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_history_001_neg.ksh │ │ │ └── zpool_history_002_pos.ksh │ │ ├── zpool_import │ │ │ ├── blockfiles │ │ │ │ ├── Makefile.am │ │ │ │ ├── README │ │ │ │ ├── missing_ivset.dat.bz2 │ │ │ │ └── unclean_export.dat.bz2 │ │ │ ├── cleanup.ksh │ │ │ ├── cryptv0.dat.bz2 │ │ │ ├── import_cachefile_device_added.ksh │ │ │ ├── import_cachefile_device_removed.ksh │ │ │ ├── import_cachefile_device_replaced.ksh │ │ │ ├── import_cachefile_mirror_attached.ksh │ │ │ ├── import_cachefile_mirror_detached.ksh │ │ │ ├── import_cachefile_shared_device.ksh │ │ │ ├── import_devices_missing.ksh │ │ │ ├── import_paths_changed.ksh │ │ │ ├── import_rewind_config_changed.ksh │ │ │ ├── import_rewind_device_replaced.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_import.cfg │ │ │ ├── zpool_import │ │ │ │ ├── import_cachefile_device_added.ksh │ │ │ │ ├── import_cachefile_device_removed.ksh │ │ │ │ ├── import_cachefile_device_replaced.ksh │ │ │ │ ├── import_cachefile_mirror_attached.ksh │ │ │ │ ├── import_cachefile_mirror_detached.ksh │ │ │ │ ├── import_cachefile_shared_device.ksh │ │ │ │ ├── import_devices_missing.ksh │ │ │ │ ├── import_paths_changed.ksh │ │ │ │ ├── import_rewind_config_changed.ksh │ │ │ │ ├── import_rewind_device_replaced.ksh │ │ │ │ └── zpool_import.kshlib │ │ │ ├── zpool_import_001_pos.ksh │ │ │ ├── zpool_import_002_pos.ksh │ │ │ ├── zpool_import_003_pos.ksh │ │ │ ├── zpool_import_004_pos.ksh │ │ │ ├── zpool_import_005_pos.ksh │ │ │ ├── zpool_import_006_pos.ksh │ │ │ ├── zpool_import_007_pos.ksh │ │ │ ├── zpool_import_008_pos.ksh │ │ │ ├── zpool_import_009_neg.ksh │ │ │ ├── zpool_import_010_pos.ksh │ │ │ ├── zpool_import_011_neg.ksh │ │ │ ├── zpool_import_012_pos.ksh │ │ │ ├── zpool_import_013_neg.ksh │ │ │ ├── zpool_import_014_pos.ksh │ │ │ ├── zpool_import_all_001_pos.ksh │ │ │ ├── zpool_import_encrypted.ksh │ │ │ ├── zpool_import_encrypted_load.ksh │ │ │ ├── zpool_import_errata3.ksh │ │ │ ├── zpool_import_errata4.ksh │ │ │ ├── zpool_import_features_001_pos.ksh │ │ │ ├── zpool_import_features_002_neg.ksh │ │ │ ├── zpool_import_features_003_pos.ksh │ │ │ ├── zpool_import_missing_001_pos.ksh │ │ │ ├── zpool_import_missing_002_pos.ksh │ │ │ ├── zpool_import_missing_003_pos.ksh │ │ │ └── zpool_import_rename_001_pos.ksh │ │ ├── zpool_initialize │ │ │ ├── cleanup.ksh │ │ │ ├── zpool_initialize.kshlib │ │ │ ├── zpool_initialize_attach_detach_add_remove.ksh │ │ │ ├── zpool_initialize_import_export.ksh │ │ │ ├── zpool_initialize_offline_export_import_online.ksh │ │ │ ├── zpool_initialize_online_offline.ksh │ │ │ ├── zpool_initialize_split.ksh │ │ │ ├── zpool_initialize_start_and_cancel_neg.ksh │ │ │ ├── zpool_initialize_start_and_cancel_pos.ksh │ │ │ ├── zpool_initialize_suspend_resume.ksh │ │ │ ├── zpool_initialize_unsupported_vdevs.ksh │ │ │ ├── zpool_initialize_verify_checksums.ksh │ │ │ └── zpool_initialize_verify_initialized.ksh │ │ ├── zpool_labelclear │ │ │ ├── labelclear.cfg │ │ │ ├── zpool_labelclear_active.ksh │ │ │ ├── zpool_labelclear_exported.ksh │ │ │ ├── zpool_labelclear_removed.ksh │ │ │ └── zpool_labelclear_valid.ksh │ │ ├── zpool_offline │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_offline_001_pos.ksh │ │ │ ├── zpool_offline_002_neg.ksh │ │ │ └── zpool_offline_003_pos.ksh │ │ ├── zpool_online │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_online_001_pos.ksh │ │ │ └── zpool_online_002_neg.ksh │ │ ├── zpool_remove │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_remove.cfg │ │ │ ├── zpool_remove_001_neg.ksh │ │ │ ├── zpool_remove_002_pos.ksh │ │ │ └── zpool_remove_003_pos.ksh │ │ ├── zpool_reopen │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_reopen.cfg │ │ │ ├── zpool_reopen.shlib │ │ │ ├── zpool_reopen_001_pos.ksh │ │ │ ├── zpool_reopen_002_pos.ksh │ │ │ ├── zpool_reopen_003_pos.ksh │ │ │ ├── zpool_reopen_004_pos.ksh │ │ │ ├── zpool_reopen_005_pos.ksh │ │ │ └── zpool_reopen_006_neg.ksh │ │ ├── zpool_replace │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ └── zpool_replace_001_neg.ksh │ │ ├── zpool_resilver │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_resilver.cfg │ │ │ ├── zpool_resilver_bad_args.ksh │ │ │ └── zpool_resilver_restart.ksh │ │ ├── zpool_scrub │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_scrub.cfg │ │ │ ├── zpool_scrub_001_neg.ksh │ │ │ ├── zpool_scrub_002_pos.ksh │ │ │ ├── zpool_scrub_003_pos.ksh │ │ │ ├── zpool_scrub_004_pos.ksh │ │ │ ├── zpool_scrub_005_pos.ksh │ │ │ ├── zpool_scrub_encrypted_unloaded.ksh │ │ │ ├── zpool_scrub_multiple_copies.ksh │ │ │ └── zpool_scrub_offline_device.ksh │ │ ├── zpool_set │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_set_001_pos.ksh │ │ │ ├── zpool_set_002_neg.ksh │ │ │ ├── zpool_set_003_neg.ksh │ │ │ ├── zpool_set_ashift.ksh │ │ │ └── zpool_set_features.ksh │ │ ├── zpool_split │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_split.cfg │ │ │ ├── zpool_split_cliargs.ksh │ │ │ ├── zpool_split_devices.ksh │ │ │ ├── zpool_split_encryption.ksh │ │ │ ├── zpool_split_props.ksh │ │ │ ├── zpool_split_resilver.ksh │ │ │ ├── zpool_split_vdevs.ksh │ │ │ └── zpool_split_wholedisk.ksh │ │ ├── zpool_status │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_status_001_pos.ksh │ │ │ └── zpool_status_002_pos.ksh │ │ ├── zpool_sync │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_sync_001_pos.ksh │ │ │ └── zpool_sync_002_neg.ksh │ │ ├── zpool_trim │ │ │ ├── Makefile.am │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_trim.kshlib │ │ │ ├── zpool_trim_attach_detach_add_remove.ksh │ │ │ ├── zpool_trim_import_export.ksh │ │ │ ├── zpool_trim_multiple.ksh │ │ │ ├── zpool_trim_neg.ksh │ │ │ ├── zpool_trim_offline_export_import_online.ksh │ │ │ ├── zpool_trim_online_offline.ksh │ │ │ ├── zpool_trim_partial.ksh │ │ │ ├── zpool_trim_rate.ksh │ │ │ ├── zpool_trim_rate_neg.ksh │ │ │ ├── zpool_trim_secure.ksh │ │ │ ├── zpool_trim_split.ksh │ │ │ ├── zpool_trim_start_and_cancel_neg.ksh │ │ │ ├── zpool_trim_start_and_cancel_pos.ksh │ │ │ ├── zpool_trim_suspend_resume.ksh │ │ │ ├── zpool_trim_unsupported_vdevs.ksh │ │ │ ├── zpool_trim_verify_checksums.ksh │ │ │ └── zpool_trim_verify_trimmed.ksh │ │ └── zpool_upgrade │ │ │ ├── blockfiles │ │ │ ├── README │ │ │ ├── zfs-broken-mirror1.dat.bz2 │ │ │ ├── zfs-broken-mirror2.dat.bz2 │ │ │ ├── zfs-pool-v1.dat.bz2 │ │ │ ├── zfs-pool-v10.dat.bz2 │ │ │ ├── zfs-pool-v11.dat.bz2 │ │ │ ├── zfs-pool-v12.dat.bz2 │ │ │ ├── zfs-pool-v13.dat.bz2 │ │ │ ├── zfs-pool-v14.dat.bz2 │ │ │ ├── zfs-pool-v15.dat.bz2 │ │ │ ├── zfs-pool-v1mirror1.dat.bz2 │ │ │ ├── zfs-pool-v1mirror2.dat.bz2 │ │ │ ├── zfs-pool-v1mirror3.dat.bz2 │ │ │ ├── zfs-pool-v1raidz1.dat.bz2 │ │ │ ├── zfs-pool-v1raidz2.dat.bz2 │ │ │ ├── zfs-pool-v1raidz3.dat.bz2 │ │ │ ├── zfs-pool-v1stripe1.dat.bz2 │ │ │ ├── zfs-pool-v1stripe2.dat.bz2 │ │ │ ├── zfs-pool-v1stripe3.dat.bz2 │ │ │ ├── zfs-pool-v2.dat.bz2 │ │ │ ├── zfs-pool-v2mirror1.dat.bz2 │ │ │ ├── zfs-pool-v2mirror2.dat.bz2 │ │ │ ├── zfs-pool-v2mirror3.dat.bz2 │ │ │ ├── zfs-pool-v2raidz1.dat.bz2 │ │ │ ├── zfs-pool-v2raidz2.dat.bz2 │ │ │ ├── zfs-pool-v2raidz3.dat.bz2 │ │ │ ├── zfs-pool-v2stripe1.dat.bz2 │ │ │ ├── zfs-pool-v2stripe2.dat.bz2 │ │ │ ├── zfs-pool-v2stripe3.dat.bz2 │ │ │ ├── zfs-pool-v3.dat.bz2 │ │ │ ├── zfs-pool-v3hotspare1.dat.bz2 │ │ │ ├── zfs-pool-v3hotspare2.dat.bz2 │ │ │ ├── zfs-pool-v3hotspare3.dat.bz2 │ │ │ ├── zfs-pool-v3mirror1.dat.bz2 │ │ │ ├── zfs-pool-v3mirror2.dat.bz2 │ │ │ ├── zfs-pool-v3mirror3.dat.bz2 │ │ │ ├── zfs-pool-v3raidz1.dat.bz2 │ │ │ ├── zfs-pool-v3raidz2.dat.bz2 │ │ │ ├── zfs-pool-v3raidz21.dat.bz2 │ │ │ ├── zfs-pool-v3raidz22.dat.bz2 │ │ │ ├── zfs-pool-v3raidz23.dat.bz2 │ │ │ ├── zfs-pool-v3raidz3.dat.bz2 │ │ │ ├── zfs-pool-v3stripe1.dat.bz2 │ │ │ ├── zfs-pool-v3stripe2.dat.bz2 │ │ │ ├── zfs-pool-v3stripe3.dat.bz2 │ │ │ ├── zfs-pool-v4.dat.bz2 │ │ │ ├── zfs-pool-v5.dat.bz2 │ │ │ ├── zfs-pool-v6.dat.bz2 │ │ │ ├── zfs-pool-v7.dat.bz2 │ │ │ ├── zfs-pool-v8.dat.bz2 │ │ │ ├── zfs-pool-v9.dat.bz2 │ │ │ ├── zfs-pool-v999.dat.bz2 │ │ │ └── zfs-pool-vBROKEN.dat.bz2 │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_upgrade.cfg │ │ │ ├── zpool_upgrade.kshlib │ │ │ ├── zpool_upgrade_001_pos.ksh │ │ │ ├── zpool_upgrade_002_pos.ksh │ │ │ ├── zpool_upgrade_003_pos.ksh │ │ │ ├── zpool_upgrade_004_pos.ksh │ │ │ ├── zpool_upgrade_005_neg.ksh │ │ │ ├── zpool_upgrade_006_neg.ksh │ │ │ ├── zpool_upgrade_007_pos.ksh │ │ │ ├── zpool_upgrade_008_pos.ksh │ │ │ ├── zpool_upgrade_009_neg.ksh │ │ │ └── zpool_upgrade_010_pos.ksh │ ├── cli_user │ │ ├── misc │ │ │ ├── arc_summary_001_pos.ksh │ │ │ ├── arcstat_001_pos.ksh │ │ │ ├── cleanup.ksh │ │ │ ├── misc.cfg │ │ │ ├── setup.ksh │ │ │ ├── zdb_001_neg.ksh │ │ │ ├── zfs_001_neg.ksh │ │ │ ├── zfs_allow_001_neg.ksh │ │ │ ├── zfs_clone_001_neg.ksh │ │ │ ├── zfs_create_001_neg.ksh │ │ │ ├── zfs_destroy_001_neg.ksh │ │ │ ├── zfs_get_001_neg.ksh │ │ │ ├── zfs_inherit_001_neg.ksh │ │ │ ├── zfs_mount_001_neg.ksh │ │ │ ├── zfs_promote_001_neg.ksh │ │ │ ├── zfs_receive_001_neg.ksh │ │ │ ├── zfs_rename_001_neg.ksh │ │ │ ├── zfs_rollback_001_neg.ksh │ │ │ ├── zfs_send_001_neg.ksh │ │ │ ├── zfs_set_001_neg.ksh │ │ │ ├── zfs_share_001_neg.ksh │ │ │ ├── zfs_snapshot_001_neg.ksh │ │ │ ├── zfs_unallow_001_neg.ksh │ │ │ ├── zfs_unmount_001_neg.ksh │ │ │ ├── zfs_unshare_001_neg.ksh │ │ │ ├── zfs_upgrade_001_neg.ksh │ │ │ ├── zpool_001_neg.ksh │ │ │ ├── zpool_add_001_neg.ksh │ │ │ ├── zpool_attach_001_neg.ksh │ │ │ ├── zpool_clear_001_neg.ksh │ │ │ ├── zpool_create_001_neg.ksh │ │ │ ├── zpool_destroy_001_neg.ksh │ │ │ ├── zpool_detach_001_neg.ksh │ │ │ ├── zpool_export_001_neg.ksh │ │ │ ├── zpool_get_001_neg.ksh │ │ │ ├── zpool_history_001_neg.ksh │ │ │ ├── zpool_import_001_neg.ksh │ │ │ ├── zpool_import_002_neg.ksh │ │ │ ├── zpool_offline_001_neg.ksh │ │ │ ├── zpool_online_001_neg.ksh │ │ │ ├── zpool_remove_001_neg.ksh │ │ │ ├── zpool_replace_001_neg.ksh │ │ │ ├── zpool_scrub_001_neg.ksh │ │ │ ├── zpool_set_001_neg.ksh │ │ │ ├── zpool_status_001_neg.ksh │ │ │ └── zpool_upgrade_001_neg.ksh │ │ ├── zfs_list │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zfs_list.cfg │ │ │ ├── zfs_list.kshlib │ │ │ ├── zfs_list_001_pos.ksh │ │ │ ├── zfs_list_002_pos.ksh │ │ │ ├── zfs_list_003_pos.ksh │ │ │ ├── zfs_list_004_neg.ksh │ │ │ ├── zfs_list_007_pos.ksh │ │ │ └── zfs_list_008_neg.ksh │ │ ├── zpool_iostat │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_iostat_001_neg.ksh │ │ │ ├── zpool_iostat_002_pos.ksh │ │ │ ├── zpool_iostat_003_neg.ksh │ │ │ ├── zpool_iostat_004_pos.ksh │ │ │ └── zpool_iostat_005_pos.ksh │ │ └── zpool_list │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── zpool_list_001_pos.ksh │ │ │ └── zpool_list_002_neg.ksh │ ├── compression │ │ ├── cleanup.ksh │ │ ├── compress.cfg │ │ ├── compress_001_pos.ksh │ │ ├── compress_002_pos.ksh │ │ ├── compress_003_pos.ksh │ │ ├── compress_004_pos.ksh │ │ └── setup.ksh │ ├── ctime │ │ ├── Makefile.am │ │ ├── cleanup.ksh │ │ ├── ctime_001_pos.c │ │ └── setup.ksh │ ├── delegate │ │ ├── cleanup.ksh │ │ ├── delegate.cfg │ │ ├── delegate_common.kshlib │ │ ├── setup.ksh │ │ ├── zfs_allow_001_pos.ksh │ │ ├── zfs_allow_002_pos.ksh │ │ ├── zfs_allow_003_pos.ksh │ │ ├── zfs_allow_004_pos.ksh │ │ ├── zfs_allow_005_pos.ksh │ │ ├── zfs_allow_006_pos.ksh │ │ ├── zfs_allow_007_pos.ksh │ │ ├── zfs_allow_008_pos.ksh │ │ ├── zfs_allow_009_neg.ksh │ │ ├── zfs_allow_010_pos.ksh │ │ ├── zfs_allow_011_neg.ksh │ │ ├── zfs_allow_012_neg.ksh │ │ ├── zfs_unallow_001_pos.ksh │ │ ├── zfs_unallow_002_pos.ksh │ │ ├── zfs_unallow_003_pos.ksh │ │ ├── zfs_unallow_004_pos.ksh │ │ ├── zfs_unallow_005_pos.ksh │ │ ├── zfs_unallow_006_pos.ksh │ │ ├── zfs_unallow_007_neg.ksh │ │ └── zfs_unallow_008_neg.ksh │ ├── devices │ │ ├── cleanup.ksh │ │ ├── devices.cfg │ │ ├── devices_001_pos.ksh │ │ ├── devices_002_neg.ksh │ │ ├── devices_003_pos.ksh │ │ ├── devices_common.kshlib │ │ └── setup.ksh │ ├── events │ │ ├── events_002_pos.ksh │ │ └── events_common.kshlib │ ├── exec │ │ ├── Makefile.am │ │ ├── cleanup.ksh │ │ ├── exec_001_pos.ksh │ │ ├── exec_002_neg.ksh │ │ ├── mmap_exec.c │ │ └── setup.ksh │ ├── fault │ │ ├── auto_offline_001_pos.ksh │ │ ├── auto_online_001_pos.ksh │ │ ├── auto_replace_001_pos.ksh │ │ ├── auto_spare_001_pos.ksh │ │ ├── auto_spare_002_pos.ksh │ │ ├── auto_spare_ashift.ksh │ │ ├── auto_spare_multiple.ksh │ │ ├── auto_spare_shared.ksh │ │ ├── cleanup.ksh │ │ ├── decompress_fault.ksh │ │ ├── decrypt_fault.ksh │ │ ├── fault.cfg │ │ ├── scrub_after_resilver.ksh │ │ ├── setup.ksh │ │ └── zpool_status_-s.ksh │ ├── features │ │ ├── async_destroy │ │ │ ├── async_destroy_001_pos.ksh │ │ │ ├── cleanup.ksh │ │ │ └── setup.ksh │ │ └── large_dnode │ │ │ ├── cleanup.ksh │ │ │ ├── large_dnode_001_pos.ksh │ │ │ ├── large_dnode_002_pos.ksh │ │ │ ├── large_dnode_003_pos.ksh │ │ │ ├── large_dnode_004_neg.ksh │ │ │ ├── large_dnode_005_pos.ksh │ │ │ ├── large_dnode_006_pos.ksh │ │ │ ├── large_dnode_007_neg.ksh │ │ │ ├── large_dnode_008_pos.ksh │ │ │ ├── large_dnode_009_pos.ksh │ │ │ └── setup.ksh │ ├── grow_pool │ │ ├── cleanup.ksh │ │ ├── grow_pool.cfg │ │ ├── grow_pool_001_pos.ksh │ │ └── setup.ksh │ ├── grow_replicas │ │ ├── cleanup.ksh │ │ ├── grow_replicas.cfg │ │ ├── grow_replicas_001_pos.ksh │ │ └── setup.ksh │ ├── history │ │ ├── cleanup.ksh │ │ ├── history.cfg │ │ ├── history_001_pos.ksh │ │ ├── history_002_pos.ksh │ │ ├── history_003_pos.ksh │ │ ├── history_004_pos.ksh │ │ ├── history_005_neg.ksh │ │ ├── history_006_neg.ksh │ │ ├── history_007_pos.ksh │ │ ├── history_008_pos.ksh │ │ ├── history_009_pos.ksh │ │ ├── history_010_pos.ksh │ │ ├── history_common.kshlib │ │ ├── i386.migratedpool.DAT.Z │ │ ├── i386.orig_history.txt │ │ ├── setup.ksh │ │ ├── sparc.migratedpool.DAT.Z │ │ ├── sparc.orig_history.txt │ │ └── zfs-pool-v4.dat.Z │ ├── hkdf │ │ ├── cleanup.ksh │ │ ├── hkdf_test.c │ │ ├── run_hkdf_test.ksh │ │ └── setup.ksh │ ├── inheritance │ │ ├── README.config │ │ ├── README.state │ │ ├── cleanup.ksh │ │ ├── config001.cfg │ │ ├── config002.cfg │ │ ├── config003.cfg │ │ ├── config004.cfg │ │ ├── config005.cfg │ │ ├── config006.cfg │ │ ├── config007.cfg │ │ ├── config008.cfg │ │ ├── config009.cfg │ │ ├── config010.cfg │ │ ├── config011.cfg │ │ ├── config012.cfg │ │ ├── config013.cfg │ │ ├── config014.cfg │ │ ├── config015.cfg │ │ ├── config016.cfg │ │ ├── config017.cfg │ │ ├── config018.cfg │ │ ├── config019.cfg │ │ ├── config020.cfg │ │ ├── config021.cfg │ │ ├── config022.cfg │ │ ├── config023.cfg │ │ ├── config024.cfg │ │ ├── inherit.kshlib │ │ ├── inherit_001_pos.ksh │ │ ├── state001.cfg │ │ ├── state002.cfg │ │ ├── state003.cfg │ │ ├── state004.cfg │ │ ├── state005.cfg │ │ ├── state006.cfg │ │ ├── state007.cfg │ │ ├── state008.cfg │ │ ├── state009.cfg │ │ ├── state010.cfg │ │ ├── state011.cfg │ │ ├── state012.cfg │ │ ├── state013.cfg │ │ ├── state014.cfg │ │ ├── state015.cfg │ │ ├── state016.cfg │ │ ├── state017.cfg │ │ ├── state018.cfg │ │ ├── state019.cfg │ │ ├── state020.cfg │ │ ├── state021.cfg │ │ ├── state022.cfg │ │ ├── state023.cfg │ │ └── state024.cfg │ ├── interop │ │ ├── cleanup.ksh │ │ ├── interop.cfg │ │ ├── interop_001_pos.ksh │ │ └── setup.ksh │ ├── inuse │ │ ├── inuse.cfg │ │ ├── inuse_001_pos.ksh │ │ ├── inuse_002_pos.ksh │ │ ├── inuse_003_pos.ksh │ │ ├── inuse_004_pos.ksh │ │ ├── inuse_005_pos.ksh │ │ ├── inuse_006_pos.ksh │ │ ├── inuse_007_pos.ksh │ │ ├── inuse_008_pos.ksh │ │ ├── inuse_009_pos.ksh │ │ └── setup.ksh │ ├── large_files │ │ ├── cleanup.ksh │ │ ├── large_files_001_pos.ksh │ │ ├── large_files_002_pos.ksh │ │ └── setup.ksh │ ├── largest_pool │ │ ├── largest_pool.cfg │ │ └── largest_pool_001_pos.ksh │ ├── libzfs │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── cleanup.ksh │ │ ├── libzfs_input.ksh │ │ ├── many_fds.c │ │ └── setup.ksh │ ├── link_count │ │ ├── cleanup.ksh │ │ ├── link_count_001.ksh │ │ └── setup.ksh │ ├── mdb │ │ ├── cleanup.ksh │ │ ├── libzfs_input.ksh │ │ ├── mdb_001_pos.ksh │ │ └── setup.ksh │ ├── migration │ │ ├── cleanup.ksh │ │ ├── migration.cfg │ │ ├── migration.kshlib │ │ ├── migration_001_pos.ksh │ │ ├── migration_002_pos.ksh │ │ ├── migration_003_pos.ksh │ │ ├── migration_004_pos.ksh │ │ ├── migration_005_pos.ksh │ │ ├── migration_006_pos.ksh │ │ ├── migration_007_pos.ksh │ │ ├── migration_008_pos.ksh │ │ ├── migration_009_pos.ksh │ │ ├── migration_010_pos.ksh │ │ ├── migration_011_pos.ksh │ │ ├── migration_012_pos.ksh │ │ └── setup.ksh │ ├── mmap │ │ ├── cleanup.ksh │ │ ├── mmap_read_001_pos.ksh │ │ ├── mmap_write_001_pos.ksh │ │ └── setup.ksh │ ├── mmp │ │ ├── Makefile.am │ │ ├── cleanup.ksh │ │ ├── mmp.cfg │ │ ├── mmp.kshlib │ │ ├── mmp_active_import.ksh │ │ ├── mmp_exported_import.ksh │ │ ├── mmp_inactive_import.ksh │ │ ├── mmp_interval.ksh │ │ ├── mmp_on_off.ksh │ │ ├── mmp_on_thread.ksh │ │ ├── mmp_on_uberblocks.ksh │ │ ├── mmp_reset_interval.ksh │ │ ├── mmp_write_uberblocks.ksh │ │ ├── multihost_history.ksh │ │ └── setup.ksh │ ├── mount │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── umount_001.ksh │ │ ├── umount_unlinked_drain.ksh │ │ └── umountall_001.ksh │ ├── mv_files │ │ ├── cleanup.ksh │ │ ├── mv_files.cfg │ │ ├── mv_files_001_pos.ksh │ │ ├── mv_files_002_pos.ksh │ │ ├── mv_files_common.kshlib │ │ └── setup.ksh │ ├── nestedfs │ │ ├── cleanup.ksh │ │ ├── nestedfs_001_pos.ksh │ │ └── setup.ksh │ ├── no_space │ │ ├── cleanup.ksh │ │ ├── enospc.cfg │ │ ├── enospc_001_pos.ksh │ │ └── setup.ksh │ ├── nopwrite │ │ ├── cleanup.ksh │ │ ├── nopwrite.shlib │ │ ├── nopwrite_copies.ksh │ │ ├── nopwrite_mtime.ksh │ │ ├── nopwrite_negative.ksh │ │ ├── nopwrite_promoted_clone.ksh │ │ ├── nopwrite_recsize.ksh │ │ ├── nopwrite_sync.ksh │ │ ├── nopwrite_varying_compression.ksh │ │ ├── nopwrite_volume.ksh │ │ └── setup.ksh │ ├── online_offline │ │ ├── cleanup.ksh │ │ ├── online_offline.cfg │ │ ├── online_offline_001_pos.ksh │ │ ├── online_offline_002_neg.ksh │ │ ├── online_offline_003_neg.ksh │ │ └── setup.ksh │ ├── osx │ │ ├── kextload │ │ │ ├── cleanup.ksh │ │ │ ├── kextload_001_pos.ksh │ │ │ ├── kextload_002_neg.ksh │ │ │ ├── kexts.kshlib │ │ │ └── setup.ksh │ │ ├── sysctl │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ ├── sysctl.kshlib │ │ │ ├── sysctl_001_pos.ksh │ │ │ └── sysctl_002_pos.ksh │ │ └── version │ │ │ ├── cleanup.ksh │ │ │ ├── setup.ksh │ │ │ └── version_001_pos.ksh │ ├── pool_checkpoint │ │ ├── checkpoint_after_rewind.ksh │ │ ├── checkpoint_big_rewind.ksh │ │ ├── checkpoint_capacity.ksh │ │ ├── checkpoint_conf_change.ksh │ │ ├── checkpoint_discard.ksh │ │ ├── checkpoint_discard_busy.ksh │ │ ├── checkpoint_discard_many.ksh │ │ ├── checkpoint_indirect.ksh │ │ ├── checkpoint_invalid.ksh │ │ ├── checkpoint_lun_expsz.ksh │ │ ├── checkpoint_open.ksh │ │ ├── checkpoint_removal.ksh │ │ ├── checkpoint_rewind.ksh │ │ ├── checkpoint_ro_rewind.ksh │ │ ├── checkpoint_sm_scale.ksh │ │ ├── checkpoint_twice.ksh │ │ ├── checkpoint_vdev_add.ksh │ │ ├── checkpoint_zdb.ksh │ │ ├── checkpoint_zhack_feat.ksh │ │ ├── cleanup.ksh │ │ ├── pool_checkpoint.kshlib │ │ └── setup.ksh │ ├── pool_names │ │ ├── pool_names_001_pos.ksh │ │ └── pool_names_002_neg.ksh │ ├── poolversion │ │ ├── cleanup.ksh │ │ ├── poolversion_001_pos.ksh │ │ ├── poolversion_002_pos.ksh │ │ └── setup.ksh │ ├── privilege │ │ ├── cleanup.ksh │ │ ├── privilege_001_pos.ksh │ │ ├── privilege_002_pos.ksh │ │ └── setup.ksh │ ├── quota │ │ ├── cleanup.ksh │ │ ├── quota.cfg │ │ ├── quota.kshlib │ │ ├── quota_001_pos.ksh │ │ ├── quota_002_pos.ksh │ │ ├── quota_003_pos.ksh │ │ ├── quota_004_pos.ksh │ │ ├── quota_005_pos.ksh │ │ ├── quota_006_neg.ksh │ │ └── setup.ksh │ ├── raidz │ │ ├── cleanup.ksh │ │ ├── raidz_001_neg.ksh │ │ ├── raidz_002_pos.ksh │ │ └── setup.ksh │ ├── redundancy │ │ ├── cleanup.ksh │ │ ├── redundancy.cfg │ │ ├── redundancy.kshlib │ │ ├── redundancy_001_pos.ksh │ │ ├── redundancy_002_pos.ksh │ │ ├── redundancy_003_pos.ksh │ │ ├── redundancy_004_neg.ksh │ │ └── setup.ksh │ ├── refquota │ │ ├── cleanup.ksh │ │ ├── refquota_001_pos.ksh │ │ ├── refquota_002_pos.ksh │ │ ├── refquota_003_pos.ksh │ │ ├── refquota_004_pos.ksh │ │ ├── refquota_005_pos.ksh │ │ ├── refquota_006_neg.ksh │ │ └── setup.ksh │ ├── refreserv │ │ ├── cleanup.ksh │ │ ├── refreserv.cfg │ │ ├── refreserv_001_pos.ksh │ │ ├── refreserv_002_pos.ksh │ │ ├── refreserv_003_pos.ksh │ │ ├── refreserv_004_pos.ksh │ │ ├── refreserv_005_pos.ksh │ │ └── setup.ksh │ ├── removal │ │ ├── cleanup.ksh │ │ ├── removal.kshlib │ │ ├── removal_all_vdev.ksh │ │ ├── removal_check_space.ksh │ │ ├── removal_condense_export.ksh │ │ ├── removal_multiple_indirection.ksh │ │ ├── removal_remap.ksh │ │ ├── removal_remap_deadlists.ksh │ │ ├── removal_reservation.ksh │ │ ├── removal_resume_export.ksh │ │ ├── removal_sanity.ksh │ │ ├── removal_with_add.ksh │ │ ├── removal_with_create_fs.ksh │ │ ├── removal_with_dedup.ksh │ │ ├── removal_with_export.ksh │ │ ├── removal_with_ganging.ksh │ │ ├── removal_with_remap.ksh │ │ ├── removal_with_remove.ksh │ │ ├── removal_with_scrub.ksh │ │ ├── removal_with_send.ksh │ │ ├── removal_with_send_recv.ksh │ │ ├── removal_with_snapshot.ksh │ │ ├── removal_with_write.ksh │ │ ├── removal_with_zdb.ksh │ │ ├── remove_mirror.ksh │ │ ├── remove_mirror_sanity.ksh │ │ └── remove_raidz.ksh │ ├── rename_dirs │ │ ├── cleanup.ksh │ │ ├── rename_dirs_001_pos.ksh │ │ └── setup.ksh │ ├── replacement │ │ ├── cleanup.ksh │ │ ├── replacement.cfg │ │ ├── replacement_001_pos.ksh │ │ ├── replacement_002_pos.ksh │ │ ├── replacement_003_pos.ksh │ │ └── setup.ksh │ ├── reservation │ │ ├── cleanup.ksh │ │ ├── reservation.cfg │ │ ├── reservation.shlib │ │ ├── reservation │ │ │ ├── reservation_019_pos.sh │ │ │ ├── reservation_020_pos.sh │ │ │ ├── reservation_021_neg.sh │ │ │ └── reservation_022_pos.sh │ │ ├── reservation_001_pos.sh │ │ ├── reservation_002_pos.sh │ │ ├── reservation_003_pos.sh │ │ ├── reservation_004_pos.sh │ │ ├── reservation_005_pos.sh │ │ ├── reservation_006_pos.sh │ │ ├── reservation_007_pos.sh │ │ ├── reservation_008_pos.sh │ │ ├── reservation_009_pos.sh │ │ ├── reservation_010_pos.sh │ │ ├── reservation_011_pos.sh │ │ ├── reservation_012_pos.sh │ │ ├── reservation_013_pos.sh │ │ ├── reservation_014_pos.sh │ │ ├── reservation_015_pos.sh │ │ ├── reservation_016_pos.sh │ │ ├── reservation_017_pos.sh │ │ ├── reservation_018_pos.sh │ │ └── setup.ksh │ ├── rootpool │ │ ├── cleanup.ksh │ │ ├── rootpool_002_neg.ksh │ │ ├── rootpool_003_neg.ksh │ │ ├── rootpool_007_neg.ksh │ │ └── setup.ksh │ ├── rsend │ │ ├── Makefile.am │ │ ├── cleanup.ksh │ │ ├── rsend.cfg │ │ ├── rsend.kshlib │ │ ├── rsend_001_pos.ksh │ │ ├── rsend_002_pos.ksh │ │ ├── rsend_003_pos.ksh │ │ ├── rsend_004_pos.ksh │ │ ├── rsend_005_pos.ksh │ │ ├── rsend_006_pos.ksh │ │ ├── rsend_007_pos.ksh │ │ ├── rsend_008_pos.ksh │ │ ├── rsend_009_pos.ksh │ │ ├── rsend_010_pos.ksh │ │ ├── rsend_011_pos.ksh │ │ ├── rsend_012_pos.ksh │ │ ├── rsend_013_pos.ksh │ │ ├── rsend_014_pos.ksh │ │ ├── rsend_019_pos.ksh │ │ ├── rsend_020_pos.ksh │ │ ├── rsend_021_pos.ksh │ │ ├── rsend_022_pos.ksh │ │ ├── rsend_024_pos.ksh │ │ ├── send-cD.ksh │ │ ├── send-c_embedded_blocks.ksh │ │ ├── send-c_incremental.ksh │ │ ├── send-c_lz4_disabled.ksh │ │ ├── send-c_mixed_compression.ksh │ │ ├── send-c_props.ksh │ │ ├── send-c_recv_dedup.ksh │ │ ├── send-c_recv_lz4_disabled.ksh │ │ ├── send-c_resume.ksh │ │ ├── send-c_stream_size_estimate.ksh │ │ ├── send-c_verify_contents.ksh │ │ ├── send-c_verify_ratio.ksh │ │ ├── send-c_volume.ksh │ │ ├── send-c_zstreamdump.ksh │ │ ├── send-cpL_varied_recsize.ksh │ │ ├── send-wDR_encrypted_zvol.ksh │ │ ├── send_encrypted_files.ksh │ │ ├── send_encrypted_hierarchy.ksh │ │ ├── send_encrypted_props.ksh │ │ ├── send_encrypted_truncated_files.ksh │ │ ├── send_freeobjects.ksh │ │ ├── send_holds.ksh │ │ ├── send_hole_birth.ksh │ │ ├── send_mixed_raw.ksh │ │ ├── send_realloc_dnode_size.ksh │ │ ├── send_realloc_encrypted_files.ksh │ │ ├── send_realloc_files.ksh │ │ ├── send_spill_block.ksh │ │ ├── setup.ksh │ │ └── tests │ ├── scrub_mirror │ │ ├── cleanup.ksh │ │ ├── default.cfg │ │ ├── scrub_mirror_001_pos.ksh │ │ ├── scrub_mirror_002_pos.ksh │ │ ├── scrub_mirror_003_pos.ksh │ │ ├── scrub_mirror_004_pos.ksh │ │ ├── scrub_mirror_common.kshlib │ │ └── setup.ksh │ ├── slog │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── slog.cfg │ │ ├── slog.kshlib │ │ ├── slog_001_pos.ksh │ │ ├── slog_002_pos.ksh │ │ ├── slog_003_pos.ksh │ │ ├── slog_004_pos.ksh │ │ ├── slog_005_pos.ksh │ │ ├── slog_006_pos.ksh │ │ ├── slog_007_pos.ksh │ │ ├── slog_008_neg.ksh │ │ ├── slog_009_neg.ksh │ │ ├── slog_010_neg.ksh │ │ ├── slog_011_neg.ksh │ │ ├── slog_012_neg.ksh │ │ ├── slog_013_pos.ksh │ │ ├── slog_014_pos.ksh │ │ └── slog_015_neg.ksh │ ├── snapshot │ │ ├── cleanup.ksh │ │ ├── clone_001_pos.ksh │ │ ├── rollback_001_pos.ksh │ │ ├── rollback_002_pos.ksh │ │ ├── rollback_003_pos.ksh │ │ ├── setup.ksh │ │ ├── snapshot.cfg │ │ ├── snapshot_001_pos.ksh │ │ ├── snapshot_002_pos.ksh │ │ ├── snapshot_003_pos.ksh │ │ ├── snapshot_004_pos.ksh │ │ ├── snapshot_005_pos.ksh │ │ ├── snapshot_006_pos.ksh │ │ ├── snapshot_007_pos.ksh │ │ ├── snapshot_008_pos.ksh │ │ ├── snapshot_009_pos.ksh │ │ ├── snapshot_010_pos.ksh │ │ ├── snapshot_011_pos.ksh │ │ ├── snapshot_012_pos.ksh │ │ ├── snapshot_013_pos.ksh │ │ ├── snapshot_014_pos.ksh │ │ ├── snapshot_015_pos.ksh │ │ ├── snapshot_016_pos.ksh │ │ └── snapshot_017_pos.ksh │ ├── snapused │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── snapused.kshlib │ │ ├── snapused_001_pos.ksh │ │ ├── snapused_002_pos.ksh │ │ ├── snapused_003_pos.ksh │ │ ├── snapused_004_pos.ksh │ │ └── snapused_005_pos.ksh │ ├── sparse │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── sparse.cfg │ │ └── sparse_001_pos.ksh │ ├── threadsappend │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── threadsappend.c │ │ └── threadsappend_001_pos.ksh │ ├── tmpfile │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── tmpfile_001_pos.c │ │ ├── tmpfile_002_pos.c │ │ ├── tmpfile_003_pos.c │ │ └── tmpfile_test.c │ ├── trim │ │ ├── Makefile.am │ │ ├── autotrim_config.ksh │ │ ├── autotrim_integrity.ksh │ │ ├── autotrim_trim_integrity.ksh │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── trim.cfg │ │ ├── trim.kshlib │ │ ├── trim_config.ksh │ │ └── trim_integrity.ksh │ ├── truncate │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── truncate.cfg │ │ ├── truncate_001_pos.ksh │ │ └── truncate_002_pos.ksh │ ├── upgrade │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── upgrade_common.kshlib │ │ ├── upgrade_projectquota_001_pos.ksh │ │ ├── upgrade_readonly_pool.ksh │ │ └── upgrade_userobj_001_pos.ksh │ ├── userquota │ │ ├── cleanup.ksh │ │ ├── groupspace_001_pos.ksh │ │ ├── groupspace_002_pos.ksh │ │ ├── groupspace_003_pos.ksh │ │ ├── setup.ksh │ │ ├── userquota.cfg │ │ ├── userquota_001_pos.ksh │ │ ├── userquota_002_pos.ksh │ │ ├── userquota_003_pos.ksh │ │ ├── userquota_004_pos.ksh │ │ ├── userquota_005_neg.ksh │ │ ├── userquota_006_pos.ksh │ │ ├── userquota_007_pos.ksh │ │ ├── userquota_008_pos.ksh │ │ ├── userquota_009_pos.ksh │ │ ├── userquota_010_pos.ksh │ │ ├── userquota_011_pos.ksh │ │ ├── userquota_012_neg.ksh │ │ ├── userquota_013_pos.ksh │ │ ├── userquota_common.kshlib │ │ ├── userspace_001_pos.ksh │ │ ├── userspace_002_pos.ksh │ │ └── userspace_003_pos.ksh │ ├── utils_test │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── utils_test.cfg │ │ ├── utils_test.kshlib │ │ ├── utils_test_001_pos.ksh │ │ ├── utils_test_002_pos.ksh │ │ ├── utils_test_003_pos.ksh │ │ ├── utils_test_004_pos.ksh │ │ ├── utils_test_005_pos.ksh │ │ ├── utils_test_006_pos.ksh │ │ ├── utils_test_007_pos.ksh │ │ ├── utils_test_008_pos.ksh │ │ └── utils_test_009_pos.ksh │ ├── vdev_zaps │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── vdev_zaps.kshlib │ │ ├── vdev_zaps_001_pos.ksh │ │ ├── vdev_zaps_002_pos.ksh │ │ ├── vdev_zaps_003_pos.ksh │ │ ├── vdev_zaps_004_pos.ksh │ │ ├── vdev_zaps_005_pos.ksh │ │ ├── vdev_zaps_006_pos.ksh │ │ └── vdev_zaps_007_pos.ksh │ ├── write_dirs │ │ ├── cleanup.ksh │ │ ├── default.cfg │ │ ├── setup.ksh │ │ ├── write_dirs_001_pos.ksh │ │ └── write_dirs_002_pos.ksh │ ├── xattr │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── xattr_001_pos.ksh │ │ ├── xattr_002_neg.ksh │ │ ├── xattr_003_neg.ksh │ │ ├── xattr_004_pos.ksh │ │ ├── xattr_005_pos.ksh │ │ ├── xattr_006_pos.ksh │ │ ├── xattr_007_neg.ksh │ │ ├── xattr_008_pos.ksh │ │ ├── xattr_009_neg.ksh │ │ ├── xattr_010_neg.ksh │ │ ├── xattr_011_pos.ksh │ │ ├── xattr_012_pos.ksh │ │ ├── xattr_013_pos.ksh │ │ └── xattr_common.kshlib │ ├── xattr=sa │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── xattr_001_pos.ksh │ │ ├── xattr_002_neg.ksh │ │ ├── xattr_003_neg.ksh │ │ ├── xattr_004_pos.ksh │ │ ├── xattr_005_pos.ksh │ │ ├── xattr_006_pos.ksh │ │ ├── xattr_007_neg.ksh │ │ ├── xattr_008_pos.ksh │ │ ├── xattr_009_neg.ksh │ │ ├── xattr_010_neg.ksh │ │ ├── xattr_011_pos.ksh │ │ ├── xattr_012_pos.ksh │ │ ├── xattr_013_pos.ksh │ │ └── xattr_common.kshlib │ └── zvol │ │ ├── zvol.cfg │ │ ├── zvol_ENOSPC │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ └── zvol_ENOSPC_001_pos.ksh │ │ ├── zvol_cli │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── zvol_cli_001_pos.ksh │ │ ├── zvol_cli_002_pos.ksh │ │ └── zvol_cli_003_neg.ksh │ │ ├── zvol_common.shlib │ │ ├── zvol_misc │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── zvol_misc_001_neg.ksh │ │ ├── zvol_misc_002_pos.ksh │ │ ├── zvol_misc_003_neg.ksh │ │ ├── zvol_misc_004_pos.ksh │ │ ├── zvol_misc_005_neg.ksh │ │ ├── zvol_misc_006_pos.ksh │ │ ├── zvol_misc_hierarchy.ksh │ │ ├── zvol_misc_snapdev.ksh │ │ ├── zvol_misc_volmode.ksh │ │ └── zvol_misc_zil.ksh │ │ └── zvol_swap │ │ ├── cleanup.ksh │ │ ├── setup.ksh │ │ ├── zvol_swap.cfg │ │ ├── zvol_swap_001_pos.ksh │ │ ├── zvol_swap_002_pos.ksh │ │ ├── zvol_swap_003_pos.ksh │ │ ├── zvol_swap_004_pos.ksh │ │ ├── zvol_swap_005_pos.ksh │ │ └── zvol_swap_006_pos.ksh │ ├── longevity │ └── slop_space_test.ksh │ ├── perf │ └── regression │ │ ├── random_reads.ksh │ │ ├── random_readwrite.ksh │ │ ├── random_writes.ksh │ │ ├── sequential_reads.ksh │ │ └── sequential_writes.ksh │ └── stress │ └── races │ └── remove_file_while_remap.ksh ├── udev ├── Makefile.am └── rules.d │ ├── .gitignore │ ├── 60-zvol.rules.in │ ├── 69-vdev.rules.in │ ├── 90-zfs.rules.in │ └── Makefile.am ├── zfs-modules.spec ├── zfs-script-config.sh.in ├── zfs.release.in ├── zfs.spec ├── zfs_bundle ├── .gitignore ├── English.lproj │ └── InfoPlist.strings ├── Info.plist ├── Makefile.am └── PkgInfo └── zpool.sh /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "scripts/zfs-images"] 2 | path = scripts/zfs-images 3 | url = https://github.com/zfsonlinux/zfs-images 4 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | The [OpenZFS Code of Conduct](http://www.open-zfs.org/wiki/Code_of_Conduct) 2 | applies to spaces associated with the OpenZFS on OsX project, including GitHub. 3 | -------------------------------------------------------------------------------- /META: -------------------------------------------------------------------------------- 1 | Meta: 1 2 | Name: zfs 3 | Branch: 1.0 4 | Version: 1.9.4 5 | Release: 0 6 | Release-Tags: relext 7 | License: CDDL 8 | Author: OpenZFS on OS X 9 | -------------------------------------------------------------------------------- /PKGBUILD-zfs: -------------------------------------------------------------------------------- 1 | # Maintainer: Prakash Surya 2 | pkgname= 3 | pkgver=0.6.0 4 | pkgrel=rc12 5 | pkgdesc="Contains the libzfs library and support utilities for the zfs file system." 6 | arch=(x86_64) 7 | url="git://github.com/zfsonlinux/zfs.git" 8 | license=(CDDL) 9 | depends=('spl' 'zlib' 'e2fsprogs') 10 | backup=('etc/zfs/zdev.conf') 11 | source=(-0.6.0.tar.gz) 12 | 13 | build() { 14 | cd $srcdir/-0.6.0 15 | ./configure --with-config=user \ 16 | --prefix=/ \ 17 | --sysconfdir=/etc \ 18 | --libexecdir=/usr/libexec \ 19 | --datadir=/usr/share \ 20 | --includedir=/usr/include \ 21 | --with-udevdir=/lib/udev 22 | make 23 | } 24 | 25 | package() { 26 | cd $srcdir/-0.6.0 27 | make DESTDIR=$pkgdir install 28 | } 29 | -------------------------------------------------------------------------------- /PKGBUILD-zfs-modules: -------------------------------------------------------------------------------- 1 | # Maintainer: Prakash Surya 2 | pkgname=-modules 3 | pkgver=0.6.0 4 | pkgrel=rc12 5 | pkgdesc="Contains kernel modules and support utilities for the zfs file system." 6 | arch=(x86_64) 7 | url="git://github.com/zfsonlinux/zfs.git" 8 | license=(CDDL) 9 | depends=('spl-modules') 10 | source=(-0.6.0.tar.gz) 11 | 12 | build() { 13 | cd $srcdir/-0.6.0 14 | ./configure --with-config=kernel 15 | make 16 | } 17 | 18 | package() { 19 | cd $srcdir/-0.6.0 20 | make DESTDIR=$pkgdir install 21 | } 22 | -------------------------------------------------------------------------------- /VolumeIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/VolumeIcon.icns -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | autoreconf -fiv 5 | rm -Rf autom4te.cache 6 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/.gitignore: -------------------------------------------------------------------------------- 1 | /DerivedData/ 2 | *.xcworkspace/ 3 | xcuserdata/ 4 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/InvariantDisks/.gitignore: -------------------------------------------------------------------------------- 1 | /InvariantDisks 2 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/InvariantDisks/IDException.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // IDException.cpp 3 | // InvariantDisks 4 | // 5 | // Created by Gerhard Röthlin on 2014.04.27. 6 | // Copyright (c) 2014 the-color-black.net. All rights reserved. 7 | // 8 | // Redistribution and use in source and binary forms, with or without modification, are permitted 9 | // provided that the conditions of the "3-Clause BSD" license described in the BSD.LICENSE file are met. 10 | // Additional licensing options are described in the README file. 11 | // 12 | 13 | #include "IDException.hpp" 14 | 15 | namespace ID 16 | { 17 | } 18 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/InvariantDisks/IDFileUtils.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // IDFileUtils.hpp 3 | // InvariantDisks 4 | // 5 | // Created by Gerhard Röthlin on 2014.04.27. 6 | // Copyright (c) 2014 the-color-black.net. All rights reserved. 7 | // 8 | // Redistribution and use in source and binary forms, with or without modification, are permitted 9 | // provided that the conditions of the "3-Clause BSD" license described in the BSD.LICENSE file are met. 10 | // Additional licensing options are described in the README file. 11 | // 12 | 13 | #ifndef ID_FILEUTILS_HPP 14 | #define ID_FILEUTILS_HPP 15 | 16 | #include 17 | 18 | namespace ID 19 | { 20 | void createPath(std::string const & path); 21 | void createCleanPath(std::string const & path); 22 | void createFile(std::string const & path); 23 | void createSymlink(std::string const & link, std::string const & target); 24 | void removeFSObject(std::string const & path); 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/InvariantDisks/IDUUIDLinker.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // IDUUIDLinker.hpp 3 | // InvariantDisks 4 | // 5 | // Created by Gerhard Röthlin on 2014.05.03. 6 | // Copyright (c) 2014 the-color-black.net. All rights reserved. 7 | // 8 | // Redistribution and use in source and binary forms, with or without modification, are permitted 9 | // provided that the conditions of the "3-Clause BSD" license described in the BSD.LICENSE file are met. 10 | // Additional licensing options are described in the README file. 11 | // 12 | 13 | #ifndef ID_UUIDLINKER_HPP 14 | #define ID_UUIDLINKER_HPP 15 | 16 | #include "IDBaseLinker.hpp" 17 | 18 | namespace ID 19 | { 20 | class UUIDLinker : public BaseLinker 21 | { 22 | public: 23 | explicit UUIDLinker(std::string const & base, LogClient const & logger); 24 | 25 | public: 26 | virtual void diskAppeared(DADiskRef disk, DiskInformation const & info) override; 27 | }; 28 | } 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/InvariantDisks/git-version.h: -------------------------------------------------------------------------------- 1 | #define GIT_VERSION "" 2 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = InvariantDisks 2 | -------------------------------------------------------------------------------- /cmd/InvariantDisks/launchd/net.the-color-black.InvariantDisks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | net.the-color-black.InvariantDisks 7 | ProgramArguments 8 | 9 | /usr/local/bin/InvariantDisks 10 | -p 11 | /var/run/disk 12 | 13 | RunAtLoad 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /cmd/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = InvariantDisks arcstat zconfigd zfs zpool zdb zhack zinject zstreamdump zsysctl ztest zpios zed zfs_util fsck_zfs 2 | #SUBDIRS += zpool_layout zvol_id zpool_id vdev_id 3 | #mount_zfs is "zfs" renamed on OSX. 4 | -------------------------------------------------------------------------------- /cmd/arc_summary/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_bin_SCRIPTS = arc_summary.py 2 | -------------------------------------------------------------------------------- /cmd/arcstat/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = arcstat.pl 2 | EXTRA_DIST = $(bin_SCRIPTS) 3 | -------------------------------------------------------------------------------- /cmd/dbufstat/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_bin_SCRIPTS = dbufstat.py 2 | -------------------------------------------------------------------------------- /cmd/fsck_zfs/.gitignore: -------------------------------------------------------------------------------- 1 | /fsck_zfs 2 | -------------------------------------------------------------------------------- /cmd/fsck_zfs/Makefile.am: -------------------------------------------------------------------------------- 1 | #dist_sbin_SCRIPTS = fsck.zfs 2 | 3 | include $(top_srcdir)/config/Rules.am 4 | 5 | AUTOMAKE_OPTIONS = subdir-objects 6 | 7 | DEFAULT_INCLUDES += \ 8 | -I$(top_srcdir)/include \ 9 | -I$(top_srcdir)/lib/libspl/include 10 | 11 | sbin_PROGRAMS = fsck_zfs 12 | 13 | fsck_zfs_SOURCES = \ 14 | fsck_zfs.c 15 | 16 | #fsck_zfs_LDADD = \ 17 | # $(top_builddir)/lib/libzfs/libzfs.la 18 | 19 | #fsck_zfs_LDFLAGS = -static -framework IOKit 20 | fsck_zfs_LDFLAGS = -static 21 | -------------------------------------------------------------------------------- /cmd/fsck_zfs/fsck.zfs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # fsck.zfs: A fsck helper to accomidate distributions that expect 4 | # to be able to execute a fsck on all filesystem types. Currently 5 | # this script does nothing but it could be extended to act as a 6 | # compatibility wrapper for 'zpool scrub'. 7 | # 8 | 9 | exit 0 10 | -------------------------------------------------------------------------------- /cmd/fsck_zfs/fsck_zfs.c: -------------------------------------------------------------------------------- 1 | 2 | int 3 | main() 4 | { 5 | return (0); 6 | } 7 | -------------------------------------------------------------------------------- /cmd/mount_zfs/.gitignore: -------------------------------------------------------------------------------- 1 | mount.zfs 2 | -------------------------------------------------------------------------------- /cmd/mount_zfs/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include \ 7 | -I$(top_srcdir)/lib/libspl/include 8 | 9 | sbin_PROGRAMS = mount_zfs 10 | 11 | mount_zfs_SOURCES = \ 12 | mount_zfs.c 13 | 14 | mount_zfs_LDADD = \ 15 | $(top_builddir)/lib/libnvpair/libnvpair.la \ 16 | $(top_builddir)/lib/libuutil/libuutil.la \ 17 | $(top_builddir)/lib/libzpool/libzpool.la \ 18 | $(top_builddir)/lib/libzfs/libzfs.la 19 | 20 | mount_zfs_LDFLAGS = \ 21 | -lm $(ZLIB) -ldl $(LIBUUID) $(LIBBLKID) $(LIBSELINUX) 22 | 23 | install-exec-hook: 24 | 25 | uninstall-hook: 26 | -------------------------------------------------------------------------------- /cmd/vdev_id/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_udev_SCRIPTS = vdev_id 2 | -------------------------------------------------------------------------------- /cmd/zconfigd/.gitignore: -------------------------------------------------------------------------------- 1 | /zconfigd 2 | -------------------------------------------------------------------------------- /cmd/zconfigd/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | #DEFAULT_INCLUDES += \ 6 | # -I$(top_srcdir)/include \ 7 | # -I$(top_srcdir)/lib/libspl/include 8 | 9 | sbin_PROGRAMS = zconfigd 10 | 11 | zconfigd_SOURCES = \ 12 | zconfigd.c \ 13 | zconfigd.h 14 | 15 | zconfigd_LDFLAGS = -framework IOKit -framework Foundation 16 | -------------------------------------------------------------------------------- /cmd/zdb/.gitignore: -------------------------------------------------------------------------------- 1 | /zdb 2 | /zdb_static 3 | -------------------------------------------------------------------------------- /cmd/zed/.gitignore: -------------------------------------------------------------------------------- 1 | /zed 2 | -------------------------------------------------------------------------------- /cmd/zed/zed.d/all-debug.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Log all environment variables to ZED_DEBUG_LOG. 4 | # 5 | # This can be a useful aid when developing/debugging ZEDLETs since it shows the 6 | # environment variables defined for each zevent. 7 | 8 | [ -f "${ZED_ZEDLET_DIR}/zed.rc" ] && . "${ZED_ZEDLET_DIR}/zed.rc" 9 | . "${ZED_ZEDLET_DIR}/zed-functions.sh" 10 | 11 | : "${ZED_DEBUG_LOG:="${TMPDIR:="/tmp"}/zed.debug.log"}" 12 | 13 | lockfile="$(basename -- "${ZED_DEBUG_LOG}").lock" 14 | 15 | umask 077 16 | zed_lock "${lockfile}" 17 | exec >> "${ZED_DEBUG_LOG}" 18 | 19 | printenv | sort 20 | echo 21 | 22 | exec >&- 23 | zed_unlock "${lockfile}" 24 | exit 0 25 | -------------------------------------------------------------------------------- /cmd/zed/zed.d/all-syslog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Log the zevent via syslog. 4 | 5 | [ -f "${ZED_ZEDLET_DIR}/zed.rc" ] && . "${ZED_ZEDLET_DIR}/zed.rc" 6 | . "${ZED_ZEDLET_DIR}/zed-functions.sh" 7 | 8 | zed_log_msg "eid=${ZEVENT_EID}" "class=${ZEVENT_SUBCLASS}" \ 9 | "${ZEVENT_POOL:+"pool=${ZEVENT_POOL}"}" 10 | exit 0 11 | -------------------------------------------------------------------------------- /cmd/zed/zed.d/checksum-notify.sh: -------------------------------------------------------------------------------- 1 | io-notify.sh -------------------------------------------------------------------------------- /cmd/zed/zed.d/checksum-spare.sh: -------------------------------------------------------------------------------- 1 | io-spare.sh -------------------------------------------------------------------------------- /cmd/zed/zed.d/config.remove.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Log the zevent via syslog. 4 | # 5 | 6 | # ZEVENT_CACHEFILE=/etc/zfs/zpool.cache 7 | CACHEFILE="${ZEVENT_CACHEFILE}" 8 | 9 | if [ -d /etc/zfs ]; then 10 | 11 | if [[ x"${CACHEFILE:0:9}" == x"/etc/zfs/" || 12 | x"${CACHEFILE:0:9}" == x"/var/tmp/" || 13 | x"${CACHEFILE:0:5}" == x"/tmp/" ]]; then 14 | rm -f "${CACHEFILE}" 15 | fi 16 | fi 17 | echo 0 18 | -------------------------------------------------------------------------------- /cmd/zed/zed.d/config.rename.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Log the zevent via syslog. 4 | # 5 | # Rename a newly kernel created cachefile (/etc/zfs/zpool.cache.tmp) to 6 | # its intended name (/etc/zfs/zpool.cache). 7 | 8 | # ZEVENT_CACHEFILE=/etc/zfs/zpool.cache 9 | CACHEFILE="${ZEVENT_CACHEFILE}" 10 | 11 | # We only handle filenames starting with /etc/zfs/ 12 | # (and /var/tmp /tmp for zfs-tester) 13 | if [ -d /etc/zfs ]; then 14 | 15 | if [[ x"${CACHEFILE:0:9}" == x"/etc/zfs/" || 16 | x"${CACHEFILE:0:9}" == x"/var/tmp/" || 17 | x"${CACHEFILE:0:5}" == x"/tmp/" ]]; then 18 | 19 | if [ -f "${CACHEFILE}.tmp" ]; then 20 | 21 | mv -f "${CACHEFILE}.tmp" "${CACHEFILE}" 22 | 23 | fi 24 | fi 25 | else 26 | mkdir -p /etc/zfs 27 | fi 28 | echo 0 29 | -------------------------------------------------------------------------------- /cmd/zed/zed.d/config.sync.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Log the zevent via syslog. 4 | # 5 | 6 | # OS X notification script. 7 | function notify { 8 | sudo -u "$(stat -f '%Su' /dev/console)" /usr/bin/osascript -e 'display notification "'"$1"'" with title "'"$2"'"' 9 | } 10 | 11 | logger -t "${ZED_SYSLOG_TAG:=zed}" \ 12 | -p "${ZED_SYSLOG_PRIORITY:=daemon.notice}" \ 13 | eid="${ZEVENT_EID}" class="${ZEVENT_SUBCLASS}" \ 14 | "${ZEVENT_POOL:+pool=$ZEVENT_POOL} ${CACHEFILE}" 15 | 16 | notify "{$CACHEFILE} file has been renamed" "config.sync" 17 | 18 | echo 0 19 | -------------------------------------------------------------------------------- /cmd/zed/zed.d/data-notify.sh: -------------------------------------------------------------------------------- 1 | io-notify.sh -------------------------------------------------------------------------------- /cmd/zed/zed.d/resilver.finish-notify.sh: -------------------------------------------------------------------------------- 1 | scrub.finish-notify.sh -------------------------------------------------------------------------------- /cmd/zed/zed.d/zpool.destroy.sh: -------------------------------------------------------------------------------- 1 | zpool.import.sh -------------------------------------------------------------------------------- /cmd/zed/zed.d/zpool.import.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Log the zevent via syslog. 4 | # 5 | 6 | # OS X notification script. 7 | function notify { 8 | sudo -u "$(stat -f '%Su' /dev/console)" /usr/bin/osascript -e 'display notification "'"$1"'" with title "'"$2"'"' 9 | } 10 | 11 | test -f "${ZED_ZEDLET_DIR}/zed.rc" && . "${ZED_ZEDLET_DIR}/zed.rc" 12 | 13 | test -n "${ZEVENT_POOL}" || exit 5 14 | test -n "${ZEVENT_SUBCLASS}" || exit 5 15 | 16 | if [ "${ZEVENT_SUBCLASS}" = "zpool.import" ]; then 17 | cmd="import" 18 | else 19 | cmd="export" 20 | rm -f "/var/run/zfs/zvol/dsk/${ZEVENT_POOL}/*" 21 | rm -f "/var/run/zfs/zvol/rdsk/${ZEVENT_POOL}/*" 22 | fi 23 | 24 | logger -t "${ZED_SYSLOG_TAG:=zed}" \ 25 | -p "${ZED_SYSLOG_PRIORITY:=daemon.warning}" \ 26 | "Pool $cmd ${ZEVENT_POOL}" 27 | notify "Pool ${ZEVENT_POOL} ${cmd}ed." "Pool ${cmd}" 28 | 29 | echo 0 30 | -------------------------------------------------------------------------------- /cmd/zed/zed.d/zvol.remove.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Log the zevent via syslog. 4 | # 5 | 6 | # Given POOL and DATASET name for ZVOL 7 | # BSD_disk for /dev/disk* 8 | # BSD_rdisk for /dev/rdisk* 9 | # Create symlink in 10 | # /var/run/zfs/zvol/dsk/POOL/DATASET -> /dev/disk* 11 | # /var/run/zfs/zvol/rdsk/POOL/DATASET -> /dev/rdisk* 12 | 13 | ZVOL_ROOT="/var/run/zfs/zvol" 14 | 15 | rm -f "${ZVOL_ROOT}/"{r,}"dsk/${ZEVENT_POOL}/${ZEVENT_DATASET}" 16 | rmdir -p "$(dirname "${ZVOL_ROOT}/{r,}dsk/${ZEVENT_POOL}/${ZEVENT_DATASET}")" 17 | 18 | logger -t "${ZED_SYSLOG_TAG:=zed}" -p "${ZED_SYSLOG_PRIORITY:=daemon.notice}" \ 19 | eid="${ZEVENT_EID}" class="${ZEVENT_SUBCLASS}" \ 20 | "${ZEVENT_POOL:+pool=$ZEVENT_POOL}/${ZEVENT_DATASET} removed symlink" 21 | 22 | echo 0 23 | -------------------------------------------------------------------------------- /cmd/zfs/.gitignore: -------------------------------------------------------------------------------- 1 | /zfs 2 | -------------------------------------------------------------------------------- /cmd/zfs/zfs_osx.h: -------------------------------------------------------------------------------- 1 | 2 | #ifdef __cplusplus 3 | extern "C" { 4 | #endif 5 | 6 | 7 | extern void libzfs_refresh_finder(char *); 8 | 9 | 10 | #ifdef __cplusplus 11 | }; 12 | #endif 13 | -------------------------------------------------------------------------------- /cmd/zfs/zfs_osx.m: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | #include "zfs_osx.h" 6 | 7 | void libzfs_refresh_finder(char *mountpoint) 8 | { 9 | [[NSWorkspace sharedWorkspace] noteFileSystemChanged:[NSString stringWithUTF8String:mountpoint]]; 10 | } 11 | -------------------------------------------------------------------------------- /cmd/zfs_util/.gitignore: -------------------------------------------------------------------------------- 1 | /zfs.util 2 | -------------------------------------------------------------------------------- /cmd/zfs_util/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include \ 7 | -I$(top_srcdir)/lib/libspl/include 8 | 9 | sbin_PROGRAMS = zfs_util 10 | 11 | zfs_util_SOURCES = \ 12 | zfs_util.c 13 | 14 | zfs_util_LDADD = \ 15 | $(top_builddir)/lib/libzfs/libzfs.la 16 | 17 | zfs_util_LDFLAGS = -static -framework IOKit 18 | -------------------------------------------------------------------------------- /cmd/zhack/.gitignore: -------------------------------------------------------------------------------- 1 | /zhack 2 | -------------------------------------------------------------------------------- /cmd/zhack/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include \ 7 | -I$(top_srcdir)/lib/libspl/include 8 | 9 | sbin_PROGRAMS = zhack 10 | 11 | zhack_SOURCES = \ 12 | zhack.c 13 | 14 | zhack_LDADD = \ 15 | $(top_builddir)/lib/libnvpair/libnvpair.la \ 16 | $(top_builddir)/lib/libuutil/libuutil.la \ 17 | $(top_builddir)/lib/libzpool/libzpool.la \ 18 | $(top_builddir)/lib/libzfs/libzfs.la \ 19 | $(top_builddir)/lib/libzfs_core/libzfs_core.la 20 | 21 | zhack_LDFLAGS = -lm $(ZLIB) -ldl $(LIBUUID) $(LIBBLKID) 22 | -------------------------------------------------------------------------------- /cmd/zinject/.gitignore: -------------------------------------------------------------------------------- 1 | /zinject 2 | -------------------------------------------------------------------------------- /cmd/zinject/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include \ 7 | -I$(top_srcdir)/lib/libspl/include 8 | 9 | sbin_PROGRAMS = zinject 10 | 11 | zinject_SOURCES = \ 12 | translate.c \ 13 | zinject.c \ 14 | zinject.h 15 | 16 | zinject_LDADD = \ 17 | $(top_builddir)/lib/libnvpair/libnvpair.la \ 18 | $(top_builddir)/lib/libuutil/libuutil.la \ 19 | $(top_builddir)/lib/libzpool/libzpool.la \ 20 | $(top_builddir)/lib/libzfs/libzfs.la 21 | 22 | zinject_LDFLAGS = -lm $(ZLIB) -ldl $(LIBUUID) $(LIBBLKID) 23 | -------------------------------------------------------------------------------- /cmd/zpios/.gitignore: -------------------------------------------------------------------------------- 1 | /zpios 2 | -------------------------------------------------------------------------------- /cmd/zpios/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include 7 | 8 | sbin_PROGRAMS = zpios 9 | 10 | zpios_SOURCES = \ 11 | zpios_main.c \ 12 | zpios_util.c \ 13 | zpios.h 14 | -------------------------------------------------------------------------------- /cmd/zpool/.gitignore: -------------------------------------------------------------------------------- 1 | /zpool 2 | -------------------------------------------------------------------------------- /cmd/zpool/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include \ 7 | -I$(top_srcdir)/lib/libspl/include 8 | 9 | sbin_PROGRAMS = zpool 10 | 11 | zpool_SOURCES = \ 12 | zpool_iter.c \ 13 | zpool_main.c \ 14 | zpool_util.c \ 15 | zpool_util.h \ 16 | zpool_vdev.c 17 | 18 | zpool_LDADD = \ 19 | $(top_builddir)/lib/libdiskmgt/libdiskmgt.la \ 20 | $(top_builddir)/lib/libnvpair/libnvpair.la \ 21 | $(top_builddir)/lib/libuutil/libuutil.la \ 22 | $(top_builddir)/lib/libzpool/libzpool.la \ 23 | $(top_builddir)/lib/libzfs/libzfs.la 24 | $(top_builddir)/lib/libzfs_core/libzfs_core.la 25 | 26 | zpool_LDFLAGS = -lm $(ZLIB) -ldl $(LIBUUID) $(LIBBLKID) 27 | -------------------------------------------------------------------------------- /cmd/zpool_layout/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_bin_SCRIPTS = zpool_layout 2 | -------------------------------------------------------------------------------- /cmd/zstreamdump/.gitignore: -------------------------------------------------------------------------------- 1 | zstreamdump 2 | -------------------------------------------------------------------------------- /cmd/zstreamdump/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include \ 7 | -I$(top_srcdir)/lib/libspl/include 8 | 9 | sbin_PROGRAMS = zstreamdump 10 | 11 | zstreamdump_SOURCES = \ 12 | zstreamdump.c 13 | 14 | zstreamdump_LDADD = \ 15 | $(top_builddir)/lib/libnvpair/libnvpair.la \ 16 | $(top_builddir)/lib/libuutil/libuutil.la \ 17 | $(top_builddir)/lib/libzpool/libzpool.la \ 18 | $(top_builddir)/lib/libzfs/libzfs.la \ 19 | $(top_builddir)/lib/libzfs_core/libzfs_core.la 20 | 21 | zstreamdump_LDFLAGS = -lm $(ZLIB) -ldl $(LIBUUID) $(LIBBLKID) 22 | -------------------------------------------------------------------------------- /cmd/zsysctl/.gitignore: -------------------------------------------------------------------------------- 1 | /zsysctl 2 | 3 | -------------------------------------------------------------------------------- /cmd/zsysctl/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | sbin_PROGRAMS = zsysctl 6 | 7 | zsysctl_SOURCES = \ 8 | zsysctl.c 9 | -------------------------------------------------------------------------------- /cmd/ztest/.gitignore: -------------------------------------------------------------------------------- 1 | /ztest 2 | ztest_static 3 | -------------------------------------------------------------------------------- /cmd/zvol_id/.gitignore: -------------------------------------------------------------------------------- 1 | zvol_id 2 | -------------------------------------------------------------------------------- /cmd/zvol_id/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | # Disable GCC stack protection for zvol_id. This is a kludge and should be 6 | # removed once https://github.com/zfsonlinux/zfs/issues/569 is resolved. 7 | AM_CFLAGS += -fno-stack-protector 8 | 9 | DEFAULT_INCLUDES += \ 10 | -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/lib/libspl/include 12 | 13 | udev_PROGRAMS = zvol_id 14 | 15 | zvol_id_SOURCES = \ 16 | zvol_id_main.c 17 | -------------------------------------------------------------------------------- /config/.gitignore: -------------------------------------------------------------------------------- 1 | /compile 2 | /config.guess 3 | /config.sub 4 | /depcomp 5 | /install-sh 6 | /ltmain.sh 7 | /missing 8 | /libtool.m4 9 | /lt*.m4 10 | -------------------------------------------------------------------------------- /config/Rules.am: -------------------------------------------------------------------------------- 1 | DEFAULT_INCLUDES = -include ${top_builddir}/zfs_config.h 2 | 3 | AM_LIBTOOLFLAGS = --silent 4 | AM_CFLAGS = -Wall -Wstrict-prototypes 5 | AM_CFLAGS += -fno-strict-aliasing ${NO_UNUSED_BUT_SET_VARIABLE} ${DEBUG_CFLAGS} -Wno-tautological-constant-out-of-range-compare 6 | AM_CFLAGS += -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT 7 | AM_CFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 8 | AM_CFLAGS += -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-osx-user\" 9 | AM_CPPFLAGS = -DSYSCONFDIR=\"$(sysconfdir)\" 10 | AM_CPPFLAGS += -DRUNSTATEDIR=\"$(runstatedir)\" 11 | AM_CPPFLAGS += -DSBINDIR=\"$(sbindir)\" 12 | -------------------------------------------------------------------------------- /config/always-arch.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Set the target arch for libspl atomic implementation and the icp 3 | dnl # 4 | AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_ARCH], [ 5 | AC_MSG_CHECKING(for target asm dir) 6 | TARGET_ARCH=`echo ${target_cpu} | sed -e s/i.86/i386/` 7 | 8 | case $TARGET_ARCH in 9 | i386|x86_64) 10 | TARGET_ASM_DIR=asm-${TARGET_ARCH} 11 | ;; 12 | *) 13 | TARGET_ASM_DIR=asm-generic 14 | ;; 15 | esac 16 | 17 | AC_SUBST([TARGET_ASM_DIR]) 18 | AM_CONDITIONAL([TARGET_ASM_X86_64], test $TARGET_ASM_DIR = asm-x86_64) 19 | AM_CONDITIONAL([TARGET_ASM_I386], test $TARGET_ASM_DIR = asm-i386) 20 | AM_CONDITIONAL([TARGET_ASM_GENERIC], test $TARGET_ASM_DIR = asm-generic) 21 | AC_MSG_RESULT([$TARGET_ASM_DIR]) 22 | ]) 23 | -------------------------------------------------------------------------------- /config/always-mountexecdir.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_MOUNTEXECDIR], [ 2 | AC_ARG_WITH([mountexecdir], 3 | AS_HELP_STRING([--with-mountexecdir=PATH], 4 | [install mount_zfs in dir [SBINDIR]]), 5 | [mountexecdir="$withval"]) 6 | 7 | AC_MSG_CHECKING([mount executable directory]) 8 | AS_IF([test -z "$mountexecdir"], [ 9 | mountexecdir="$sbindir" 10 | ]) 11 | AC_MSG_RESULT([$mountexecdir]) 12 | MOUNTEXECDIR=${mountexecdir} 13 | 14 | AC_DEFINE_UNQUOTED([MOUNTEXECDIR], 15 | ["$MOUNTEXECDIR"], 16 | [Define to a directory where mount(2) will look for mount_zfs.] 17 | ) 18 | AC_SUBST(MOUNTEXECDIR) 19 | ]) 20 | -------------------------------------------------------------------------------- /config/always-no-bool-compare.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Check if gcc supports -Wno-bool-compare option. 3 | dnl # 4 | dnl # We actually invoke gcc with the -Wbool-compare option 5 | dnl # and infer the 'no-' version does or doesn't exist based upon 6 | dnl # the results. This is required because when checking any of 7 | dnl # no- prefixed options gcc always returns success. 8 | dnl # 9 | AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_NO_BOOL_COMPARE], [ 10 | AC_MSG_CHECKING([for -Wno-bool-compare support]) 11 | 12 | saved_flags="$CFLAGS" 13 | CFLAGS="$CFLAGS -Wbool-compare" 14 | 15 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], 16 | [ 17 | NO_BOOL_COMPARE=-Wno-bool-compare 18 | AC_MSG_RESULT([yes]) 19 | ], 20 | [ 21 | NO_BOOL_COMPARE= 22 | AC_MSG_RESULT([no]) 23 | ]) 24 | 25 | CFLAGS="$saved_flags" 26 | AC_SUBST([NO_BOOL_COMPARE]) 27 | ]) 28 | -------------------------------------------------------------------------------- /config/always-no-unused-but-set-variable.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Check if gcc supports -Wno-unused-but-set-variable option. 3 | dnl # 4 | dnl # We actually invoke gcc with the -Wunused-but-set-variable option 5 | dnl # and infer the 'no-' version does or doesn't exist based upon 6 | dnl # the results. This is required because when checking any of 7 | dnl # no- prefixed options gcc always returns success. 8 | dnl # 9 | AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_NO_UNUSED_BUT_SET_VARIABLE], [ 10 | AC_MSG_CHECKING([for -Wno-unused-but-set-variable support]) 11 | 12 | saved_flags="$CFLAGS" 13 | CFLAGS="$CFLAGS" 14 | 15 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], 16 | [ 17 | NO_UNUSED_BUT_SET_VARIABLE= 18 | AC_MSG_RESULT([yes]) 19 | ], 20 | [ 21 | NO_UNUSED_BUT_SET_VARIABLE= 22 | AC_MSG_RESULT([no]) 23 | ]) 24 | 25 | CFLAGS="$saved_flags" 26 | AC_SUBST([NO_UNUSED_BUT_SET_VARIABLE]) 27 | ]) 28 | -------------------------------------------------------------------------------- /config/config.awk: -------------------------------------------------------------------------------- 1 | # Remove default preprocessor define's from config.h 2 | # PACKAGE 3 | # PACKAGE_BUGREPORT 4 | # PACKAGE_NAME 5 | # PACKAGE_STRING 6 | # PACKAGE_TARNAME 7 | # PACKAGE_VERSION 8 | # STDC_HEADERS 9 | # VERSION 10 | 11 | BEGIN { RS = "" ; FS = "\n" } \ 12 | !/.#define PACKAGE./ && \ 13 | !/.#define VERSION./ && \ 14 | !/.#define STDC_HEADERS./ \ 15 | { print $0"\n" } 16 | -------------------------------------------------------------------------------- /config/kernel-automount.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.37 API change 3 | dnl # The dops->d_automount() dentry operation was added as a clean 4 | dnl # solution to handling automounts. Prior to this cifs/nfs clients 5 | dnl # which required automount support would abuse the follow_link() 6 | dnl # operation on directories for this purpose. 7 | dnl # 8 | AC_DEFUN([ZFS_AC_KERNEL_AUTOMOUNT], [ 9 | AC_MSG_CHECKING([whether dops->d_automount() exists]) 10 | ZFS_LINUX_TRY_COMPILE([ 11 | #include 12 | struct vfsmount *d_automount(struct path *p) { return NULL; } 13 | struct dentry_operations dops __attribute__ ((unused)) = { 14 | .d_automount = d_automount, 15 | }; 16 | ],[ 17 | ],[ 18 | AC_MSG_RESULT(yes) 19 | AC_DEFINE(HAVE_AUTOMOUNT, 1, [dops->automount() exists]) 20 | ],[ 21 | AC_MSG_RESULT(no) 22 | ]) 23 | ]) 24 | -------------------------------------------------------------------------------- /config/kernel-bdev-logical-size.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.30 API change 3 | dnl # bdev_hardsect_size() replaced with bdev_logical_block_size(). While 4 | dnl # it has been true for a while that there was no strict 1:1 mapping 5 | dnl # between physical sector size and logical block size this change makes 6 | dnl # it explicit. 7 | dnl # 8 | AC_DEFUN([ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE], [ 9 | AC_MSG_CHECKING([whether bdev_logical_block_size() is available]) 10 | tmp_flags="$EXTRA_KCFLAGS" 11 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" 12 | ZFS_LINUX_TRY_COMPILE([ 13 | #include 14 | ],[ 15 | struct block_device *bdev = NULL; 16 | bdev_logical_block_size(bdev); 17 | ],[ 18 | AC_MSG_RESULT(yes) 19 | AC_DEFINE(HAVE_BDEV_LOGICAL_BLOCK_SIZE, 1, 20 | [bdev_logical_block_size() is available]) 21 | ],[ 22 | AC_MSG_RESULT(no) 23 | ]) 24 | EXTRA_KCFLAGS="$tmp_flags" 25 | ]) 26 | -------------------------------------------------------------------------------- /config/kernel-bdi.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.32 API change 3 | dnl # Private backing_device_info interfaces available 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_BDI], [ 6 | AC_MSG_CHECKING([whether super_block has s_bdi]) 7 | ZFS_LINUX_TRY_COMPILE([ 8 | #include 9 | 10 | static const struct super_block 11 | sb __attribute__ ((unused)) = { 12 | .s_bdi = NULL, 13 | }; 14 | ],[ 15 | ],[ 16 | AC_MSG_RESULT(yes) 17 | AC_DEFINE(HAVE_BDI, 1, [struct super_block has s_bdi]) 18 | ],[ 19 | AC_MSG_RESULT(no) 20 | ]) 21 | ]) 22 | -------------------------------------------------------------------------------- /config/kernel-bio-bvec-iter.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.14 API change, 3 | dnl # Immutable biovecs. A number of fields of struct bio are moved to 4 | dnl # struct bvec_iter. 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_BIO_BVEC_ITER], [ 7 | AC_MSG_CHECKING([whether bio has bi_iter]) 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | ],[ 11 | struct bio bio; 12 | bio.bi_iter.bi_sector = 0; 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_BIO_BVEC_ITER, 1, [bio has bi_iter]) 16 | ],[ 17 | AC_MSG_RESULT(no) 18 | ]) 19 | ]) 20 | 21 | -------------------------------------------------------------------------------- /config/kernel-blk-queue-max-hw-sectors.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.34 API change 3 | dnl # blk_queue_max_hw_sectors() replaces blk_queue_max_sectors(). 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_MAX_HW_SECTORS], [ 6 | AC_MSG_CHECKING([whether blk_queue_max_hw_sectors() is available]) 7 | tmp_flags="$EXTRA_KCFLAGS" 8 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | ],[ 12 | struct request_queue *q = NULL; 13 | (void) blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS); 14 | ],[ 15 | AC_MSG_RESULT(yes) 16 | AC_DEFINE(HAVE_BLK_QUEUE_MAX_HW_SECTORS, 1, 17 | [blk_queue_max_hw_sectors() is available]) 18 | ],[ 19 | AC_MSG_RESULT(no) 20 | ]) 21 | EXTRA_KCFLAGS="$tmp_flags" 22 | ]) 23 | -------------------------------------------------------------------------------- /config/kernel-blk-queue-max-segments.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.34 API change 3 | dnl # blk_queue_max_segments() consolidates blk_queue_max_hw_segments() 4 | dnl # and blk_queue_max_phys_segments(). 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_MAX_SEGMENTS], [ 7 | AC_MSG_CHECKING([whether blk_queue_max_segments() is available]) 8 | tmp_flags="$EXTRA_KCFLAGS" 9 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" 10 | ZFS_LINUX_TRY_COMPILE([ 11 | #include 12 | ],[ 13 | struct request_queue *q = NULL; 14 | (void) blk_queue_max_segments(q, BLK_MAX_SEGMENTS); 15 | ],[ 16 | AC_MSG_RESULT(yes) 17 | AC_DEFINE(HAVE_BLK_QUEUE_MAX_SEGMENTS, 1, 18 | [blk_queue_max_segments() is available]) 19 | ],[ 20 | AC_MSG_RESULT(no) 21 | ]) 22 | EXTRA_KCFLAGS="$tmp_flags" 23 | ]) 24 | -------------------------------------------------------------------------------- /config/kernel-blkdev-get-by-path.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.38 API change 3 | dnl # open_bdev_exclusive() changed to blkdev_get_by_path() 4 | dnl # close_bdev_exclusive() changed to blkdev_put() 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH], 7 | [AC_MSG_CHECKING([whether blkdev_get_by_path() is available]) 8 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 9 | #include 10 | ], [ 11 | blkdev_get_by_path(NULL, 0, NULL); 12 | ], [blkdev_get_by_path], [fs/block_dev.c], [ 13 | AC_MSG_RESULT(yes) 14 | AC_DEFINE(HAVE_BLKDEV_GET_BY_PATH, 1, 15 | [blkdev_get_by_path() is available]) 16 | ], [ 17 | AC_MSG_RESULT(no) 18 | ]) 19 | ]) 20 | -------------------------------------------------------------------------------- /config/kernel-blkdev-get.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.37 API change 3 | dnl # Added 3rd argument for the active holder, previously this was 4 | dnl # hardcoded to NULL. 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_3ARG_BLKDEV_GET], [ 7 | AC_MSG_CHECKING([whether blkdev_get() wants 3 args]) 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | ],[ 11 | struct block_device *bdev = NULL; 12 | (void) blkdev_get(bdev, 0, NULL); 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_3ARG_BLKDEV_GET, 1, [blkdev_get() wants 3 args]) 16 | ],[ 17 | AC_MSG_RESULT(no) 18 | ]) 19 | ]) 20 | -------------------------------------------------------------------------------- /config/kernel-block-device-operations-release-void.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.10.x API change 3 | dnl # 4 | AC_DEFUN([ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID], [ 5 | AC_MSG_CHECKING([whether block_device_operations.release is void]) 6 | tmp_flags="$EXTRA_KCFLAGS" 7 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | 11 | void blk_release(struct gendisk *g, fmode_t mode) { return; } 12 | 13 | static const struct block_device_operations 14 | bops __attribute__ ((unused)) = { 15 | .open = NULL, 16 | .release = blk_release, 17 | .ioctl = NULL, 18 | .compat_ioctl = NULL, 19 | }; 20 | ],[ 21 | ],[ 22 | AC_MSG_RESULT(void) 23 | AC_DEFINE(HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID, 1, 24 | [struct block_device_operations.release returns void]) 25 | ],[ 26 | AC_MSG_RESULT(int) 27 | ]) 28 | EXTRA_KCFLAGS="$tmp_flags" 29 | ]) 30 | -------------------------------------------------------------------------------- /config/kernel-check-disk-size-change.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.28 API change 3 | dnl # Added check_disk_size_change() helper function. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_CHECK_DISK_SIZE_CHANGE], 6 | [AC_MSG_CHECKING([whether check_disk_size_change() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | check_disk_size_change(NULL, NULL); 11 | ], [check_disk_size_change], [fs/block_dev.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_CHECK_DISK_SIZE_CHANGE, 1, 14 | [check_disk_size_change() is available]) 15 | ], [ 16 | AC_MSG_RESULT(no) 17 | ]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/kernel-commit-metadata.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.33 API change 3 | dnl # Added eops->commit_metadata() callback to allow the underlying 4 | dnl # filesystem to determine the most efficient way to commit the inode. 5 | dnl # Prior to this the nfs server would issue an explicit fsync(). 6 | dnl # 7 | AC_DEFUN([ZFS_AC_KERNEL_COMMIT_METADATA], [ 8 | AC_MSG_CHECKING([whether eops->commit_metadata() exists]) 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | int commit_metadata(struct inode *inode) { return 0; } 12 | static struct export_operations eops __attribute__ ((unused))={ 13 | .commit_metadata = commit_metadata, 14 | }; 15 | ],[ 16 | ],[ 17 | AC_MSG_RESULT(yes) 18 | AC_DEFINE(HAVE_COMMIT_METADATA, 1, 19 | [eops->commit_metadata() exists]) 20 | ],[ 21 | AC_MSG_RESULT(no) 22 | ]) 23 | ]) 24 | -------------------------------------------------------------------------------- /config/kernel-create-nameidata.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.6 API change 3 | dnl # 4 | AC_DEFUN([ZFS_AC_KERNEL_CREATE_NAMEIDATA], [ 5 | AC_MSG_CHECKING([whether iops->create() passes nameidata]) 6 | ZFS_LINUX_TRY_COMPILE([ 7 | #include 8 | 9 | #ifdef HAVE_MKDIR_UMODE_T 10 | int inode_create(struct inode *inode ,struct dentry *dentry, 11 | umode_t umode, struct nameidata *nidata) { return 0; } 12 | #else 13 | int inode_create(struct inode *inode,struct dentry *dentry, 14 | int umode, struct nameidata * nidata) { return 0; } 15 | #endif 16 | 17 | static const struct inode_operations 18 | iops __attribute__ ((unused)) = { 19 | .create = inode_create, 20 | }; 21 | ],[ 22 | ],[ 23 | AC_MSG_RESULT(yes) 24 | AC_DEFINE(HAVE_CREATE_NAMEIDATA, 1, 25 | [iops->create() passes nameidata]) 26 | ],[ 27 | AC_MSG_RESULT(no) 28 | ]) 29 | ]) 30 | -------------------------------------------------------------------------------- /config/kernel-d-make-root.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.4.0 API change 3 | dnl # Added d_make_root() to replace previous d_alloc_root() function. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_D_MAKE_ROOT], 6 | [AC_MSG_CHECKING([whether d_make_root() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | d_make_root(NULL); 11 | ], [d_make_root], [fs/dcache.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_D_MAKE_ROOT, 1, [d_make_root() is available]) 14 | ], [ 15 | AC_MSG_RESULT(no) 16 | ]) 17 | ]) 18 | -------------------------------------------------------------------------------- /config/kernel-d-obtain-alias.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.28 API change 3 | dnl # Added d_obtain_alias() helper function. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_D_OBTAIN_ALIAS], 6 | [AC_MSG_CHECKING([whether d_obtain_alias() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | d_obtain_alias(NULL); 11 | ], [d_obtain_alias], [fs/dcache.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_D_OBTAIN_ALIAS, 1, 14 | [d_obtain_alias() is available]) 15 | ], [ 16 | AC_MSG_RESULT(no) 17 | ]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/kernel-d-prune-aliases.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.12 API change 3 | dnl # d_prune_aliases() helper function available. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_D_PRUNE_ALIASES], 6 | [AC_MSG_CHECKING([whether d_prune_aliases() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | struct inode *ip = NULL; 11 | d_prune_aliases(ip); 12 | ], [d_prune_aliases], [fs/dcache.c], [ 13 | AC_MSG_RESULT(yes) 14 | AC_DEFINE(HAVE_D_PRUNE_ALIASES, 1, 15 | [d_prune_aliases() is available]) 16 | ], [ 17 | AC_MSG_RESULT(no) 18 | ]) 19 | ]) 20 | -------------------------------------------------------------------------------- /config/kernel-dirty-inode.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.0 API change 3 | dnl # The sops->dirty_inode() callbacks were updated to take a flags 4 | dnl # argument. This allows the greater control over whether the 5 | dnl # filesystem needs to push out a transaction or not. 6 | dnl # 7 | AC_DEFUN([ZFS_AC_KERNEL_DIRTY_INODE_WITH_FLAGS], [ 8 | AC_MSG_CHECKING([whether sops->dirty_inode() wants flags]) 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | 12 | void dirty_inode(struct inode *a, int b) { return; } 13 | 14 | static const struct super_operations 15 | sops __attribute__ ((unused)) = { 16 | .dirty_inode = dirty_inode, 17 | }; 18 | ],[ 19 | ],[ 20 | AC_MSG_RESULT([yes]) 21 | AC_DEFINE(HAVE_DIRTY_INODE_WITH_FLAGS, 1, 22 | [sops->dirty_inode() wants flags]) 23 | ],[ 24 | AC_MSG_RESULT([no]) 25 | ]) 26 | ]) 27 | -------------------------------------------------------------------------------- /config/kernel-discard-granularity.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.33 API change 3 | dnl # Discard granularity and alignment restrictions may now be set. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_DISCARD_GRANULARITY], [ 6 | AC_MSG_CHECKING([whether ql->discard_granularity is available]) 7 | ZFS_LINUX_TRY_COMPILE([ 8 | #include 9 | ],[ 10 | struct queue_limits ql __attribute__ ((unused)); 11 | 12 | ql.discard_granularity = 0; 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_DISCARD_GRANULARITY, 1, 16 | [ql->discard_granularity is available]) 17 | ],[ 18 | AC_MSG_RESULT(no) 19 | ]) 20 | ]) 21 | -------------------------------------------------------------------------------- /config/kernel-elevator-change.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.36 API change 3 | dnl # Verify the elevator_change() symbol is available. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_ELEVATOR_CHANGE], [ 6 | AC_MSG_CHECKING([whether elevator_change() is available]) 7 | tmp_flags="$EXTRA_KCFLAGS" 8 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | #include 12 | ],[ 13 | int ret; 14 | struct request_queue *q = NULL; 15 | char *elevator = NULL; 16 | ret = elevator_change(q, elevator); 17 | ],[ 18 | AC_MSG_RESULT(yes) 19 | AC_DEFINE(HAVE_ELEVATOR_CHANGE, 1, 20 | [elevator_change() is available]) 21 | ],[ 22 | AC_MSG_RESULT(no) 23 | ]) 24 | EXTRA_KCFLAGS="$tmp_flags" 25 | ]) 26 | -------------------------------------------------------------------------------- /config/kernel-encode-fh-inode.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.5.0 API change 3 | dnl # torvalds/linux@b0b0382bb4904965a9e9fca77ad87514dfda0d1c changed the 4 | dnl # ->encode_fh() callback to pass the child inode and its parents inode 5 | dnl # rather than a dentry and a boolean saying whether we want the parent. 6 | dnl # 7 | AC_DEFUN([ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE], [ 8 | AC_MSG_CHECKING([whether eops->encode_fh() wants inode]) 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | int encode_fh(struct inode *inode, __u32 *fh, int *max_len, 12 | struct inode *parent) { return 0; } 13 | static struct export_operations eops __attribute__ ((unused))={ 14 | .encode_fh = encode_fh, 15 | }; 16 | ],[ 17 | ],[ 18 | AC_MSG_RESULT(yes) 19 | AC_DEFINE(HAVE_ENCODE_FH_WITH_INODE, 1, 20 | [eops->encode_fh() wants child and parent inodes]) 21 | ],[ 22 | AC_MSG_RESULT(no) 23 | ]) 24 | ]) 25 | -------------------------------------------------------------------------------- /config/kernel-evict-inode.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.36 API change 3 | dnl # The sops->delete_inode() and sops->clear_inode() callbacks have 4 | dnl # replaced by a single sops->evict_inode() callback. 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_EVICT_INODE], [ 7 | AC_MSG_CHECKING([whether sops->evict_inode() exists]) 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | void evict_inode (struct inode * t) { return; } 11 | static struct super_operations sops __attribute__ ((unused)) = { 12 | .evict_inode = evict_inode, 13 | }; 14 | ],[ 15 | ],[ 16 | AC_MSG_RESULT(yes) 17 | AC_DEFINE(HAVE_EVICT_INODE, 1, [sops->evict_inode() exists]) 18 | ],[ 19 | AC_MSG_RESULT(no) 20 | ]) 21 | ]) 22 | -------------------------------------------------------------------------------- /config/kernel-file-inode.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.19 API change 3 | dnl # struct access f->f_dentry->d_inode was replaced by accessor function 4 | dnl # file_inode(f) 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_FILE_INODE], [ 7 | AC_MSG_CHECKING([whether file_inode() is available]) 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | ],[ 11 | struct file *f = NULL; 12 | file_inode(f); 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_FILE_INODE, 1, [file_inode() is available]) 16 | ],[ 17 | AC_MSG_RESULT(no) 18 | ]) 19 | ]) 20 | -------------------------------------------------------------------------------- /config/kernel-fmode-t.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.28 API change, 3 | dnl # check if fmode_t typedef is defined 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_TYPE_FMODE_T], 6 | [AC_MSG_CHECKING([whether kernel defines fmode_t]) 7 | ZFS_LINUX_TRY_COMPILE([ 8 | #include 9 | ],[ 10 | fmode_t *ptr __attribute__ ((unused)); 11 | ],[ 12 | AC_MSG_RESULT([yes]) 13 | AC_DEFINE(HAVE_FMODE_T, 1, 14 | [kernel defines fmode_t]) 15 | ],[ 16 | AC_MSG_RESULT([no]) 17 | ]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/kernel-follow-down-one.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.38 API change 3 | dnl # follow_down() renamed follow_down_one(). The original follow_down() 4 | dnl # symbol still exists but will traverse down all the layers. 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_FOLLOW_DOWN_ONE], [ 7 | AC_MSG_CHECKING([whether follow_down_one() is available]) 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | ],[ 11 | struct path *p = NULL; 12 | follow_down_one(p); 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_FOLLOW_DOWN_ONE, 1, 16 | [follow_down_one() is available]) 17 | ],[ 18 | AC_MSG_RESULT(no) 19 | ]) 20 | ]) 21 | -------------------------------------------------------------------------------- /config/kernel-follow-link-nameidata.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 4.2 API change 3 | dnl # This kernel retired the nameidata structure which forced the 4 | dnl # restructuring of the follow_link() prototype and how it is called. 5 | dnl # We check for the new interface rather than detecting the old one. 6 | dnl # 7 | AC_DEFUN([ZFS_AC_KERNEL_FOLLOW_LINK], [ 8 | AC_MSG_CHECKING([whether iops->follow_link() passes nameidata]) 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | const char *follow_link(struct dentry *de, void **cookie) 12 | { return "symlink"; } 13 | static struct inode_operations iops __attribute__ ((unused)) = { 14 | .follow_link = follow_link, 15 | }; 16 | ],[ 17 | ],[ 18 | AC_MSG_RESULT(no) 19 | ],[ 20 | AC_MSG_RESULT(yes) 21 | AC_DEFINE(HAVE_FOLLOW_LINK_NAMEIDATA, 1, 22 | [iops->follow_link() nameidata]) 23 | ]) 24 | ]) 25 | -------------------------------------------------------------------------------- /config/kernel-get-disk-ro.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.x API change 3 | dnl # 4 | AC_DEFUN([ZFS_AC_KERNEL_GET_DISK_RO], [ 5 | AC_MSG_CHECKING([whether get_disk_ro() is available]) 6 | tmp_flags="$EXTRA_KCFLAGS" 7 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | ],[ 11 | struct gendisk *disk = NULL; 12 | (void) get_disk_ro(disk); 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_GET_DISK_RO, 1, 16 | [blk_disk_ro() is available]) 17 | ],[ 18 | AC_MSG_RESULT(no) 19 | ]) 20 | EXTRA_KCFLAGS="$tmp_flags" 21 | ]) 22 | -------------------------------------------------------------------------------- /config/kernel-get-gendisk.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.34 API change 3 | dnl # Verify the get_gendisk() symbol is available. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_GET_GENDISK], 6 | [AC_MSG_CHECKING([whether get_gendisk() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | get_gendisk(0, NULL); 11 | ], [get_gendisk], [block/genhd.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_GET_GENDISK, 1, [get_gendisk() is available]) 14 | ], [ 15 | AC_MSG_RESULT(no) 16 | ]) 17 | ]) 18 | -------------------------------------------------------------------------------- /config/kernel-insert-inode-locked.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.28 API change 3 | dnl # Added insert_inode_locked() helper function. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_INSERT_INODE_LOCKED], 6 | [AC_MSG_CHECKING([whether insert_inode_locked() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | insert_inode_locked(NULL); 11 | ], [insert_inode_locked], [fs/inode.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_INSERT_INODE_LOCKED, 1, 14 | [insert_inode_locked() is available]) 15 | ], [ 16 | AC_MSG_RESULT(no) 17 | ]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/kernel-invalidate-bdev-args.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.22 API change 3 | dnl # Unused destroy_dirty_buffers arg removed from prototype. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_INVALIDATE_BDEV_ARGS], [ 6 | AC_MSG_CHECKING([whether invalidate_bdev() wants 1 arg]) 7 | ZFS_LINUX_TRY_COMPILE([ 8 | #include 9 | ],[ 10 | struct block_device *bdev = NULL; 11 | invalidate_bdev(bdev); 12 | ],[ 13 | AC_MSG_RESULT(yes) 14 | AC_DEFINE(HAVE_1ARG_INVALIDATE_BDEV, 1, 15 | [invalidate_bdev() wants 1 arg]) 16 | ],[ 17 | AC_MSG_RESULT(no) 18 | ]) 19 | ]) 20 | -------------------------------------------------------------------------------- /config/kernel-kmap-atomic-args.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.37 API change 3 | dnl # kmap_atomic changed from assigning hard-coded named slot to using 4 | dnl # push/pop based dynamical allocation. 5 | dnl # 6 | AC_DEFUN([ZFS_AC_KERNEL_KMAP_ATOMIC_ARGS], [ 7 | AC_MSG_CHECKING([whether kmap_atomic wants 1 args]) 8 | ZFS_LINUX_TRY_COMPILE([ 9 | #include 10 | ],[ 11 | struct page page; 12 | kmap_atomic(&page); 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_1ARG_KMAP_ATOMIC, 1, 16 | [kmap_atomic wants 1 args]) 17 | ],[ 18 | AC_MSG_RESULT(no) 19 | ]) 20 | ]) 21 | -------------------------------------------------------------------------------- /config/kernel-kobj-name-len.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.27 API change, 3 | dnl # kobject KOBJ_NAME_LEN static limit removed. All users of this 4 | dnl # constant were removed prior to 2.6.27, but to be on the safe 5 | dnl # side this check ensures the constant is undefined. 6 | dnl # 7 | AC_DEFUN([ZFS_AC_KERNEL_KOBJ_NAME_LEN], [ 8 | AC_MSG_CHECKING([whether kernel defines KOBJ_NAME_LEN]) 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | ],[ 12 | int val __attribute__ ((unused)); 13 | val = KOBJ_NAME_LEN; 14 | ],[ 15 | AC_MSG_RESULT([yes]) 16 | AC_DEFINE(HAVE_KOBJ_NAME_LEN, 1, 17 | [kernel defines KOBJ_NAME_LEN]) 18 | ],[ 19 | AC_MSG_RESULT([no]) 20 | ]) 21 | ]) 22 | -------------------------------------------------------------------------------- /config/kernel-lookup-bdev.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.27 API change 3 | dnl # lookup_bdev() was exported. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_LOOKUP_BDEV], 6 | [AC_MSG_CHECKING([whether lookup_bdev() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | lookup_bdev(NULL); 11 | ], [lookup_bdev], [fs/block_dev.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_LOOKUP_BDEV, 1, [lookup_bdev() is available]) 14 | ], [ 15 | AC_MSG_RESULT(no) 16 | ]) 17 | ]) 18 | -------------------------------------------------------------------------------- /config/kernel-lookup-nameidata.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.6 API change 3 | dnl # 4 | AC_DEFUN([ZFS_AC_KERNEL_LOOKUP_NAMEIDATA], [ 5 | AC_MSG_CHECKING([whether iops->lookup() passes nameidata]) 6 | ZFS_LINUX_TRY_COMPILE([ 7 | #include 8 | 9 | struct dentry *inode_lookup(struct inode *inode, 10 | struct dentry *dentry, struct nameidata *nidata) 11 | { return NULL; } 12 | 13 | static const struct inode_operations iops 14 | __attribute__ ((unused)) = { 15 | .lookup = inode_lookup, 16 | }; 17 | ],[ 18 | ],[ 19 | AC_MSG_RESULT(yes) 20 | AC_DEFINE(HAVE_LOOKUP_NAMEIDATA, 1, 21 | [iops->lookup() passes nameidata]) 22 | ],[ 23 | AC_MSG_RESULT(no) 24 | ]) 25 | ]) 26 | -------------------------------------------------------------------------------- /config/kernel-lseek-execute.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.11 API change 3 | dnl # lseek_execute helper exported 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_LSEEK_EXECUTE], 6 | [AC_MSG_CHECKING([whether lseek_execute() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | struct file *fp __attribute__ ((unused)) = NULL; 11 | struct inode *ip __attribute__ ((unused)) = NULL; 12 | loff_t offset __attribute__ ((unused)) = 0; 13 | loff_t maxsize __attribute__ ((unused)) = 0; 14 | 15 | lseek_execute(fp, ip, offset, maxsize); 16 | ], [lseek_exclusive], [fs/read_write.c], [ 17 | AC_MSG_RESULT(yes) 18 | AC_DEFINE(HAVE_LSEEK_EXECUTE, 1, 19 | [lseek_execute() is available]) 20 | ], [ 21 | AC_MSG_RESULT(no) 22 | ]) 23 | ]) 24 | -------------------------------------------------------------------------------- /config/kernel-mount-nodev.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.39 API change 3 | dnl # The .get_sb callback has been replaced by a .mount callback 4 | dnl # in the file_system_type structure. When using the new 5 | dnl # interface the caller must now use the mount_nodev() helper. 6 | dnl # This updated callback and helper no longer pass the vfsmount. 7 | dnl # 8 | AC_DEFUN([ZFS_AC_KERNEL_MOUNT_NODEV], 9 | [AC_MSG_CHECKING([whether mount_nodev() is available]) 10 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 11 | #include 12 | ], [ 13 | mount_nodev(NULL, 0, NULL, NULL); 14 | ], [mount_nodev], [fs/super.c], [ 15 | AC_MSG_RESULT(yes) 16 | AC_DEFINE(HAVE_MOUNT_NODEV, 1, [mount_nodev() is available]) 17 | ], [ 18 | AC_MSG_RESULT(no) 19 | ]) 20 | ]) 21 | -------------------------------------------------------------------------------- /config/kernel-open-bdev-exclusive.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.28 API change 3 | dnl # open/close_bdev_excl() renamed to open/close_bdev_exclusive() 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_OPEN_BDEV_EXCLUSIVE], 6 | [AC_MSG_CHECKING([whether open_bdev_exclusive() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | open_bdev_exclusive(NULL, 0, NULL); 11 | ], [open_bdev_exclusive], [fs/block_dev.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_OPEN_BDEV_EXCLUSIVE, 1, 14 | [open_bdev_exclusive() is available]) 15 | ], [ 16 | AC_MSG_RESULT(no) 17 | ]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/kernel-put-link-nameidata.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 4.2 API change 3 | dnl # This kernel retired the nameidata structure which forced the 4 | dnl # restructuring of the put_link() prototype and how it is called. 5 | dnl # We check for the new interface rather than detecting the old one. 6 | dnl # 7 | AC_DEFUN([ZFS_AC_KERNEL_PUT_LINK], [ 8 | AC_MSG_CHECKING([whether iops->put_link() passes nameidata]) 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | void put_link(struct inode *ip, void *cookie) { return; } 12 | static struct inode_operations iops __attribute__ ((unused)) = { 13 | .put_link = put_link, 14 | }; 15 | ],[ 16 | ],[ 17 | AC_MSG_RESULT(no) 18 | ],[ 19 | AC_MSG_RESULT(yes) 20 | AC_DEFINE(HAVE_PUT_LINK_NAMEIDATA, 1, 21 | [iops->put_link() nameidata]) 22 | ]) 23 | ]) 24 | -------------------------------------------------------------------------------- /config/kernel-set-nlink.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Linux v3.2-rc1 API change 3 | dnl # SHA: bfe8684869601dacfcb2cd69ef8cfd9045f62170 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_SET_NLINK], [ 6 | AC_MSG_CHECKING([whether set_nlink() is available]) 7 | ZFS_LINUX_TRY_COMPILE([ 8 | #include 9 | ],[ 10 | struct inode node; 11 | unsigned int link = 0; 12 | (void) set_nlink(&node, link); 13 | ],[ 14 | AC_MSG_RESULT(yes) 15 | AC_DEFINE(HAVE_SET_NLINK, 1, 16 | [set_nlink() is available]) 17 | ],[ 18 | AC_MSG_RESULT(no) 19 | ]) 20 | ]) 21 | -------------------------------------------------------------------------------- /config/kernel-sget-args.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.6 API change, 3 | dnl # 'sget' now takes the mount flags as an argument. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_5ARG_SGET], 6 | [AC_MSG_CHECKING([whether sget() wants 5 args]) 7 | ZFS_LINUX_TRY_COMPILE([ 8 | #include 9 | ],[ 10 | struct file_system_type *type = NULL; 11 | int (*test)(struct super_block *,void *) = NULL; 12 | int (*set)(struct super_block *,void *) = NULL; 13 | int flags = 0; 14 | void *data = NULL; 15 | (void) sget(type, test, set, flags, data); 16 | ],[ 17 | AC_MSG_RESULT(yes) 18 | AC_DEFINE(HAVE_5ARG_SGET, 1, [sget() wants 5 args]) 19 | ],[ 20 | AC_MSG_RESULT(no) 21 | ]) 22 | ]) 23 | 24 | -------------------------------------------------------------------------------- /config/kernel-show-options.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Linux 3.3 API 3 | dnl # 4 | AC_DEFUN([ZFS_AC_KERNEL_SHOW_OPTIONS], [ 5 | AC_MSG_CHECKING([whether sops->show_options() wants dentry]) 6 | 7 | ZFS_LINUX_TRY_COMPILE([ 8 | #include 9 | 10 | int show_options (struct seq_file * x, struct dentry * y) { return 0; }; 11 | static struct super_operations sops __attribute__ ((unused)) = { 12 | .show_options = show_options, 13 | }; 14 | ],[ 15 | ],[ 16 | AC_MSG_RESULT([yes]) 17 | AC_DEFINE(HAVE_SHOW_OPTIONS_WITH_DENTRY, 1, 18 | [sops->show_options() with dentry]) 19 | ],[ 20 | AC_MSG_RESULT([no]) 21 | ]) 22 | ]) 23 | -------------------------------------------------------------------------------- /config/kernel-truncate-range.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 3.5.0 API change 3 | dnl # torvalds/linux@17cf28afea2a1112f240a3a2da8af883be024811 removed 4 | dnl # truncate_range(). The file hole punching functionality is now 5 | dnl # provided by fallocate() 6 | dnl # 7 | AC_DEFUN([ZFS_AC_KERNEL_TRUNCATE_RANGE], [ 8 | AC_MSG_CHECKING([whether iops->truncate_range() exists]) 9 | ZFS_LINUX_TRY_COMPILE([ 10 | #include 11 | void truncate_range(struct inode *inode, loff_t start, 12 | loff_t end) { return; } 13 | static struct inode_operations iops __attribute__ ((unused)) = { 14 | .truncate_range = truncate_range, 15 | }; 16 | ],[ 17 | ],[ 18 | AC_MSG_RESULT(yes) 19 | AC_DEFINE(HAVE_INODE_TRUNCATE_RANGE, 1, 20 | [iops->truncate_range() exists]) 21 | ],[ 22 | AC_MSG_RESULT(no) 23 | ]) 24 | ]) 25 | -------------------------------------------------------------------------------- /config/kernel-truncate-setsize.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # 2.6.35 API change 3 | dnl # Added truncate_setsize() helper function. 4 | dnl # 5 | AC_DEFUN([ZFS_AC_KERNEL_TRUNCATE_SETSIZE], 6 | [AC_MSG_CHECKING([whether truncate_setsize() is available]) 7 | ZFS_LINUX_TRY_COMPILE_SYMBOL([ 8 | #include 9 | ], [ 10 | truncate_setsize(NULL, 0); 11 | ], [truncate_setsize], [mm/truncate.c], [ 12 | AC_MSG_RESULT(yes) 13 | AC_DEFINE(HAVE_TRUNCATE_SETSIZE, 1, 14 | [truncate_setsize() is available]) 15 | ], [ 16 | AC_MSG_RESULT(no) 17 | ]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/kernel-vfs-rw-iterate.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Linux 4.1.x API 3 | dnl # 4 | AC_DEFUN([ZFS_AC_KERNEL_VFS_RW_ITERATE], 5 | [AC_MSG_CHECKING([whether fops->read/write_iter() are available]) 6 | ZFS_LINUX_TRY_COMPILE([ 7 | #include 8 | 9 | ssize_t test_read(struct kiocb *kiocb, struct iov_iter *to) 10 | { return 0; } 11 | ssize_t test_write(struct kiocb *kiocb, struct iov_iter *from) 12 | { return 0; } 13 | 14 | static const struct file_operations 15 | fops __attribute__ ((unused)) = { 16 | .read_iter = test_read, 17 | .write_iter = test_write, 18 | }; 19 | ],[ 20 | ],[ 21 | AC_MSG_RESULT(yes) 22 | AC_DEFINE(HAVE_VFS_RW_ITERATE, 1, 23 | [fops->read/write_iter() are available]) 24 | ],[ 25 | AC_MSG_RESULT(no) 26 | ]) 27 | ]) 28 | -------------------------------------------------------------------------------- /config/mount-helper.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([ZFS_AC_CONFIG_USER_MOUNT_HELPER], [ 2 | AC_ARG_WITH(mounthelperdir, 3 | AC_HELP_STRING([--with-mounthelperdir=DIR], 4 | [install mount.zfs in dir [[/sbin]]]), 5 | mounthelperdir=$withval,mounthelperdir=/sbin) 6 | 7 | AC_SUBST(mounthelperdir) 8 | ]) 9 | -------------------------------------------------------------------------------- /config/suppressed-warnings.txt: -------------------------------------------------------------------------------- 1 | # 2 | # Expected warnings which should be suppressed by buildbot 3 | # 4 | None : ^libtool: install: warning: relinking `.*'$ 5 | None : ^libtool: install: warning: remember to run `libtool --finish .*'$ 6 | None : ^libtool: install: warning: `.*' has not been installed in `.*'$ 7 | None : ^warning: File listed twice:.* 8 | -------------------------------------------------------------------------------- /config/user-dracut.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([ZFS_AC_CONFIG_USER_DRACUT], [ 2 | AC_MSG_CHECKING(for dracut directory) 3 | AC_ARG_WITH([dracutdir], 4 | AC_HELP_STRING([--with-dracutdir=DIR], 5 | [install dracut helpers @<:@default=check@:>@]), 6 | [dracutdir=$withval], 7 | [dracutdir=check]) 8 | 9 | AS_IF([test "x$dracutdir" = xcheck], [ 10 | path1=/usr/share/dracut 11 | path2=/usr/lib/dracut 12 | default=$path2 13 | 14 | AS_IF([test -d "$path1"], [dracutdir="$path1"], [ 15 | AS_IF([test -d "$path2"], [dracutdir="$path2"], 16 | [dracutdir="$default"]) 17 | ]) 18 | ]) 19 | 20 | AC_SUBST(dracutdir) 21 | AC_MSG_RESULT([$dracutdir]) 22 | ]) 23 | -------------------------------------------------------------------------------- /config/user-frame-larger-than.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Check if gcc supports -Wframe-larger-than= option. 3 | dnl # 4 | AC_DEFUN([ZFS_AC_CONFIG_USER_FRAME_LARGER_THAN], [ 5 | AC_MSG_CHECKING([for -Wframe-larger-than= support]) 6 | 7 | saved_flags="$CFLAGS" 8 | CFLAGS="$CFLAGS -Wframe-larger-than=1024" 9 | 10 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], 11 | [ 12 | FRAME_LARGER_THAN=-Wframe-larger-than=2700 13 | AC_MSG_RESULT([yes]) 14 | ], 15 | [ 16 | FRAME_LARGER_THAN= 17 | AC_MSG_RESULT([no]) 18 | ]) 19 | 20 | CFLAGS="$saved_flags" 21 | AC_SUBST([FRAME_LARGER_THAN]) 22 | ]) 23 | -------------------------------------------------------------------------------- /config/user-libuuid.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Check for libuuid 3 | dnl # 4 | AC_DEFUN([ZFS_AC_CONFIG_USER_LIBUUID], [ 5 | LIBUUID= 6 | 7 | AC_CHECK_HEADER([uuid/uuid.h], [], [AC_MSG_FAILURE([ 8 | *** uuid/uuid.h missing, libuuid-devel package required])]) 9 | 10 | dnl AC_CHECK_LIB([uuid], [uuid_generate], [], [AC_MSG_FAILURE([ 11 | dnl *** uuid_generate() missing, libuuid-devel package required])]) 12 | 13 | dnl AC_CHECK_LIB([uuid], [uuid_is_null], [], [AC_MSG_FAILURE([ 14 | dnl *** uuid_is_null() missing, libuuid-devel package required])]) 15 | 16 | dnl AC_SUBST([LIBUUID], [""]) 17 | AC_DEFINE([HAVE_LIBUUID], 1, [Define if you have libuuid]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/user-runstatedir.m4: -------------------------------------------------------------------------------- 1 | dnl For backwards compatibility; runstatedir added in autoconf 2.70. 2 | AC_DEFUN([ZFS_AC_CONFIG_USER_RUNSTATEDIR], [ 3 | if test "x$runstatedir" = x; then 4 | AC_SUBST([runstatedir], ['${localstatedir}/run']) 5 | fi 6 | ]) 7 | -------------------------------------------------------------------------------- /config/user-sysvinit.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([ZFS_AC_CONFIG_USER_SYSVINIT], [ 2 | AC_ARG_ENABLE(sysvinit, 3 | AC_HELP_STRING([--enable-sysvinit], 4 | [install SysV init scripts [default: yes]]), 5 | [],enable_sysvinit=yes) 6 | 7 | AS_IF([test "x$enable_sysvinit" = xyes], 8 | [ZFS_INIT_SYSV=init.d]) 9 | 10 | AC_SUBST(ZFS_INIT_SYSV) 11 | ]) 12 | -------------------------------------------------------------------------------- /config/user-udev.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([ZFS_AC_CONFIG_USER_UDEV], [ 2 | AC_MSG_CHECKING(for udev directories) 3 | AC_ARG_WITH(udevdir, 4 | AC_HELP_STRING([--with-udevdir=DIR], 5 | [install udev helpers @<:@default=check@:>@]), 6 | [udevdir=$withval], 7 | [udevdir=check]) 8 | 9 | AS_IF([test "x$udevdir" = xcheck], [ 10 | path1=/lib/udev 11 | path2=/usr/lib/udev 12 | default=$path2 13 | 14 | AS_IF([test -d "$path1"], [udevdir="$path1"], [ 15 | AS_IF([test -d "$path2"], [udevdir="$path2"], 16 | [udevdir="$default"]) 17 | ]) 18 | ]) 19 | 20 | AC_ARG_WITH(udevruledir, 21 | AC_HELP_STRING([--with-udevruledir=DIR], 22 | [install udev rules [[UDEVDIR/rules.d]]]), 23 | [udevruledir=$withval], 24 | [udevruledir="${udevdir}/rules.d"]) 25 | 26 | AC_SUBST(udevdir) 27 | AC_SUBST(udevruledir) 28 | AC_MSG_RESULT([$udevdir;$udevruledir]) 29 | ]) 30 | -------------------------------------------------------------------------------- /config/user-zlib.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Check for zlib 3 | dnl # 4 | AC_DEFUN([ZFS_AC_CONFIG_USER_ZLIB], [ 5 | ZLIB= 6 | 7 | #AC_CHECK_HEADER([zlib.h], [], [AC_MSG_FAILURE([ 8 | #*** zlib.h missing, zlib-devel package required])]) 9 | 10 | #AC_CHECK_LIB([z], [compress2], [], [AC_MSG_FAILURE([ 11 | #*** compress2() missing, zlib-devel package required])]) 12 | 13 | #AC_CHECK_LIB([z], [uncompress], [], [AC_MSG_FAILURE([ 14 | #*** uncompress() missing, zlib-devel package required])]) 15 | 16 | #AC_CHECK_LIB([z], [crc32], [], [AC_MSG_FAILURE([ 17 | #*** crc32() missing, zlib-devel package required])]) 18 | 19 | # AC_SUBST([ZLIB], ["-lz"]) 20 | AC_DEFINE([HAVE_ZLIB], 1, [Define if you have zlib]) 21 | ]) 22 | -------------------------------------------------------------------------------- /config/user.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Default ZFS user configuration 3 | dnl # 4 | AC_DEFUN([ZFS_AC_CONFIG_USER], [ 5 | ZFS_AC_CONFIG_USER_MOUNT_HELPER 6 | ZFS_AC_CONFIG_USER_UDEV 7 | ZFS_AC_CONFIG_USER_LAUNCHD 8 | ZFS_AC_CONFIG_USER_SYSTEMD 9 | ZFS_AC_CONFIG_USER_SYSVINIT 10 | ZFS_AC_CONFIG_USER_DRACUT 11 | ZFS_AC_CONFIG_USER_ZLIB 12 | ZFS_AC_CONFIG_USER_LIBUUID 13 | ZFS_AC_CONFIG_USER_LIBBLKID 14 | ZFS_AC_CONFIG_USER_RUNSTATEDIR 15 | dnl # 16 | dnl # Checks for library functions 17 | AC_CHECK_FUNCS([mlockall]) 18 | ]) 19 | -------------------------------------------------------------------------------- /config/zfs-boot.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([ZFS_AC_BOOT], [ 2 | AC_ARG_ENABLE([boot], 3 | [AS_HELP_STRING([--enable-boot], 4 | [Enable boot @<:@default=no@:>@])], 5 | [], 6 | [enable_boot=no]) 7 | 8 | AS_IF([test "x$enable_boot" != xno], 9 | [ 10 | enable_boot=yes 11 | ZFS_BOOT=1 12 | AM_CONDITIONAL(ZFS_BOOT, true) 13 | KERNELCPPFLAGS="${KERNELCPPFLAGS} -DZFS_BOOT" 14 | CFLAGS_KMOD="${CFLAGS_KMOD} -DZFS_BOOT" 15 | AC_DEFINE(ZFS_BOOT, 1, 16 | [Define ZFS_BOOT to enable kext load at boot]) 17 | AC_SUBST([ZFS_BOOT]) 18 | ], 19 | [ 20 | AM_CONDITIONAL(ZFS_BOOT, false) 21 | ]) 22 | 23 | AC_MSG_CHECKING([whether kext load at boot is enabled]) 24 | AC_MSG_RESULT([$enable_boot]) 25 | ]) 26 | -------------------------------------------------------------------------------- /contrib/Makefile.am: -------------------------------------------------------------------------------- 1 | # O3X - trim unwanted linux support code 2 | #SUBDIRS = bash_completion.d dracut initramfs 3 | #DIST_SUBDIRS = bash_completion.d dracut initramfs 4 | 5 | SUBDIRS = bash_completion.d 6 | DIST_SUBDIRS = bash_completion.d 7 | -------------------------------------------------------------------------------- /contrib/bash_completion.d/Makefile.am: -------------------------------------------------------------------------------- 1 | bashcompletiondir = $(sysconfdir)/bash_completion.d 2 | 3 | noinst_DATA = zfs 4 | 5 | EXTRA_DIST = $(noinst_DATA) 6 | -------------------------------------------------------------------------------- /contrib/dracut/90zfs/.gitignore: -------------------------------------------------------------------------------- 1 | export-zfs.sh 2 | module-setup.sh 3 | mount-zfs.sh 4 | parse-zfs.sh 5 | zfs-lib.sh 6 | -------------------------------------------------------------------------------- /contrib/dracut/90zfs/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdracutdir = $(dracutdir)/modules.d/90zfs 2 | pkgdracut_SCRIPTS = \ 3 | export-zfs.sh \ 4 | module-setup.sh \ 5 | mount-zfs.sh \ 6 | parse-zfs.sh \ 7 | zfs-lib.sh 8 | 9 | EXTRA_DIST = \ 10 | $(top_srcdir)/contrib/dracut/90zfs/export-zfs.sh.in \ 11 | $(top_srcdir)/contrib/dracut/90zfs/module-setup.sh.in \ 12 | $(top_srcdir)/contrib/dracut/90zfs/mount-zfs.sh.in \ 13 | $(top_srcdir)/contrib/dracut/90zfs/parse-zfs.sh.in \ 14 | $(top_srcdir)/contrib/dracut/90zfs/zfs-lib.sh.in 15 | 16 | $(pkgdracut_SCRIPTS): 17 | -$(SED) -e 's,@bindir\@,$(bindir),g' \ 18 | -e 's,@sbindir\@,$(sbindir),g' \ 19 | -e 's,@udevdir\@,$(udevdir),g' \ 20 | -e 's,@udevruledir\@,$(udevruledir),g' \ 21 | -e 's,@sysconfdir\@,$(sysconfdir),g' \ 22 | "$(top_srcdir)/contrib/dracut/90zfs/$@.in" >'$@' 23 | 24 | distclean-local:: 25 | -$(RM) $(pkgdracut_SCRIPTS) 26 | -------------------------------------------------------------------------------- /contrib/dracut/90zfs/export-zfs.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . /lib/dracut-zfs-lib.sh 4 | 5 | _do_zpool_export() { 6 | local ret=0 7 | local final="${1}" 8 | local opts="" 9 | 10 | if [ "x${final}" != "x" ]; then 11 | opts="-f" 12 | fi 13 | 14 | info "Exporting ZFS storage pools." 15 | export_all ${opts} || ret=$? 16 | 17 | if [ "x${final}" != "x" ]; then 18 | info "zpool list" 19 | zpool list 2>&1 | vinfo 20 | fi 21 | 22 | return ${ret} 23 | } 24 | 25 | if command -v zpool >/dev/null; then 26 | _do_zpool_export "${1}" 27 | else 28 | : 29 | fi 30 | -------------------------------------------------------------------------------- /contrib/dracut/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = 90zfs 2 | 3 | EXTRA_DIST = README.dracut.markdown 4 | -------------------------------------------------------------------------------- /contrib/initramfs/Makefile.am: -------------------------------------------------------------------------------- 1 | initrddir = $(datarootdir)/initramfs-tools 2 | 3 | initrd_SCRIPTS = conf-hooks.d/zfs hooks/zfs scripts/zfs 4 | 5 | EXTRA_DIST = \ 6 | $(top_srcdir)/contrib/initramfs/conf-hooks.d/zfs \ 7 | $(top_srcdir)/contrib/initramfs/hooks/zfs \ 8 | $(top_srcdir)/contrib/initramfs/scripts/zfs \ 9 | $(top_srcdir)/contrib/initramfs/README.initramfs.markdown 10 | 11 | install-initrdSCRIPTS: $(EXTRA_DIST) 12 | for d in conf-hooks.d hooks scripts; do \ 13 | $(MKDIR_P) $(DESTDIR)$(initrddir)/$$d; \ 14 | cp $(top_srcdir)/contrib/initramfs/$$d/zfs \ 15 | $(DESTDIR)$(initrddir)/$$d/; \ 16 | done 17 | if [ -f etc/init.d/zfs ]; then \ 18 | $(MKDIR_P) $(DESTDIR)$(DEFAULT_INITCONF_DIR); \ 19 | cp $(top_srcdir)/etc/init.d/zfs \ 20 | $(DESTDIR)$(DEFAULT_INITCONF_DIR)/; \ 21 | fi 22 | -------------------------------------------------------------------------------- /contrib/initramfs/conf-hooks.d/zfs: -------------------------------------------------------------------------------- 1 | # Force the inclusion of Busybox in the initramfs. 2 | BUSYBOX=y 3 | -------------------------------------------------------------------------------- /etc/Makefile.am: -------------------------------------------------------------------------------- 1 | #O3X - remove linux specifics 2 | #SUBDIRS = zfs $(ZFS_INIT_LAUNCHD) $(ZFS_INIT_SYSTEMD) $(ZFS_INIT_SYSV) $(ZFS_MODULE_LOAD) 3 | #DIST_SUBDIRS = zfs launchd systemd init.d modules-load.d 4 | SUBDIRS = zfs $(ZFS_INIT_LAUNCHD) 5 | DIST_SUBDIRS = zfs launchd 6 | -------------------------------------------------------------------------------- /etc/init.d/.gitignore: -------------------------------------------------------------------------------- 1 | zfs-functions 2 | zfs-import 3 | zfs-mount 4 | zfs-share 5 | zfs-zed 6 | zfs 7 | -------------------------------------------------------------------------------- /etc/launchd/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = daemons launchd.d 2 | -------------------------------------------------------------------------------- /etc/launchd/daemons/.gitignore: -------------------------------------------------------------------------------- 1 | org.openzfsonosx.zconfigd.plist 2 | org.openzfsonosx.zed.plist 3 | org.openzfsonosx.zpool-import-all.plist 4 | org.openzfsonosx.InvariantDisks.plist 5 | -------------------------------------------------------------------------------- /etc/launchd/daemons/launchd-daemons.am: -------------------------------------------------------------------------------- 1 | launchddaemon_DATA = \ 2 | $(top_srcdir)/etc/launchd/daemons/org.openzfsonosx.zconfigd.plist \ 3 | $(top_srcdir)/etc/launchd/daemons/org.openzfsonosx.zed.plist \ 4 | $(top_srcdir)/etc/launchd/daemons/org.openzfsonosx.zpool-import-all.plist \ 5 | $(top_srcdir)/etc/launchd/daemons/org.openzfsonosx.InvariantDisks.plist 6 | -------------------------------------------------------------------------------- /etc/launchd/daemons/org.openzfsonosx.InvariantDisks.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.openzfsonosx.InvariantDisks 7 | ProgramArguments 8 | 9 | @sbindir@/InvariantDisks 10 | 11 | RunAtLoad 12 | 13 | KeepAlive 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /etc/launchd/daemons/org.openzfsonosx.zconfigd.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.openzfsonosx.zconfigd 7 | ProgramArguments 8 | 9 | @sbindir@/zconfigd 10 | 11 | RunAtLoad 12 | 13 | KeepAlive 14 | 15 | StandardErrorPath 16 | /private/var/log/org.openzfsonosx.zconfigd.err 17 | StandardOutPath 18 | /private/var/log/org.openzfsonosx.zconfigd.log 19 | 20 | 21 | -------------------------------------------------------------------------------- /etc/launchd/daemons/org.openzfsonosx.zed.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.openzfsonosx.zed 7 | ProgramArguments 8 | 9 | @sbindir@/zed 10 | -vfF 11 | 12 | RunAtLoad 13 | 14 | KeepAlive 15 | 16 | StandardErrorPath 17 | /private/var/log/org.openzfsonosx.zed.err 18 | StandardOutPath 19 | /private/var/log/org.openzfsonosx.zed.log 20 | 21 | 22 | -------------------------------------------------------------------------------- /etc/launchd/daemons/org.openzfsonosx.zpool-import-all.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.openzfsonosx.zpool-import-all 7 | ProgramArguments 8 | 9 | @launchdscriptdir@/zpool-import-all.sh 10 | 11 | RunAtLoad 12 | 13 | StandardErrorPath 14 | /private/var/log/org.openzfsonosx.zpool-import-all.err 15 | StandardOutPath 16 | /private/var/log/org.openzfsonosx.zpool-import-all.log 17 | 18 | 19 | -------------------------------------------------------------------------------- /etc/launchd/launchd.d/.gitignore: -------------------------------------------------------------------------------- 1 | zpool-import-all.sh 2 | -------------------------------------------------------------------------------- /etc/launchd/launchd.d/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | 3 | launchdscript_SCRIPTS = \ 4 | zpool-import-all.sh 5 | 6 | CLEANFILES = $(launchdscript_SCRIPTS) 7 | 8 | EXTRA_DIST = \ 9 | $(top_srcdir)/etc/launchd/launchd.d/zpool-import-all.sh.in 10 | 11 | do_subst = -$(SED) -e 's,@bindir\@,$(bindir),g' \ 12 | -e 's,@runstatedir\@,$(runstatedir),g' \ 13 | -e 's,@sbindir\@,$(sbindir),g' \ 14 | -e 's,@sysconfdir\@,$(sysconfdir),g' \ 15 | -e 's,@launchdscriptdir\@,$(launchdscriptdir),g' 16 | 17 | zpool-import-all.sh: zpool-import-all.sh.in 18 | $(do_subst) < $(top_srcdir)/etc/launchd/launchd.d/zpool-import-all.sh.in > zpool-import-all.sh 19 | chmod +x zpool-import-all.sh 20 | -------------------------------------------------------------------------------- /etc/modules-load.d/.gitignore: -------------------------------------------------------------------------------- 1 | *.conf 2 | -------------------------------------------------------------------------------- /etc/modules-load.d/Makefile.am: -------------------------------------------------------------------------------- 1 | modulesload_DATA = \ 2 | zfs.conf 3 | 4 | EXTRA_DIST = \ 5 | $(top_srcdir)/etc/modules-load.d/zfs.conf.in 6 | 7 | $(modulesload_DATA): 8 | -$(SED) \ 9 | -e '' \ 10 | "$(top_srcdir)/etc/modules-load.d/$@.in" >'$@' 11 | 12 | distclean-local:: 13 | -$(RM) $(modulesload_DATA) 14 | -------------------------------------------------------------------------------- /etc/modules-load.d/zfs.conf.in: -------------------------------------------------------------------------------- 1 | zfs 2 | -------------------------------------------------------------------------------- /etc/systemd/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = system 2 | -------------------------------------------------------------------------------- /etc/systemd/system/.gitignore: -------------------------------------------------------------------------------- 1 | *.service 2 | *.target 3 | *.preset 4 | -------------------------------------------------------------------------------- /etc/systemd/system/50-zfs.preset.in: -------------------------------------------------------------------------------- 1 | # ZFS is enabled by default 2 | enable zfs.* 3 | -------------------------------------------------------------------------------- /etc/systemd/system/zed.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=ZFS Event Daemon (zed) 3 | Documentation=man:zed(8) 4 | After=zfs-import-cache.service 5 | After=zfs-import-scan.service 6 | 7 | [Service] 8 | ExecStart=@sbindir@/zed -F 9 | Restart=on-abort 10 | -------------------------------------------------------------------------------- /etc/systemd/system/zfs-import-cache.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Import ZFS pools by cache file 3 | DefaultDependencies=no 4 | Requires=systemd-udev-settle.service 5 | After=systemd-udev-settle.service 6 | After=cryptsetup.target 7 | ConditionPathExists=@sysconfdir@/zfs/zpool.cache 8 | 9 | [Service] 10 | Type=oneshot 11 | RemainAfterExit=yes 12 | ExecStartPre=/sbin/modprobe zfs 13 | ExecStart=@sbindir@/zpool import -c @sysconfdir@/zfs/zpool.cache -aN 14 | -------------------------------------------------------------------------------- /etc/systemd/system/zfs-import-scan.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Import ZFS pools by device scanning 3 | DefaultDependencies=no 4 | Requires=systemd-udev-settle.service 5 | After=systemd-udev-settle.service 6 | After=cryptsetup.target 7 | ConditionPathExists=!@sysconfdir@/zfs/zpool.cache 8 | 9 | [Service] 10 | Type=oneshot 11 | RemainAfterExit=yes 12 | ExecStartPre=/sbin/modprobe zfs 13 | ExecStart=@sbindir@/zpool import -d /dev/disk/by-id -aN 14 | -------------------------------------------------------------------------------- /etc/systemd/system/zfs-mount.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Mount ZFS filesystems 3 | DefaultDependencies=no 4 | Wants=zfs-import-cache.service 5 | Wants=zfs-import-scan.service 6 | Requires=systemd-udev-settle.service 7 | After=systemd-udev-settle.service 8 | After=zfs-import-cache.service 9 | After=zfs-import-scan.service 10 | Before=local-fs.target 11 | 12 | [Service] 13 | Type=oneshot 14 | RemainAfterExit=yes 15 | ExecStart=@sbindir@/zfs mount -a 16 | -------------------------------------------------------------------------------- /etc/systemd/system/zfs-share.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=ZFS file system shares 3 | After=nfs-server.service 4 | After=smb.service 5 | After=zfs-mount.service 6 | Requires=zfs-mount.service 7 | PartOf=nfs-server.service 8 | PartOf=smb.service 9 | 10 | [Service] 11 | Type=oneshot 12 | RemainAfterExit=yes 13 | ExecStartPre=-@bindir@/rm /etc/dfs/sharetab 14 | ExecStart=@sbindir@/zfs share -a 15 | -------------------------------------------------------------------------------- /etc/systemd/system/zfs.target.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=ZFS startup target 3 | Requires=zfs-mount.service 4 | Requires=zfs-share.service 5 | Wants=zed.service 6 | 7 | [Install] 8 | WantedBy=multi-user.target 9 | -------------------------------------------------------------------------------- /etc/zfs/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgsysconfdir = $(sysconfdir)/zfs 2 | 3 | pkgsysconf_DATA = \ 4 | vdev_id.conf.alias.example \ 5 | vdev_id.conf.sas_direct.example \ 6 | vdev_id.conf.sas_switch.example \ 7 | vdev_id.conf.multipath.example \ 8 | zsysctl.conf.example 9 | 10 | EXTRA_DIST = $(pkgsysconf_DATA) 11 | -------------------------------------------------------------------------------- /etc/zfs/vdev_id.conf.alias.example: -------------------------------------------------------------------------------- 1 | # by-vdev 2 | # name fully qualified or base name of device link 3 | alias d1 /dev/disk/by-id/wwn-0x5000c5002de3b9ca 4 | alias d2 wwn-0x5000c5002def789e 5 | -------------------------------------------------------------------------------- /etc/zfs/vdev_id.conf.multipath.example: -------------------------------------------------------------------------------- 1 | multipath yes 2 | 3 | # PCI_ID HBA PORT CHANNEL NAME 4 | channel 85:00.0 1 A 5 | channel 85:00.0 0 B 6 | channel 86:00.0 1 A 7 | channel 86:00.0 0 B 8 | -------------------------------------------------------------------------------- /etc/zfs/vdev_id.conf.sas_direct.example: -------------------------------------------------------------------------------- 1 | multipath no 2 | topology sas_direct 3 | phys_per_port 4 4 | 5 | # PCI_ID HBA PORT CHANNEL NAME 6 | channel 85:00.0 1 A 7 | channel 85:00.0 0 B 8 | channel 86:00.0 1 C 9 | channel 86:00.0 0 D 10 | 11 | 12 | # Custom mapping for Channel A 13 | 14 | # Linux Mapped 15 | # Slot Slot Channel 16 | slot 1 7 A 17 | slot 2 10 A 18 | slot 3 3 A 19 | slot 4 6 A 20 | 21 | # Default mapping for B, C, and D 22 | slot 1 4 23 | slot 2 2 24 | slot 3 1 25 | slot 4 3 26 | -------------------------------------------------------------------------------- /etc/zfs/vdev_id.conf.sas_switch.example: -------------------------------------------------------------------------------- 1 | topology sas_switch 2 | 3 | # SWITCH PORT CHANNEL NAME 4 | channel 1 A 5 | channel 2 B 6 | channel 3 C 7 | channel 4 D 8 | -------------------------------------------------------------------------------- /etc/zfs/zsysctl.conf.example: -------------------------------------------------------------------------------- 1 | # Uses the standard SYSCTL.CONF(5) format. 2 | # Comments are denoted by a "#" at the beginning of a line. 3 | 4 | # It is highly recommended to put a date and justification as comments 5 | # alongside each tuning. 6 | 7 | # The zfs_arc_max parameter is in bytes and accepts decimal or 8 | # hexadecimal values. The following text shows how to set this parameter 9 | # to 11 GB, as an example: 10 | 11 | # 10 Mar 2015; ilovezfs 12 | # Cap the ARC to 11 GB reserving 5 GB for applications. 13 | # 11 * 2^30 = 11,811,160,064 14 | kstat.zfs.darwin.tunable.zfs_arc_max=11811160064 15 | 16 | # As another example, let's raise the zfs_arc_meta_limit: 17 | 18 | # 10 Mar 2015; ilovezfs 19 | # Raise zfs_arc_meta_limit to 3/4 (instead of 1/4) of zfs_arc_max. 20 | # 3/4 * (11 * 2^30) = 8,858,370,048 21 | # But let's use hexadecimal this time. 22 | # 8,858,370,048 = 0x210000000 23 | kstat.zfs.darwin.tunable.zfs_arc_meta_limit=0x210000000 24 | -------------------------------------------------------------------------------- /include/.gitignore: -------------------------------------------------------------------------------- 1 | /zfs_gitrev.h 2 | -------------------------------------------------------------------------------- /include/linux/Makefile.am: -------------------------------------------------------------------------------- 1 | COMMON_H = 2 | 3 | KERNEL_H = \ 4 | $(top_srcdir)/include/linux/dcache_compat.h \ 5 | $(top_srcdir)/include/linux/xattr_compat.h \ 6 | $(top_srcdir)/include/linux/vfs_compat.h \ 7 | $(top_srcdir)/include/linux/blkdev_compat.h \ 8 | $(top_srcdir)/include/linux/utsname_compat.h \ 9 | $(top_srcdir)/include/linux/kmap_compat.h 10 | 11 | USER_H = 12 | 13 | #EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H) 14 | 15 | if CONFIG_USER 16 | #libzfsdir = $(includedir)/libzfs/linux 17 | #libzfs_HEADERS = $(COMMON_H) $(USER_H) 18 | libzfsdir = 19 | libzfs_HEADERS = 20 | endif 21 | 22 | if CONFIG_KERNEL 23 | #kerneldir = @prefix@/src/zfs-$(VERSION)/include/linux 24 | #kernel_HEADERS = $(COMMON_H) $(KERNEL_H) 25 | kerneldir = 26 | kernel_HEADERS = 27 | endif 28 | -------------------------------------------------------------------------------- /include/sys/crypto/Makefile.am: -------------------------------------------------------------------------------- 1 | COMMON_H = \ 2 | $(top_srcdir)/include/sys/crypto/api.h \ 3 | $(top_srcdir)/include/sys/crypto/common.h \ 4 | $(top_srcdir)/include/sys/crypto/icp.h 5 | 6 | KERNEL_H = 7 | 8 | USER_H = 9 | 10 | EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H) 11 | 12 | if CONFIG_USER 13 | libzfsdir = $(includedir)/libzfs/sys/crypto 14 | libzfs_HEADERS = $(COMMON_H) $(USER_H) 15 | endif 16 | 17 | if CONFIG_KERNEL 18 | kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/crypto 19 | kernel_HEADERS = $(COMMON_H) $(KERNEL_H) 20 | endif 21 | -------------------------------------------------------------------------------- /include/sys/fm/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = fs 2 | 3 | COMMON_H = \ 4 | $(top_srcdir)/include/sys/fm/protocol.h \ 5 | $(top_srcdir)/include/sys/fm/util.h 6 | 7 | KERNEL_H = 8 | 9 | USER_H = 10 | 11 | #EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H) 12 | 13 | if CONFIG_USER 14 | #libzfsdir = $(includedir)/libzfs/sys/fm 15 | #libzfs_HEADERS = $(COMMON_H) $(USER_H) 16 | libzfsdir = 17 | libzfs_HEADERS = 18 | endif 19 | 20 | if CONFIG_KERNEL 21 | #kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm 22 | #kernel_HEADERS = $(COMMON_H) $(KERNEL_H) 23 | kerneldir = 24 | kernel_HEADERS = 25 | endif 26 | -------------------------------------------------------------------------------- /include/sys/fm/fs/Makefile.am: -------------------------------------------------------------------------------- 1 | COMMON_H = \ 2 | $(top_srcdir)/include/sys/fm/fs/zfs.h 3 | 4 | KERNEL_H = 5 | 6 | USER_H = 7 | 8 | #EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H) 9 | 10 | if CONFIG_USER 11 | #libzfsdir = $(includedir)/libzfs/sys/fm/fs 12 | #libzfs_HEADERS = $(COMMON_H) $(USER_H) 13 | libzfsdir = 14 | libzfs_HEADERS = 15 | endif 16 | 17 | if CONFIG_KERNEL 18 | #kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm/fs 19 | #kernel_HEADERS = $(COMMON_H) $(KERNEL_H) 20 | kerneldir = 21 | kernel_HEADERS = 22 | endif 23 | -------------------------------------------------------------------------------- /include/sys/fs/Makefile.am: -------------------------------------------------------------------------------- 1 | COMMON_H = \ 2 | $(top_srcdir)/include/sys/fs/zfs.h 3 | 4 | KERNEL_H = 5 | 6 | USER_H = 7 | 8 | #EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H) 9 | 10 | if CONFIG_USER 11 | #libzfsdir = $(includedir)/libzfs/sys/fs 12 | #libzfs_HEADERS = $(COMMON_H) $(USER_H) 13 | libzfsdir = 14 | libzfs_HEADERS = 15 | endif 16 | 17 | if CONFIG_KERNEL 18 | #kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fs 19 | #kernel_HEADERS = $(COMMON_H) $(KERNEL_H) 20 | kerneldir = 21 | kernel_HEADERS = 22 | endif 23 | -------------------------------------------------------------------------------- /include/sys/hkdf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2017, Datto, Inc. All rights reserved. 18 | */ 19 | 20 | #ifndef _SYS_HKDF_H_ 21 | #define _SYS_HKDF_H_ 22 | 23 | #include 24 | 25 | int hkdf_sha512(uint8_t *key_material, uint_t km_len, uint8_t *salt, 26 | uint_t salt_len, uint8_t *info, uint_t info_len, uint8_t *output_key, 27 | uint_t out_len); 28 | 29 | #endif /* _SYS_HKDF_H_ */ 30 | -------------------------------------------------------------------------------- /include/sys/lua/Makefile.am: -------------------------------------------------------------------------------- 1 | COMMON_H = \ 2 | $(top_srcdir)/include/sys/lua/lua.h \ 3 | $(top_srcdir)/include/sys/lua/luaconf.h \ 4 | $(top_srcdir)/include/sys/lua/lualib.h \ 5 | $(top_srcdir)/include/sys/lua/lauxlib.h 6 | 7 | KERNEL_H = 8 | 9 | USER_H = 10 | 11 | EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H) 12 | 13 | if CONFIG_USER 14 | libzfsdir = $(includedir)/libzfs/sys/lua 15 | libzfs_HEADERS = $(COMMON_H) $(USER_H) 16 | endif 17 | 18 | if CONFIG_KERNEL 19 | kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/lua 20 | kernel_HEADERS = $(COMMON_H) $(KERNEL_H) 21 | endif 22 | -------------------------------------------------------------------------------- /include/sys/zcp_global.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2016 by Delphix. All rights reserved. 18 | */ 19 | 20 | #ifndef _SYS_ZCP_GLOBALS_H 21 | #define _SYS_ZCP_GLOBALS_H 22 | 23 | #include 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | void zcp_load_globals(lua_State *); 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | 35 | #endif /* _SYS_ZCP_GLOBALS_H */ 36 | -------------------------------------------------------------------------------- /include/sys/zcp_prop.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2016 by Delphix. All rights reserved. 18 | */ 19 | 20 | #ifndef _SYS_ZCP_PROP_H 21 | #define _SYS_ZCP_PROP_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | int zcp_load_get_lib(lua_State *state); 28 | boolean_t prop_valid_for_ds(dsl_dataset_t *ds, zfs_prop_t zfs_prop); 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | 34 | #endif /* _SYS_ZCP_PROP_H */ 35 | -------------------------------------------------------------------------------- /lib/Makefile.am: -------------------------------------------------------------------------------- 1 | # NB: GNU Automake Manual, Chapter 8.3.5: Libtool Convenience Libraries 2 | # These six libraries are intermediary build components. 3 | SUBDIRS = libspl libavl libefi libshare libunicode libicp 4 | 5 | # These four libraries, which are installed as the final build product, 6 | # incorporate the six convenience libraries given above. 7 | SUBDIRS += libuutil libnvpair libzpool libzfs_core libzfs libdiskmgt 8 | -------------------------------------------------------------------------------- /lib/libavl/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) 6 | 7 | DEFAULT_INCLUDES += \ 8 | -I$(top_srcdir)/include \ 9 | -I$(top_srcdir)/lib/libspl/include 10 | 11 | noinst_LTLIBRARIES = libavl.la 12 | 13 | libavl_la_SOURCES = \ 14 | ../../module/avl/avl.c 15 | -------------------------------------------------------------------------------- /lib/libdiskmgt/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | DEFAULT_INCLUDES += \ 4 | -I$(top_srcdir)/include \ 5 | -I$(top_srcdir)/lib/libspl/include 6 | 7 | lib_LTLIBRARIES = libdiskmgt.la 8 | 9 | libdiskmgt_la_SOURCES = \ 10 | dm.c \ 11 | libdiskmgt.c \ 12 | diskutil.c \ 13 | entry.c \ 14 | inuse_corestorage.c \ 15 | inuse_fs.c \ 16 | inuse_macswap.c \ 17 | inuse_mnt.c \ 18 | inuse_partition.c \ 19 | inuse_zpool.c \ 20 | slice.c 21 | 22 | libdiskmgt_la_LIBADD = \ 23 | $(top_builddir)/lib/libnvpair/libnvpair.la 24 | 25 | libdiskmgt_la_LDFLAGS = -version-info 1:0:0 -framework DiskArbitration -framework CoreServices 26 | 27 | EXTRA_DIST = $(USER_C) 28 | -------------------------------------------------------------------------------- /lib/libefi/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) 6 | 7 | DEFAULT_INCLUDES += \ 8 | -I$(top_srcdir)/include \ 9 | -I$(top_srcdir)/lib/libspl/include 10 | 11 | noinst_LTLIBRARIES = libefi.la 12 | 13 | libefi_la_LDFLAGS= -framework DiskArbitration -framework CoreServices 14 | 15 | libefi_la_SOURCES = \ 16 | rdwr_efi.c 17 | -------------------------------------------------------------------------------- /lib/libnvpair/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) 6 | 7 | VPATH = $(top_srcdir)/module/nvpair \ 8 | $(top_srcdir)/lib/libnvpair 9 | 10 | DEFAULT_INCLUDES += \ 11 | -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/lib/libspl/include 13 | 14 | lib_LTLIBRARIES = libnvpair.la 15 | 16 | USER_C = \ 17 | libnvpair.c \ 18 | libnvpair_json.c \ 19 | nvpair_alloc_system.c 20 | 21 | KERNEL_C = \ 22 | nvpair_alloc_fixed.c \ 23 | nvpair.c \ 24 | fnvpair.c 25 | 26 | libnvpair_la_SOURCES = \ 27 | $(USER_C) \ 28 | $(KERNEL_C) 29 | 30 | libnvpair_la_LIBADD = \ 31 | $(top_builddir)/lib/libuutil/libuutil.la 32 | 33 | libnvpair_la_LDFLAGS = -version-info 1:1:0 34 | 35 | EXTRA_DIST = $(USER_C) 36 | -------------------------------------------------------------------------------- /lib/libshare/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | DEFAULT_INCLUDES += \ 6 | -I$(top_srcdir)/include \ 7 | -I$(top_srcdir)/lib/libspl/include 8 | 9 | noinst_LTLIBRARIES = libshare.la 10 | 11 | libshare_la_SOURCES = \ 12 | libshare_impl.h \ 13 | libshare.c \ 14 | nfs.c \ 15 | nfs.h \ 16 | smb.c \ 17 | smb.h \ 18 | afp.c \ 19 | afp.h 20 | -------------------------------------------------------------------------------- /lib/libshare/afp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | void libshare_afp_init(void); 23 | -------------------------------------------------------------------------------- /lib/libspl/asm-generic/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Normal rules 3 | # 4 | *.[oa] 5 | *.ko 6 | *.ko.unsigned 7 | *.ko.out 8 | *.ko.out.sig 9 | *.lo 10 | *.la 11 | *.mod.c 12 | *~ 13 | *.swp 14 | .*.cmd 15 | .deps 16 | .libs 17 | .DS_Store 18 | modules.order 19 | Makefile 20 | Makefile.in 21 | 22 | # 23 | # Top level generic files 24 | # 25 | !.gitignore 26 | tags 27 | TAGS 28 | cscope.* 29 | 30 | # Project-specific files 31 | atomic.S 32 | -------------------------------------------------------------------------------- /lib/libspl/asm-generic/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | DEFAULT_INCLUDES += \ 4 | -I$(top_srcdir)/lib/libspl/include 5 | 6 | atomic_SOURCE = atomic.c 7 | atomic_ASM = atomic.S 8 | 9 | COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 10 | $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -fPIC 11 | EXTRA_DIST = $(atomic_SOURCE) 12 | 13 | # Generates assembly to simplify inclusion in ../Makefile.am 14 | all-am: atomic.S 15 | 16 | atomic.S: atomic.c 17 | $(COMPILE) -g0 -c -S $(atomic_SOURCE) -o $(atomic_ASM) 18 | 19 | clean-generic: 20 | $(RM) $(atomic_ASM) 21 | -------------------------------------------------------------------------------- /lib/libspl/asm-i386/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_HEADERS = atomic.S 2 | -------------------------------------------------------------------------------- /lib/libspl/asm-x86_64/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_HEADERS = atomic.S 2 | -------------------------------------------------------------------------------- /lib/libspl/crypto/skein/THIRDPARTYLICENSE: -------------------------------------------------------------------------------- 1 | Implementation of the Skein hash function. 2 | Source code author: Doug Whiting, 2008. 3 | This algorithm and source code is released to the public domain. 4 | -------------------------------------------------------------------------------- /lib/libspl/crypto/skein/THIRDPARTYLICENSE.descrip: -------------------------------------------------------------------------------- 1 | LICENSE TERMS OF SKEIN HASH ALGORITHM IMPLEMENTATION 2 | -------------------------------------------------------------------------------- /lib/libspl/include/ia32/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = sys 2 | -------------------------------------------------------------------------------- /lib/libspl/include/ia32/sys/Makefile.am: -------------------------------------------------------------------------------- 1 | libspldir = $(includedir)/libspl/ia32/sys 2 | 3 | #O3X - prevent header install 4 | #libspl_HEADERS = \ 5 | # $(top_srcdir)/lib/libspl/include/ia32/sys/asm_linkage.h 6 | 7 | libspl_HEADERS = 8 | -------------------------------------------------------------------------------- /lib/libspl/include/libintl.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBSPL_LIBINTL_H 2 | #define LIBSPL_LIBINTL_H 3 | 4 | #ifdef HAVE_GETTEXT 5 | 6 | #else 7 | #define gettext(str) (str) 8 | #define dgettext(domain, str) (str) 9 | #endif 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /lib/libspl/include/rpc/Makefile.am: -------------------------------------------------------------------------------- 1 | libspldir = $(includedir)/libspl/rpc 2 | 3 | # O3X - prevent header install 4 | #libspl_HEADERS = \ 5 | # $(top_srcdir)/lib/libspl/include/rpc/types.h \ 6 | # $(top_srcdir)/lib/libspl/include/rpc/xdr.h 7 | libspl_HEADERS = 8 | -------------------------------------------------------------------------------- /lib/libspl/include/sys/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = dktp sysevent 2 | 3 | libspldir = $(includedir)/libspl/sys 4 | 5 | libspl_HEADERS = 6 | 7 | -------------------------------------------------------------------------------- /lib/libspl/include/sys/dktp/Makefile.am: -------------------------------------------------------------------------------- 1 | libspldir = $(includedir)/libspl/sys/dktp 2 | #O3X - prevent header install 3 | #libspl_HEADERS = \ 4 | # $(top_srcdir)/lib/libspl/include/sys/dktp/fdisk.h 5 | libspl_HEADERS = 6 | -------------------------------------------------------------------------------- /lib/libspl/include/sys/kernel_types.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBSPL_SYS_KERNEL_TYPES_H 2 | #define LIBSPL_SYS_KERNEL_TYPES_H 3 | 4 | #undef vnode_t 5 | #undef uio_t 6 | #include_next 7 | #define vnode_t struct vnode 8 | #define uio_t struct uio 9 | 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /lib/libspl/include/sys/sysevent/Makefile.am: -------------------------------------------------------------------------------- 1 | libspldir = $(includedir)/libspl/sys/sysevent 2 | #O3X - prevent header install 3 | #libspl_HEADERS = \ 4 | # $(top_srcdir)/lib/libspl/include/sys/sysevent/eventdefs.h 5 | libspl_HEADERS = 6 | -------------------------------------------------------------------------------- /lib/libspl/include/sys/timer.h: -------------------------------------------------------------------------------- 1 | #ifndef _LIBSPL_TIMER_H 2 | #define _LIBSPL_TIMER_H 3 | 4 | 5 | #endif /* _LIBSPL_TIMER_H */ 6 | -------------------------------------------------------------------------------- /lib/libspl/include/sys/vfs.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBSPL_VFS_H_INCLUDED 2 | #define LIBSPL_VFS_H_INCLUDED 3 | 4 | 5 | 6 | 7 | 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /lib/libspl/include/util/Makefile.am: -------------------------------------------------------------------------------- 1 | libspldir = $(includedir)/libspl 2 | 3 | #O3X - prevent header install 4 | #libspl_HEADERS = \ 5 | # $(top_srcdir)/lib/libspl/include/util/sscanf.h 6 | libspl_HEADERS = -------------------------------------------------------------------------------- /lib/libunicode/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | VPATH = $(top_srcdir)/module/unicode 6 | 7 | AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) 8 | 9 | DEFAULT_INCLUDES += \ 10 | -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/lib/libspl/include 12 | 13 | noinst_LTLIBRARIES = libunicode.la 14 | 15 | libunicode_la_SOURCES = \ 16 | u8_textprep.c \ 17 | uconv.c 18 | -------------------------------------------------------------------------------- /lib/libuutil/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AUTOMAKE_OPTIONS = subdir-objects 4 | 5 | AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) 6 | 7 | DEFAULT_INCLUDES += \ 8 | -I$(top_srcdir)/include \ 9 | -I$(top_srcdir)/lib/libspl/include 10 | 11 | lib_LTLIBRARIES = libuutil.la 12 | 13 | libuutil_la_SOURCES = \ 14 | uu_alloc.c \ 15 | uu_avl.c \ 16 | uu_dprintf.c \ 17 | uu_ident.c \ 18 | uu_list.c \ 19 | uu_misc.c \ 20 | uu_open.c \ 21 | uu_pname.c \ 22 | uu_string.c \ 23 | uu_strtoint.c 24 | 25 | libuutil_la_LIBADD = \ 26 | $(top_builddir)/lib/libavl/libavl.la \ 27 | $(top_builddir)/lib/libspl/libspl.la \ 28 | $(top_builddir)/lib/libefi/libefi.la 29 | 30 | libuutil_la_LDFLAGS = -version-info 1:1:0 31 | 32 | EXTRA_DIST = $(USER_C) 33 | -------------------------------------------------------------------------------- /lib/libzfs/.gitignore: -------------------------------------------------------------------------------- 1 | /libzfs.pc 2 | /libzfs_core.pc 3 | -------------------------------------------------------------------------------- /lib/libzfs/libzfs.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libzfs 7 | Description: LibZFS library 8 | Version: @VERSION@ 9 | URL: http://zfsonlinux.org 10 | Requires: libzfs_core 11 | Cflags: -I${includedir}/libzfs -I${includedir}/libspl 12 | Libs: -L${libdir} -lzfs 13 | -------------------------------------------------------------------------------- /lib/libzfs/libzfs_core.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libzfs_core 7 | Description: LibZFS core library 8 | Version: @VERSION@ 9 | URL: http://zfsonlinux.org 10 | Cflags: -I${includedir}/libzfs -I${includedir}/libspl 11 | Libs: -L${libdir} -lzfs_core 12 | -------------------------------------------------------------------------------- /lib/libzfs_core/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | DEFAULT_INCLUDES += \ 4 | -I$(top_srcdir)/include \ 5 | -I$(top_srcdir)/lib/libspl/include 6 | 7 | lib_LTLIBRARIES = libzfs_core.la 8 | 9 | libzfs_core_la_SOURCES = \ 10 | libzfs_core.c 11 | 12 | libzfs_core_la_LIBADD = \ 13 | $(top_builddir)/lib/libnvpair/libnvpair.la \ 14 | $(top_builddir)/lib/libuutil/libuutil.la 15 | 16 | libzfs_core_la_LDFLAGS = -version-info 1:0:0 17 | 18 | EXTRA_DIST = $(USER_C) 19 | -------------------------------------------------------------------------------- /load.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rsync -ar module/zfs/zfs.kext/ /tmp/zfs.kext/ 4 | rsync -ar ../spl/module/spl/spl.kext/ /tmp/spl.kext/ 5 | 6 | chown -R root:wheel /tmp/spl.kext /tmp/zfs.kext 7 | 8 | kextload -v /tmp/spl.kext 9 | 10 | kextload -v -r /tmp/spl.kext /tmp/zfs.kext 11 | 12 | 13 | # script -q /dev/null log stream --source --predicate 'senderImagePath CONTAINS "zfs" OR senderImagePath CONTAINS "spl"' | cut -c 80- 14 | 15 | # log stream --source --predicate 'sender == "zfs" OR sender == "spl"' --style compact -------------------------------------------------------------------------------- /man/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = man1 man5 man8 2 | -------------------------------------------------------------------------------- /man/man1/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_man_MANS = zhack.1 zpios.1 ztest.1 2 | EXTRA_DIST = cstyle.1 3 | 4 | install-data-local: 5 | $(INSTALL) -d -m 0755 "$(DESTDIR)$(mandir)/man1" 6 | -------------------------------------------------------------------------------- /man/man5/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_man_MANS = vdev_id.conf.5 zpool-features.5 zfs-module-parameters.5 zfs-events.5 2 | 3 | install-data-local: 4 | $(INSTALL) -d -m 0755 "$(DESTDIR)$(mandir)/man5" 5 | -------------------------------------------------------------------------------- /man/man8/.gitignore: -------------------------------------------------------------------------------- 1 | /zed.8 2 | -------------------------------------------------------------------------------- /man/man8/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_man_MANS = \ 2 | fsck.zfs.8 \ 3 | mount.zfs.8 \ 4 | vdev_id.8 \ 5 | zdb.8 \ 6 | zfs.8 \ 7 | zfs-program.8 \ 8 | zinject.8 \ 9 | zpool.8 \ 10 | zstreamdump.8 11 | 12 | nodist_man_MANS = \ 13 | zed.8 14 | 15 | EXTRA_DIST = \ 16 | zed.8.in 17 | 18 | zed.8: $(srcdir)/zed.8.in 19 | 20 | do_subst = $(SED) \ 21 | -e 's|@libexecdir[@]|$(libexecdir)|g' \ 22 | -e 's|@runstatedir[@]|$(runstatedir)|g' \ 23 | -e 's|@sysconfdir[@]|$(sysconfdir)|g' 24 | 25 | $(nodist_man_MANS): Makefile 26 | $(RM) $@ $@.tmp 27 | srcdir=''; \ 28 | test -f ./$@.in || srcdir=$(srcdir)/; \ 29 | $(do_subst) $${srcdir}$@.in >$@.tmp 30 | mv $@.tmp $@ 31 | 32 | install-data-local: 33 | $(INSTALL) -d -m 0755 "$(DESTDIR)$(mandir)/man8" 34 | 35 | CLEANFILES = \ 36 | $(nodist_man_MANS) 37 | -------------------------------------------------------------------------------- /module/.gitignore: -------------------------------------------------------------------------------- 1 | *.ko 2 | *.ko.unsigned 3 | *.ko.out 4 | *.ko.out.sig 5 | .*.cmd 6 | 7 | /.tmp_versions 8 | /Module.markers 9 | /Module.symvers 10 | -------------------------------------------------------------------------------- /module/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS=zfs 3 | 4 | -------------------------------------------------------------------------------- /module/avl/Makefile.in: -------------------------------------------------------------------------------- 1 | src = @abs_top_srcdir@/module/avl 2 | obj = @abs_builddir@ 3 | 4 | MODULE := zavl 5 | 6 | EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@ 7 | 8 | obj-$(CONFIG_ZFS) := $(MODULE).o 9 | 10 | $(MODULE)-objs += avl.o 11 | -------------------------------------------------------------------------------- /module/icp/algs/skein/THIRDPARTYLICENSE: -------------------------------------------------------------------------------- 1 | Implementation of the Skein hash function. 2 | Source code author: Doug Whiting, 2008. 3 | This algorithm and source code is released to the public domain. 4 | -------------------------------------------------------------------------------- /module/icp/algs/skein/THIRDPARTYLICENSE.descrip: -------------------------------------------------------------------------------- 1 | LICENSE TERMS OF SKEIN HASH ALGORITHM IMPLEMENTATION 2 | -------------------------------------------------------------------------------- /module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman.descrip: -------------------------------------------------------------------------------- 1 | PORTIONS OF AES FUNCTIONALITY 2 | -------------------------------------------------------------------------------- /module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl.descrip: -------------------------------------------------------------------------------- 1 | PORTIONS OF AES FUNCTIONALITY 2 | -------------------------------------------------------------------------------- /module/lua/lapi.h: -------------------------------------------------------------------------------- 1 | /* BEGIN CSTYLED */ 2 | /* 3 | ** $Id: lapi.h,v 2.7.1.1 2013/04/12 18:48:47 roberto Exp $ 4 | ** Auxiliary functions from Lua API 5 | ** See Copyright Notice in lua.h 6 | */ 7 | 8 | #ifndef lapi_h 9 | #define lapi_h 10 | 11 | 12 | #include "llimits.h" 13 | #include "lstate.h" 14 | 15 | #define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \ 16 | "stack overflow");} 17 | 18 | #define adjustresults(L,nres) \ 19 | { if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; } 20 | 21 | #define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \ 22 | "not enough elements in the stack") 23 | 24 | 25 | #endif 26 | /* END CSTYLED */ 27 | -------------------------------------------------------------------------------- /module/lua/setjmp/setjmp.S: -------------------------------------------------------------------------------- 1 | #if defined(__x86_64__) 2 | #include "setjmp_x86_64.S" 3 | #elif defined(__i386__) 4 | #include "setjmp_i386.S" 5 | #elif defined(__aarch64__) 6 | #include "setjmp_aarch64.S" 7 | #elif defined(__arm__) 8 | #include "setjmp_arm.S" 9 | #elif defined(__sparc__) && defined(__arch64__) 10 | #include "setjmp_sparc64.S" 11 | #elif defined(__powerpc__) 12 | #include "setjmp_ppc.S" 13 | #elif defined(__mips__) 14 | #include "setjmp_mips.S" 15 | #elif defined(__s390x__) 16 | #include "setjmp_s390x.S" 17 | #endif 18 | -------------------------------------------------------------------------------- /module/nvpair/Makefile.in: -------------------------------------------------------------------------------- 1 | src = @abs_top_srcdir@/module/nvpair 2 | obj = @abs_builddir@ 3 | 4 | MODULE := znvpair 5 | 6 | EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@ 7 | 8 | obj-$(CONFIG_ZFS) := $(MODULE).o 9 | 10 | $(MODULE)-objs += nvpair.o 11 | $(MODULE)-objs += fnvpair.o 12 | $(MODULE)-objs += nvpair_alloc_spl.o 13 | $(MODULE)-objs += nvpair_alloc_fixed.o 14 | -------------------------------------------------------------------------------- /module/unicode/Makefile.in: -------------------------------------------------------------------------------- 1 | src = @abs_top_srcdir@/module/unicode 2 | obj = @abs_builddir@ 3 | 4 | MODULE := zunicode 5 | 6 | EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@ 7 | 8 | obj-$(CONFIG_ZFS) := $(MODULE).o 9 | 10 | $(MODULE)-objs += u8_textprep.o 11 | $(MODULE)-objs += uconv.o 12 | -------------------------------------------------------------------------------- /module/zfs/.gitignore: -------------------------------------------------------------------------------- 1 | /zfs 2 | /zfs.kext 3 | /KernelExports.kext 4 | -------------------------------------------------------------------------------- /module/zfs/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /module/zfs/load_zfs: -------------------------------------------------------------------------------- 1 | 2 | rsync -ar --delete zfs.kext/ /tmp/zfs.kext/ 3 | chown -R root:wheel /tmp/zfs.kext 4 | kextload -r /tmp/ -v /tmp/zfs.kext/ 5 | -------------------------------------------------------------------------------- /module/zpios/Makefile.in: -------------------------------------------------------------------------------- 1 | src = @abs_top_srcdir@/module/zpios 2 | obj = @abs_builddir@ 3 | 4 | MODULE := zpios 5 | 6 | EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@ 7 | 8 | obj-$(CONFIG_ZFS) := $(MODULE).o 9 | 10 | $(MODULE)-objs += pios.o 11 | -------------------------------------------------------------------------------- /rpm/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = generic redhat 2 | -------------------------------------------------------------------------------- /rpm/fedora/.gitignore: -------------------------------------------------------------------------------- 1 | /zfs-dkms.spec 2 | /zfs-kmod.spec 3 | /zfs.spec 4 | -------------------------------------------------------------------------------- /rpm/fedora/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = zfs.spec.in zfs-kmod.spec.in zfs-dkms.spec.in 2 | -------------------------------------------------------------------------------- /rpm/fedora/zfs-dkms.spec.in: -------------------------------------------------------------------------------- 1 | ../generic/zfs-dkms.spec.in -------------------------------------------------------------------------------- /rpm/fedora/zfs-kmod.spec.in: -------------------------------------------------------------------------------- 1 | ../generic/zfs-kmod.spec.in -------------------------------------------------------------------------------- /rpm/fedora/zfs.spec.in: -------------------------------------------------------------------------------- 1 | ../generic/zfs.spec.in -------------------------------------------------------------------------------- /rpm/generic/.gitignore: -------------------------------------------------------------------------------- 1 | /zfs-dkms.spec 2 | /zfs-kmod.spec 3 | /zfs.spec 4 | -------------------------------------------------------------------------------- /rpm/generic/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = zfs.spec.in zfs-kmod.spec.in zfs-dkms.spec.in 2 | -------------------------------------------------------------------------------- /rpm/redhat/.gitignore: -------------------------------------------------------------------------------- 1 | /zfs-dkms.spec 2 | /zfs-kmod.spec 3 | /zfs.spec 4 | -------------------------------------------------------------------------------- /rpm/redhat/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = zfs.spec.in zfs-kmod.spec.in zfs-dkms.spec.in 2 | -------------------------------------------------------------------------------- /rpm/redhat/zfs-dkms.spec.in: -------------------------------------------------------------------------------- 1 | ../generic/zfs-dkms.spec.in -------------------------------------------------------------------------------- /rpm/redhat/zfs.spec.in: -------------------------------------------------------------------------------- 1 | ../generic/zfs.spec.in -------------------------------------------------------------------------------- /scripts/.gitignore: -------------------------------------------------------------------------------- 1 | common.sh 2 | -------------------------------------------------------------------------------- /scripts/dkms.postbuild: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROG=$0 4 | 5 | while getopts "a:k:n:t:v:" opt; do 6 | case $opt in 7 | a) arch=$OPTARG ;; 8 | k) kver=$OPTARG ;; 9 | n) pkgname=$OPTARG ;; 10 | t) tree=$OPTARG ;; 11 | v) pkgver=$OPTARG ;; 12 | esac 13 | done 14 | 15 | if [ -z "${arch}" -o -z "${kver}" -o -z "${pkgname}" -o \ 16 | -z "${tree}" -o -z "${pkgver}" ]; then 17 | echo "Usage: $PROG -a -k -n " \ 18 | "-t -v " 19 | exit 1 20 | fi 21 | 22 | cp ${tree}/${pkgname}/${pkgver}/build/zfs_config.h \ 23 | ${tree}/${pkgname}/${pkgver}/build/module/Module.symvers \ 24 | ${tree}/${pkgname}/${pkgver}/${kver}/${arch}/ 25 | -------------------------------------------------------------------------------- /scripts/man-dates.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script updates the date lines in the man pages to the date of the last 4 | # commit to that file. 5 | 6 | set -eu 7 | 8 | find man -type f | while read -r i ; do 9 | git_date=$(git log -1 --date=short --format="%ad" -- "$i") 10 | [ "x$git_date" = "x" ] && continue 11 | sed -i "s|^\.Dd.*|.Dd $(date -d "$git_date" "+%B %-d, %Y")|" "$i" 12 | done 13 | -------------------------------------------------------------------------------- /scripts/openzfs_cherrypick.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # $0 $commit --dry-run 4 | # 5 | # lundman 6 | 7 | # Assume people run this from top of 'zfs', and ../openzfs is upstream 8 | OPENZFS=../openzfs 9 | MAP=scripts/zfs2osx-patch.sed 10 | 11 | (cd $OPENZFS && git format-patch -1 $1 --stdout) > /tmp/patch.zfs 12 | $MAP < /tmp/patch.zfs > /tmp/patch.o3x 13 | git apply --check --ignore-space-change --ignore-whitespace --reject /tmp/patch.o3x 14 | 15 | if [ $? = 0 ]; then 16 | 17 | if [ x"$2" = x"--apply" ]; then 18 | git am --ignore-space-change --ignore-whitespace --reject /tmp/patch.o3x 19 | exit $? 20 | fi 21 | echo "Re-run command with --apply to commit" 22 | fi 23 | 24 | -------------------------------------------------------------------------------- /scripts/zed.service.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | syslog_echo() 5 | { 6 | /usr/bin/syslog -s -l notice "$1" 7 | } 8 | 9 | if [ -c /dev/zfs ] ; then 10 | if [ x"$(pgrep zed)" = x ] ; then 11 | /usr/local/sbin/zed 12 | if [ x"$(pgrep zed)" = x ] ; then 13 | syslog_echo "zed failed to start" 14 | else 15 | syslog_echo "zed started" 16 | fi 17 | fi 18 | else 19 | if [ x"$(pgrep zed)" != x ] ; then 20 | sleep 1 21 | zedpid=`pgrep zed` 22 | if [ x"${zedpid}" != x ] ; then 23 | kill ${zedpid} 24 | fi 25 | if [ x"$(pgrep zed)" != x ] ; then 26 | syslog_echo "zed failed to stop" 27 | else 28 | syslog_echo "zed stopped" 29 | fi 30 | fi 31 | fi 32 | -------------------------------------------------------------------------------- /scripts/zpios-profile/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdataprofiledir = $(pkgdatadir)/zpios-profile 2 | dist_pkgdataprofile_SCRIPTS = \ 3 | $(top_srcdir)/scripts/zpios-profile/zpios-profile-disk.sh \ 4 | $(top_srcdir)/scripts/zpios-profile/zpios-profile-pids.sh \ 5 | $(top_srcdir)/scripts/zpios-profile/zpios-profile-post.sh \ 6 | $(top_srcdir)/scripts/zpios-profile/zpios-profile-pre.sh \ 7 | $(top_srcdir)/scripts/zpios-profile/zpios-profile.sh 8 | -------------------------------------------------------------------------------- /scripts/zpios-test/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatatestdir = $(pkgdatadir)/zpios-test 2 | dist_pkgdatatest_SCRIPTS = \ 3 | $(top_srcdir)/scripts/zpios-test/16th-8192rc-4rs-1cs-4off.sh \ 4 | $(top_srcdir)/scripts/zpios-test/1th-16rc-4rs-1cs-4off.sh \ 5 | $(top_srcdir)/scripts/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh \ 6 | $(top_srcdir)/scripts/zpios-test/256th-65536rc-4rs-1cs-4off.sh \ 7 | $(top_srcdir)/scripts/zpios-test/4th-1024rc-4rs-1cs-4off.sh \ 8 | $(top_srcdir)/scripts/zpios-test/large.sh \ 9 | $(top_srcdir)/scripts/zpios-test/large-thread-survey.sh \ 10 | $(top_srcdir)/scripts/zpios-test/medium.sh \ 11 | $(top_srcdir)/scripts/zpios-test/small.sh \ 12 | $(top_srcdir)/scripts/zpios-test/tiny.sh \ 13 | $(top_srcdir)/scripts/zpios-test/lustre.sh 14 | -------------------------------------------------------------------------------- /scripts/zpios-test/large-thread-survey.sh: -------------------------------------------------------------------------------- 1 | 1x256th-65536rc-4rs-1cs-4off.sh -------------------------------------------------------------------------------- /scripts/zpios-test/large.sh: -------------------------------------------------------------------------------- 1 | 256th-65536rc-4rs-1cs-4off.sh -------------------------------------------------------------------------------- /scripts/zpios-test/medium.sh: -------------------------------------------------------------------------------- 1 | 16th-8192rc-4rs-1cs-4off.sh -------------------------------------------------------------------------------- /scripts/zpios-test/small.sh: -------------------------------------------------------------------------------- 1 | 4th-1024rc-4rs-1cs-4off.sh -------------------------------------------------------------------------------- /scripts/zpios-test/tiny.sh: -------------------------------------------------------------------------------- 1 | 1th-16rc-4rs-1cs-4off.sh -------------------------------------------------------------------------------- /scripts/zpool-config/file-raid0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # 4 File Raid-0 Configuration 4 | # 5 | 6 | FILEDIR=${FILEDIR:-/var/tmp} 7 | FILES=${FILES:-"$FILEDIR/file-vdev0 $FILEDIR/file-vdev1 \ 8 | $FILEDIR/file-vdev2 $FILEDIR/file-vdev3"} 9 | 10 | zpool_create() { 11 | for FILE in ${FILES}; do 12 | msg "Creating ${FILE}" 13 | rm -f ${FILE} || exit 1 14 | dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \ 15 | &>/dev/null || die "Error $? creating ${FILE}" 16 | done 17 | 18 | msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${FILES} 19 | ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${FILES} || exit 1 20 | } 21 | 22 | zpool_destroy() { 23 | msg ${ZPOOL} destroy ${ZPOOL_NAME} 24 | ${ZPOOL} destroy ${ZPOOL_NAME} 25 | 26 | for FILE in ${FILES}; do 27 | msg "Removing ${FILE}" 28 | rm -f ${FILE} || exit 1 29 | done 30 | } 31 | -------------------------------------------------------------------------------- /scripts/zpool-config/file-raidz.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # 4 File Raid-Z Configuration 4 | # 5 | 6 | FILEDIR=${FILEDIR:-/var/tmp} 7 | FILES=${FILES:-"$FILEDIR/file-vdev0 $FILEDIR/file-vdev1 \ 8 | $FILEDIR/file-vdev2 $FILEDIR/file-vdev3"} 9 | 10 | zpool_create() { 11 | for FILE in ${FILES}; do 12 | msg "Creating ${FILE}" 13 | rm -f ${FILE} || exit 1 14 | dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \ 15 | &>/dev/null || die "Error $? creating ${FILE}" 16 | done 17 | 18 | msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} raidz ${FILES} 19 | ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} raidz ${FILES} || exit 1 20 | } 21 | 22 | zpool_destroy() { 23 | msg ${ZPOOL} destroy ${ZPOOL_NAME} 24 | ${ZPOOL} destroy ${ZPOOL_NAME} 25 | 26 | for FILE in ${FILES}; do 27 | msg "Removing ${FILE}" 28 | rm -f ${FILE} || exit 1 29 | done 30 | } 31 | -------------------------------------------------------------------------------- /scripts/zpool-config/file-raidz2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # 4 File Raid-Z2 Configuration 4 | # 5 | 6 | FILEDIR=${FILEDIR:-/var/tmp} 7 | FILES=${FILES:-"$FILEDIR/file-vdev0 $FILEDIR/file-vdev1 \ 8 | $FILEDIR/file-vdev2 $FILEDIR/file-vdev3"} 9 | 10 | zpool_create() { 11 | for FILE in ${FILES}; do 12 | msg "Creating ${FILE}" 13 | rm -f ${FILE} || exit 1 14 | dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \ 15 | &>/dev/null || die "Error $? creating ${FILE}" 16 | done 17 | 18 | msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} raidz2 ${FILES} 19 | ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} raidz2 ${FILES} || exit 1 20 | } 21 | 22 | zpool_destroy() { 23 | msg ${ZPOOL} destroy ${ZPOOL_NAME} 24 | ${ZPOOL} destroy ${ZPOOL_NAME} 25 | 26 | for FILE in ${FILES}; do 27 | msg "Removing ${FILE}" 28 | rm -f ${FILE} || exit 1 29 | done 30 | } 31 | -------------------------------------------------------------------------------- /scripts/zpool-config/hda-raid0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Single disk /dev/hda Raid-0 Configuration 4 | # 5 | 6 | DEVICES="/dev/hda" 7 | 8 | zpool_create() { 9 | msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${DEVICES} 10 | ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${DEVICES} || exit 1 11 | } 12 | 13 | zpool_destroy() { 14 | msg ${ZPOOL} destroy ${ZPOOL_NAME} 15 | ${ZPOOL} destroy ${ZPOOL_NAME} || exit 1 16 | } 17 | -------------------------------------------------------------------------------- /scripts/zpool-config/ram0-raid0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Single ram disk /dev/ram0 Raid-0 Configuration 4 | # 5 | 6 | DEVICES="/dev/ram0" 7 | 8 | zpool_create() { 9 | msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${DEVICES} 10 | ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${DEVICES} || exit 1 11 | } 12 | 13 | zpool_destroy() { 14 | msg ${ZPOOL} destroy ${ZPOOL_NAME} 15 | ${ZPOOL} destroy ${ZPOOL_NAME} || exit 1 16 | } 17 | -------------------------------------------------------------------------------- /scripts/zpool-config/sda-raid0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Single disk /dev/sda Raid-0 Configuration 4 | # 5 | 6 | DEVICES="/dev/sda" 7 | 8 | zpool_create() { 9 | msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${DEVICES} 10 | ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${DEVICES} || exit 1 11 | } 12 | 13 | zpool_destroy() { 14 | msg ${ZPOOL} destroy ${ZPOOL_NAME} 15 | ${ZPOOL} destroy ${ZPOOL_NAME} || exit 1 16 | } 17 | -------------------------------------------------------------------------------- /tests/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | autoreconf -fiv 4 | rm -Rf autom4te.cache 5 | -------------------------------------------------------------------------------- /tests/config/Rules.am: -------------------------------------------------------------------------------- 1 | ZFS_OBJ = @ZFS_OBJ@ 2 | 3 | AM_CFLAGS = ${DEBUG_CFLAGS} -Wall -Wstrict-prototypes 4 | AM_CFLAGS += ${NO_UNUSED_BUT_SET_VARIABLE} 5 | AM_CFLAGS += ${NO_AGGRESSIVE_LOOP_OPTIMIZATIONS} 6 | AM_CFLAGS += -fno-strict-aliasing 7 | 8 | AM_CPPFLAGS = -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT 9 | AM_CPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 10 | AM_CPPFLAGS += -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\" 11 | AM_CPPFLAGS += -D_LARGEFILE_SOURCE -D_OSX -std=c99 12 | -------------------------------------------------------------------------------- /tests/config/system.m4: -------------------------------------------------------------------------------- 1 | dnl # 2 | dnl # Detect Darwin (or not) 3 | dnl # 4 | AC_DEFUN([ZFS_AC_SYSTEM], [ 5 | AC_MSG_CHECKING([if OS is Darwin]) 6 | _uname=$(uname -s) 7 | AS_IF([test "${_uname}" = "Darwin"], [ 8 | DARWIN="yes" 9 | 10 | ZONENAME="echo global" 11 | AC_SUBST(ZONENAME) 12 | ]) 13 | AC_MSG_RESULT([$DARWIN]) 14 | 15 | AC_SUBST(DARWIN) 16 | ]) 17 | -------------------------------------------------------------------------------- /tests/scripts/missing_cmd: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "[MISSING CMD '$@']" > /dev/stderr 4 | exit 1 5 | -------------------------------------------------------------------------------- /tests/test-runner/stf/README: -------------------------------------------------------------------------------- 1 | # 2 | # This file and its contents are supplied under the terms of the 3 | # Common Development and Distribution License ("CDDL"), version 1.0. 4 | # You may only use this file in accordance with the terms of version 5 | # 1.0 of the CDDL. 6 | # 7 | # A full copy of the text of the CDDL should have accompanied this 8 | # source. A copy of the CDDL is also available via the Internet at 9 | # http://www.illumos.org/license/CDDL. 10 | # 11 | 12 | # 13 | # Copyright (c) 2012 by Delphix. All rights reserved. 14 | # 15 | 16 | This directory contains shell libraries used by the Solaris Test 17 | Framework (STF). They are duplicated here to allow test suites (like 18 | the ZFS Test Suite) that were written for STF to be easily ported 19 | to this framework. 20 | -------------------------------------------------------------------------------- /tests/zfs-tests/bin/chg_usr_exec: -------------------------------------------------------------------------------- 1 | ../cmd/chg_usr_exec/chg_usr_exec -------------------------------------------------------------------------------- /tests/zfs-tests/bin/devname2devid: -------------------------------------------------------------------------------- 1 | ../cmd/devname2devid/devname2devid -------------------------------------------------------------------------------- /tests/zfs-tests/bin/dir_rd_update: -------------------------------------------------------------------------------- 1 | ../cmd/dir_rd_update/dir_rd_update -------------------------------------------------------------------------------- /tests/zfs-tests/bin/file_check: -------------------------------------------------------------------------------- 1 | ../cmd/file_check/file_check -------------------------------------------------------------------------------- /tests/zfs-tests/bin/file_trunc: -------------------------------------------------------------------------------- 1 | ../cmd/file_trunc/file_trunc -------------------------------------------------------------------------------- /tests/zfs-tests/bin/file_write: -------------------------------------------------------------------------------- 1 | ../cmd/file_write/file_write -------------------------------------------------------------------------------- /tests/zfs-tests/bin/largest_file: -------------------------------------------------------------------------------- 1 | ../cmd/largest_file/largest_file -------------------------------------------------------------------------------- /tests/zfs-tests/bin/libzfs_input_check: -------------------------------------------------------------------------------- 1 | ../cmd/libzfs_input_check/libzfs_input_check -------------------------------------------------------------------------------- /tests/zfs-tests/bin/mkbusy: -------------------------------------------------------------------------------- 1 | ../cmd/mkbusy/mkbusy -------------------------------------------------------------------------------- /tests/zfs-tests/bin/mkfile: -------------------------------------------------------------------------------- 1 | ../cmd/mkfile/mkfile -------------------------------------------------------------------------------- /tests/zfs-tests/bin/mkfiles: -------------------------------------------------------------------------------- 1 | ../cmd/mkfiles/mkfiles -------------------------------------------------------------------------------- /tests/zfs-tests/bin/mktree: -------------------------------------------------------------------------------- 1 | ../cmd/mktree/mktree -------------------------------------------------------------------------------- /tests/zfs-tests/bin/mmapwrite: -------------------------------------------------------------------------------- 1 | ../cmd/mmapwrite/mmapwrite -------------------------------------------------------------------------------- /tests/zfs-tests/bin/nvlist_to_lua: -------------------------------------------------------------------------------- 1 | ../cmd/nvlist_to_lua/nvlist_to_lua -------------------------------------------------------------------------------- /tests/zfs-tests/bin/randfree_file: -------------------------------------------------------------------------------- 1 | ../cmd/randfree_file/randfree_file -------------------------------------------------------------------------------- /tests/zfs-tests/bin/randwritecomp: -------------------------------------------------------------------------------- 1 | ../cmd/randwritecomp/randwritecomp -------------------------------------------------------------------------------- /tests/zfs-tests/bin/readmmap: -------------------------------------------------------------------------------- 1 | ../cmd/readmmap/readmmap -------------------------------------------------------------------------------- /tests/zfs-tests/bin/rename_dir: -------------------------------------------------------------------------------- 1 | ../cmd/rename_dir/rename_dir -------------------------------------------------------------------------------- /tests/zfs-tests/bin/rm_lnkcnt_zero_file: -------------------------------------------------------------------------------- 1 | ../cmd/rm_lnkcnt_zero_file/rm_lnkcnt_zero_file -------------------------------------------------------------------------------- /tests/zfs-tests/bin/xattrtest: -------------------------------------------------------------------------------- 1 | ../cmd/xattrtest/xattrtest -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/.gitignore: -------------------------------------------------------------------------------- 1 | chg_usr_exec/chg_usr_exec 2 | file_write/file_write 3 | mkbusy/mkbusy 4 | mktree/mktree 5 | randfree_file/randfree_file 6 | largest_file/largest_file 7 | rm_lnkcnt_zero_file/rm_lnkcnt_zero_file 8 | readmmap/readmmap 9 | mmapwrite/mmapwrite 10 | file_trunc/file_trunc 11 | file_check/file_check 12 | *.o 13 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/chg_usr_exec/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | chg_usr_exec_PROGRAMS = chg_usr_exec 4 | chg_usr_exec_SOURCES = chg_usr_exec.c 5 | chg_usr_execdir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/file_check/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | file_check_PROGRAMS = file_check 4 | file_check_SOURCES = file_check.c 5 | file_checkdir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/file_trunc/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | file_trunc_PROGRAMS = file_trunc 4 | file_trunc_SOURCES = file_trunc.c 5 | file_truncdir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/file_write/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | file_write_PROGRAMS = file_write 4 | file_write_SOURCES = file_write.c 5 | file_writedir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/largest_file/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | largest_file_PROGRAMS = largest_file 4 | largest_file_SOURCES = largest_file.c 5 | largest_filedir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/libzfs_input_check/.gitignore: -------------------------------------------------------------------------------- 1 | /libzfs_input_check 2 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/libzfs_input_check/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/bin 4 | 5 | pkgexec_PROGRAMS = libzfs_input_check 6 | 7 | DEFAULT_INCLUDES = \ 8 | -I$(top_srcdir)/../include \ 9 | -I$(top_srcdir)/../lib/libspl/include 10 | 11 | libzfs_input_check_SOURCES = libzfs_input_check.c 12 | libzfs_input_check_LDADD = \ 13 | $(top_builddir)/../lib/libnvpair/libnvpair.la \ 14 | $(top_builddir)/../lib/libzfs_core/libzfs_core.la 15 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/mkbusy/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | mkbusy_PROGRAMS = mkbusy 4 | mkbusy_SOURCES = mkbusy.c 5 | mkbusydir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/mkfile/.gitignore: -------------------------------------------------------------------------------- 1 | /mkfile 2 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/mkfile/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/bin 4 | 5 | pkgexec_PROGRAMS = mkfile 6 | mkfile_SOURCES = mkfile.c 7 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/mkfiles/.gitignore: -------------------------------------------------------------------------------- 1 | /mkfiles 2 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/mkfiles/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/bin 4 | 5 | pkgexec_PROGRAMS = mkfiles 6 | mkfiles_SOURCES = mkfiles.c 7 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/mktree/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | mktree_PROGRAMS = mktree 4 | mktree_SOURCES = mktree.c 5 | mktreedir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/mmapwrite/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | mmapwrite_PROGRAMS = mmapwrite 4 | mmapwrite_SOURCES = mmapwrite.c 5 | mmapwrite_LDADD = -lpthread 6 | mmapwritedir = $(srcdir) 7 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/nvlist_to_lua/.gitignore: -------------------------------------------------------------------------------- 1 | /nvlist_to_lua 2 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/nvlist_to_lua/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/bin 4 | 5 | DEFAULT_INCLUDES = \ 6 | -I$(top_srcdir)/../include \ 7 | -I$(top_srcdir)/../lib/libspl/include 8 | 9 | pkgexec_PROGRAMS = nvlist_to_lua 10 | 11 | nvlist_to_lua_SOURCES = nvlist_to_lua.c 12 | nvlist_to_lua_LDADD = \ 13 | $(top_builddir)/../lib/libnvpair/libnvpair.la \ 14 | $(top_builddir)/../lib/libzfs_core/libzfs_core.la 15 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/randfree_file/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | randfree_file_PROGRAMS = randfree_file 4 | randfree_file_SOURCES = randfree_file.c 5 | randfree_filedir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/randwritecomp/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | randwritecomp_PROGRAMS = randwritecomp 4 | randwritecomp_SOURCES = randwritecomp.c 5 | randwritecompdir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/readmmap/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | readmmap_PROGRAMS = readmmap 4 | readmmap_SOURCES = readmmap.c 5 | readmmapdir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/rm_lnkcnt_zero_file/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | rm_lnkcnt_zero_file_PROGRAMS = rm_lnkcnt_zero_file 4 | rm_lnkcnt_zero_file_SOURCES = rm_lnkcnt_zero_file.c 5 | rm_lnkcnt_zero_file_LDADD = -lpthread 6 | rm_lnkcnt_zero_filedir = $(srcdir) 7 | -------------------------------------------------------------------------------- /tests/zfs-tests/cmd/xattrtest/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/bin 4 | 5 | pkgexec_PROGRAMS = xattrtest 6 | xattrtest_SOURCES = xattrtest.c 7 | -------------------------------------------------------------------------------- /tests/zfs-tests/runfiles/longevity.run: -------------------------------------------------------------------------------- 1 | # 2 | # This file and its contents are supplied under the terms of the 3 | # Common Development and Distribution License ("CDDL"), version 1.0. 4 | # You may only use this file in accordance with the terms of version 5 | # 1.0 of the CDDL. 6 | # 7 | # A full copy of the text of the CDDL should have accompanied this 8 | # source. A copy of the CDDL is also available via the Internet at 9 | # http://www.illumos.org/license/CDDL. 10 | # 11 | 12 | # 13 | # Copyright (c) 2017 by Delphix. All rights reserved. 14 | # 15 | 16 | [DEFAULT] 17 | quiet = False 18 | user = root 19 | timeout = 10800 20 | outputdir = /var/tmp/test_results 21 | 22 | [/opt/zfs-tests/tests/longevity] 23 | tests = ['slop_space_test'] 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/runfiles/stress.run: -------------------------------------------------------------------------------- 1 | # 2 | # This file and its contents are supplied under the terms of the 3 | # Common Development and Distribution License ("CDDL"), version 1.0. 4 | # You may only use this file in accordance with the terms of version 5 | # 1.0 of the CDDL. 6 | # 7 | # A full copy of the text of the CDDL should have accompanied this 8 | # source. A copy of the CDDL is also available via the Internet at 9 | # http://www.illumos.org/license/CDDL. 10 | # 11 | 12 | # 13 | # Copyright (c) 2015 by Delphix. All rights reserved. 14 | # 15 | 16 | [DEFAULT] 17 | quiet = False 18 | user = root 19 | timeout = 1800 20 | outputdir = /var/tmp/test_results 21 | 22 | [/opt/zfs-tests/tests/stress/races] 23 | tests = ['remove_file_while_remap'] 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/.gitignore: -------------------------------------------------------------------------------- 1 | ctime/ctime_001_pos 2 | exec/mmap_exec 3 | *.o 4 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/alloc_class/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2017, Intel Corporation. 16 | # Copyright (c) 2018, Delphix 17 | # 18 | 19 | . $STF_SUITE/include/libtest.shlib 20 | . $STF_SUITE/tests/functional/alloc_class/alloc_class.kshlib 21 | 22 | verify_runnable "global" 23 | 24 | default_cleanup 25 | disk_cleanup 26 | 27 | log_pass 28 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/alloc_class/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2017, Intel Corporation. 16 | # Copyright (c) 2018 by Delphix. All rights reserved. 17 | # 18 | 19 | . $STF_SUITE/include/libtest.shlib 20 | . $STF_SUITE/tests/functional/alloc_class/alloc_class.kshlib 21 | 22 | verify_runnable "global" 23 | 24 | disk_cleanup 25 | 26 | log_pass 27 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/casenorm/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright 2015 Nexenta Systems, Inc. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | default_cleanup 21 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/casenorm/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright 2015 Nexenta Systems, Inc. All rights reserved. 16 | # 17 | 18 | # 19 | # Copyright (c) 2016 by Delphix. All rights reserved. 20 | # 21 | 22 | . $STF_SUITE/include/libtest.shlib 23 | 24 | verify_runnable "global" 25 | DISK=${DISKS%% *} 26 | log_must zpool create $TESTPOOL $DISK 27 | log_pass 28 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | lua_core \ 3 | synctask_core 4 | 5 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/channel_program 6 | dist_pkgdata_SCRIPTS = channel_common.kshlib 7 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright (c) 2016 by Delphix. All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | 19 | default_cleanup 20 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright (c) 2016 by Delphix. All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | 19 | DISK=${DISKS%% *} 20 | 21 | default_setup ${DISK} 22 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.args_to_lua.out: -------------------------------------------------------------------------------- 1 | Channel program fully executed with no return value. 2 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.args_to_lua.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016 by Delphix. All rights reserved. 14 | -- 15 | 16 | -- This program should be invoked as "zfs program foo bar" 17 | 18 | arg = ... 19 | argv = arg["argv"] 20 | 21 | assert(#argv == 2) 22 | assert(argv[1] == "foo") 23 | assert(argv[2] == "bar") 24 | 25 | return 26 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.divide_by_zero.err: -------------------------------------------------------------------------------- 1 | Channel program execution failed: 2 | [string "channel program"]:16: attempt to divide by zero 3 | stack traceback: 4 | [string "channel program"]:16: in main chunk 5 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.divide_by_zero.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016 by Delphix. All rights reserved. 14 | -- 15 | 16 | return 1 / 0 17 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.exists.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2017 by Delphix. All rights reserved. 14 | -- 15 | 16 | -- ensure zfs.exists works as expected. 17 | 18 | args = ... 19 | argv = args['argv'] 20 | pool = argv[1] 21 | 22 | for i = 1,4 do 23 | assert(zfs.exists(argv[i])) 24 | end 25 | 26 | assert(not zfs.exists(pool .. '/notadataset')) 27 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.large_prog.out: -------------------------------------------------------------------------------- 1 | Channel program fully executed with no return value. 2 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.nested_pos.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright (c) 2016 by Delphix. All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/tests/functional/channel_program/channel_common.kshlib 18 | 19 | verify_runnable "global" 20 | 21 | log_must_program $TESTPOOL $ZCP_ROOT/lua_core/tst.nested_pos.zcp 22 | 23 | log_pass "Nested lua statements work correctly." 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.recursive_neg.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright (c) 2016 by Delphix. All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/tests/functional/channel_program/channel_common.kshlib 18 | 19 | verify_runnable "global" 20 | 21 | log_mustnot_checkerror_program "Memory limit exhausted" \ 22 | $TESTPOOL $ZCP_ROOT/lua_core/tst.recursive.zcp 10000000 23 | 24 | log_pass "Nearly-infinite recursive LUA calls fail cleanly." 25 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.recursive_pos.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright (c) 2016 by Delphix. All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/tests/functional/channel_program/channel_common.kshlib 18 | 19 | verify_runnable "global" 20 | 21 | log_must_program $TESTPOOL $ZCP_ROOT/lua_core/tst.recursive.zcp 10000 22 | 23 | log_pass "Deeply recursive LUA calls succeed." 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.return_large.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016, 2017 by Delphix. All rights reserved. 14 | -- 15 | 16 | basestring = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" .. 17 | "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 18 | 19 | ret = {} 20 | for i=1,5000 do 21 | table.insert(ret, basestring) 22 | end 23 | 24 | return ret 25 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.return_recursive_table.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016 by Delphix. All rights reserved. 14 | -- 15 | 16 | -- This program returns a self-referential data structure. 17 | 18 | a = {} 19 | a["key"] = "val" 20 | a["self"] = a 21 | return a 22 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/lua_core/tst.timeout.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016 by Delphix. All rights reserved. 14 | -- 15 | 16 | -- This program runs forever (until timed out). 17 | 18 | i = 1; 19 | while true do 20 | i = i + 1 21 | end; 22 | return i 23 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright (c) 2016 by Delphix. All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | 19 | default_cleanup 20 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright (c) 2016 by Delphix. All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | 19 | DISK=${DISKS%% *} 20 | 21 | default_setup ${DISK} 22 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/tst.get_index_props.out: -------------------------------------------------------------------------------- 1 | Channel program fully executed with return value: 2 | return: 3 | 1: 4 | 2: 5 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/tst.get_number_props.out: -------------------------------------------------------------------------------- 1 | Channel program fully executed with return value: 2 | return: 3 | 1: 4 | 2: 5 | 3: 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/tst.get_string_props.out: -------------------------------------------------------------------------------- 1 | Channel program fully executed with return value: 2 | return: 3 | 1: 4 | 2: 5 | 3: 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/tst.promote_conflict.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016 by Delphix. All rights reserved. 14 | -- 15 | 16 | -- This program should be invoked as "zfs program " 17 | 18 | args = ... 19 | argv = args["argv"] 20 | err, desc = zfs.sync.promote(argv[1]) 21 | assert(err == EEXIST) 22 | assert(#desc == 1) 23 | assert(desc[1] == "promote_conflict_snap") 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/tst.snapshot_destroy.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016, 2017 by Delphix. All rights reserved. 14 | -- 15 | 16 | args = ... 17 | argv = args["argv"] 18 | 19 | assert(zfs.sync.snapshot(argv[1] .. "@snap1") == 0) 20 | assert(zfs.sync.destroy(argv[1] .. "@snap1") == 0) 21 | 22 | for s in zfs.list.snapshots(argv[1]) do 23 | assert(false) 24 | end 25 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/channel_program/synctask_core/tst.snapshot_recursive.zcp: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file and its contents are supplied under the terms of the 3 | -- Common Development and Distribution License ("CDDL"), version 1.0. 4 | -- You may only use this file in accordance with the terms of version 5 | -- 1.0 of the CDDL. 6 | -- 7 | -- A full copy of the text of the CDDL should have accompanied this 8 | -- source. A copy of the CDDL is also available via the Internet at 9 | -- http://www.illumos.org/license/CDDL. 10 | -- 11 | 12 | -- 13 | -- Copyright (c) 2016, 2017 by Delphix. All rights reserved. 14 | -- 15 | 16 | args = ... 17 | argv = args["argv"] 18 | fs = argv[1] 19 | snap = argv[2] 20 | 21 | function snapshot_recursive(root) 22 | assert(zfs.sync.snapshot(root .. "@" .. snap) == 0) 23 | for child in zfs.list.children(root) do 24 | snapshot_recursive(child) 25 | end 26 | end 27 | 28 | snapshot_recursive(fs) 29 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/checksum/.gitignore: -------------------------------------------------------------------------------- 1 | skein_test 2 | edonr_test 3 | sha2_test 4 | 5 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/checksum/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | AM_CPPFLAGS += -I$(top_srcdir)/../include 4 | LDADD = $(top_srcdir)/../lib/libicp/libicp.la 5 | 6 | AUTOMAKE_OPTIONS = subdir-objects 7 | 8 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/checksum 9 | 10 | dist_pkgdata_SCRIPTS = \ 11 | setup.ksh \ 12 | cleanup.ksh \ 13 | run_edonr_test.ksh \ 14 | run_sha2_test.ksh \ 15 | run_skein_test.ksh \ 16 | filetest_001_pos.ksh 17 | 18 | dist_pkgdata_DATA = \ 19 | default.cfg 20 | 21 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/checksum 22 | 23 | pkgexec_PROGRAMS = \ 24 | edonr_test \ 25 | skein_test \ 26 | sha2_test 27 | 28 | edonr_test_SOURCES = edonr_test.c 29 | skein_test_SOURCES = skein_test.c 30 | sha2_test_SOURCES = sha2_test.c 31 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/checksum/run_edonr_test.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2015 by Delphix. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | # 21 | # Description: 22 | # Run the tests for the EdonR hash algorithm. 23 | # 24 | 25 | log_assert "Run the tests for the EdonR hash algorithm." 26 | 27 | freq=$(get_cpu_freq) 28 | log_must $STF_SUITE/tests/functional/checksum/edonr_test $freq 29 | 30 | log_pass "EdonR tests passed." 31 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/checksum/run_sha2_test.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2015 by Delphix. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | # 21 | # Description: 22 | # Run the tests for the SHA-2 hash algorithm. 23 | # 24 | 25 | log_assert "Run the tests for the SHA-2 hash algorithm." 26 | 27 | freq=$(get_cpu_freq) 28 | log_must $STF_SUITE/tests/functional/checksum/sha2_test $freq 29 | 30 | log_pass "SHA-2 tests passed." 31 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/checksum/run_skein_test.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2015 by Delphix. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | # 21 | # Description: 22 | # Run the tests for the Skein hash algorithm. 23 | # 24 | 25 | log_assert "Run the tests for the Skein hash algorithm." 26 | 27 | freq=$(get_cpu_freq) 28 | log_must $STF_SUITE/tests/functional/checksum/skein_test $freq 29 | 30 | log_pass "Skein tests passed." 31 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zfs_change-key/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zfs_change-key 2 | dist_pkgdata_SCRIPTS = \ 3 | setup.ksh \ 4 | cleanup.ksh \ 5 | zfs_change-key.ksh \ 6 | zfs_change-key_child.ksh \ 7 | zfs_change-key_inherit.ksh \ 8 | zfs_change-key_format.ksh \ 9 | zfs_change-key_load.ksh \ 10 | zfs_change-key_location.ksh \ 11 | zfs_change-key_pbkdf2iters.ksh 12 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zfs_load-key/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zfs_load-key 2 | dist_pkgdata_SCRIPTS = \ 3 | zfs_load-key.cfg \ 4 | setup.ksh \ 5 | cleanup.ksh \ 6 | zfs_load-key_common.kshlib \ 7 | zfs_load-key.ksh \ 8 | zfs_load-key_all.ksh \ 9 | zfs_load-key_file.ksh \ 10 | zfs_load-key_location.ksh \ 11 | zfs_load-key_noop.ksh \ 12 | zfs_load-key_recursive.ksh 13 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zfs_program/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zfs_program 2 | dist_pkgdata_SCRIPTS = \ 3 | setup.ksh \ 4 | cleanup.ksh \ 5 | zfs_program_json.ksh 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zfs_remap/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This file and its contents are supplied under the terms of the 3 | # Common Development and Distribution License ("CDDL"), version 1.0. 4 | # You may only use this file in accordance with the terms of version 5 | # 1.0 of the CDDL. 6 | # 7 | # A full copy of the text of the CDDL should have accompanied this 8 | # source. A copy of the CDDL is also available via the Internet at 9 | # http://www.illumos.org/license/CDDL. 10 | # 11 | 12 | # 13 | # Copyright (c) 2012, 2016 by Delphix. All rights reserved. 14 | # 15 | 16 | include $(SRC)/Makefile.master 17 | 18 | ROOTOPTPKG = $(ROOT)/opt/zfs-tests 19 | TARGETDIR = $(ROOTOPTPKG)/tests/functional/cli_root/zfs_remap 20 | 21 | include $(SRC)/test/zfs-tests/Makefile.com 22 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zfs_remap/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright 2018, loli10K . All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | 19 | default_cleanup 20 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zfs_remap/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright 2018, loli10K . All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zfs_unload-key/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zfs_unload-key 2 | dist_pkgdata_SCRIPTS = \ 3 | setup.ksh \ 4 | cleanup.ksh \ 5 | zfs_unload-key.ksh \ 6 | zfs_unload-key_all.ksh \ 7 | zfs_unload-key_recursive.ksh 8 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_import/blockfiles/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zpool_import/blockfiles 2 | dist_pkgdata_DATA = \ 3 | unclean_export.dat.bz2 \ 4 | cryptv0.dat.bz2 \ 5 | missing_ivset.dat.bz2 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_import/blockfiles/missing_ivset.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_import/blockfiles/missing_ivset.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_import/blockfiles/unclean_export.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_import/blockfiles/unclean_export.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_import/cryptv0.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_import/cryptv0.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/labelclear.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # This file and its contents are supplied under the terms of the 3 | # Common Development and Distribution License ("CDDL"), version 1.0. 4 | # You may only use this file in accordance with the terms of version 5 | # 1.0 of the CDDL. 6 | # 7 | # A full copy of the text of the CDDL should have accompanied this 8 | # source. A copy of the CDDL is also available via the Internet at 9 | # http://www.illumos.org/license/CDDL. 10 | # 11 | 12 | # 13 | # Copyright 2016 Nexenta Systems, Inc. 14 | # 15 | 16 | . $STF_SUITE/include/libtest.shlib 17 | 18 | typeset disks=(${DISKS[*]}) 19 | typeset disk1=${disks[0]} 20 | typeset disk2=${disks[1]} 21 | typeset disk3=${disks[2]} 22 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_reopen/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zpool_reopen 2 | dist_pkgdata_SCRIPTS = \ 3 | setup.ksh \ 4 | cleanup.ksh \ 5 | zpool_reopen.cfg \ 6 | zpool_reopen.shlib \ 7 | zpool_reopen_001_pos.ksh \ 8 | zpool_reopen_002_pos.ksh \ 9 | zpool_reopen_003_pos.ksh \ 10 | zpool_reopen_004_pos.ksh \ 11 | zpool_reopen_005_pos.ksh \ 12 | zpool_reopen_006_neg.ksh 13 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_resilver/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zpool_resilver 2 | dist_pkgdata_SCRIPTS = \ 3 | setup.ksh \ 4 | cleanup.ksh \ 5 | zpool_resilver_bad_args.ksh \ 6 | zpool_resilver_restart.ksh 7 | 8 | dist_pkgdata_DATA = \ 9 | zpool_resilver.cfg 10 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_split/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright 2018, loli10K . All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | 19 | default_cleanup 20 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_split/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # This file and its contents are supplied under the terms of the 4 | # Common Development and Distribution License ("CDDL"), version 1.0. 5 | # You may only use this file in accordance with the terms of version 6 | # 1.0 of the CDDL. 7 | # 8 | # A full copy of the text of the CDDL should have accompanied this 9 | # source. A copy of the CDDL is also available via the Internet at 10 | # http://www.illumos.org/license/CDDL. 11 | # 12 | 13 | # 14 | # Copyright 2018, loli10K . All rights reserved. 15 | # 16 | 17 | . $STF_SUITE/include/libtest.shlib 18 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_split/zpool_split.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # This file and its contents are supplied under the terms of the 3 | # Common Development and Distribution License ("CDDL"), version 1.0. 4 | # You may only use this file in accordance with the terms of version 5 | # 1.0 of the CDDL. 6 | # 7 | # A full copy of the text of the CDDL should have accompanied this 8 | # source. A copy of the CDDL is also available via the Internet at 9 | # http://www.illumos.org/license/CDDL. 10 | # 11 | 12 | # 13 | # Copyright 2018, loli10K . All rights reserved. 14 | # 15 | 16 | export DISKSARRAY=$DISKS 17 | export DISK_ARRAY_NUM=$(echo ${DISKS} | $NAWK '{print NF}') 18 | #set_device_dir 19 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_sync/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zpool_sync 2 | dist_pkgdata_SCRIPTS = \ 3 | cleanup.ksh \ 4 | setup.ksh \ 5 | zpool_sync_001_pos.ksh \ 6 | zpool_sync_002_neg.ksh 7 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_trim/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zpool_trim 2 | dist_pkgdata_SCRIPTS = \ 3 | setup.ksh \ 4 | cleanup.ksh \ 5 | zpool_trim.kshlib \ 6 | zpool_trim_attach_detach_add_remove.ksh \ 7 | zpool_trim_import_export.ksh \ 8 | zpool_trim_multiple.ksh \ 9 | zpool_trim_neg.ksh \ 10 | zpool_trim_offline_export_import_online.ksh \ 11 | zpool_trim_online_offline.ksh \ 12 | zpool_trim_partial.ksh \ 13 | zpool_trim_rate.ksh \ 14 | zpool_trim_rate_neg.ksh \ 15 | zpool_trim_secure.ksh \ 16 | zpool_trim_split.ksh \ 17 | zpool_trim_start_and_cancel_neg.ksh \ 18 | zpool_trim_start_and_cancel_pos.ksh \ 19 | zpool_trim_suspend_resume.ksh \ 20 | zpool_trim_unsupported_vdevs.ksh \ 21 | zpool_trim_verify_checksums.ksh \ 22 | zpool_trim_verify_trimmed.ksh 23 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-broken-mirror1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-broken-mirror1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-broken-mirror2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-broken-mirror2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v10.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v10.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v11.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v11.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v12.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v12.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v13.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v13.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v14.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v14.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v15.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v15.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1mirror1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1mirror1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1mirror2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1mirror2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1mirror3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1mirror3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1raidz1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1raidz1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1raidz2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1raidz2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1raidz3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1raidz3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1stripe1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1stripe1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1stripe2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1stripe2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1stripe3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v1stripe3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2mirror1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2mirror1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2mirror2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2mirror2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2mirror3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2mirror3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2raidz1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2raidz1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2raidz2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2raidz2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2raidz3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2raidz3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2stripe1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2stripe1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2stripe2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2stripe2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2stripe3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v2stripe3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3hotspare1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3hotspare1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3hotspare2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3hotspare2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3hotspare3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3hotspare3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3mirror1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3mirror1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3mirror2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3mirror2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3mirror3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3mirror3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz21.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz21.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz22.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz22.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz23.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz23.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3raidz3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3stripe1.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3stripe1.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3stripe2.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3stripe2.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3stripe3.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v3stripe3.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v4.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v4.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v5.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v5.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v6.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v6.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v7.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v7.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v8.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v8.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v9.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v9.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v999.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-v999.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-vBROKEN.dat.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/blockfiles/zfs-pool-vBROKEN.dat.bz2 -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/ctime/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | ctime_001_pos_PROGRAMS = ctime_001_pos 4 | ctime_001_pos_SOURCES = ctime_001_pos.c 5 | ctime_001_posdir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/exec/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | mmap_exec_PROGRAMS = mmap_exec 4 | mmap_exec_SOURCES = mmap_exec.c 5 | mmap_execdir = $(srcdir) 6 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/history/i386.migratedpool.DAT.Z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/history/i386.migratedpool.DAT.Z -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/history/i386.orig_history.txt: -------------------------------------------------------------------------------- 1 | History for 'history_pool': 2 | 2006-10-20.13:18:37 zpool create history_pool /var/tmp/i386.migratedpool.DAT 3 | 2006-10-20.13:18:37 zfs create history_pool/fs 4 | 2006-10-20.13:18:37 zfs set compression=on history_pool/fs 5 | 2006-10-20.13:18:37 zfs set checksum=on history_pool 6 | 2006-10-20.13:18:37 zfs snapshot history_pool/fs@snap 7 | 2006-10-20.13:18:37 zfs clone history_pool/fs@snap history_pool/clone 8 | 2006-10-20.13:18:37 zfs promote history_pool/clone 9 | 2006-10-20.13:18:37 zfs promote history_pool/fs 10 | 2006-10-20.13:18:37 zfs destroy -r -R history_pool/fs 11 | 2006-10-20.13:18:37 zpool export history_pool 12 | 2007-04-05.00:05:38 zpool upgrade history_pool 13 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/history/sparc.migratedpool.DAT.Z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/history/sparc.migratedpool.DAT.Z -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/history/sparc.orig_history.txt: -------------------------------------------------------------------------------- 1 | History for 'history_pool': 2 | 2006-10-27.03:13:47 zpool create history_pool /var/tmp/sparc.migratedpool.DAT 3 | 2006-10-27.03:13:48 zfs create history_pool/fs 4 | 2006-10-27.03:13:48 zfs set compression=on history_pool/fs 5 | 2006-10-27.03:13:48 zfs set checksum=on history_pool 6 | 2006-10-27.03:13:48 zfs snapshot history_pool/fs@snap 7 | 2006-10-27.03:13:48 zfs clone history_pool/fs@snap history_pool/clone 8 | 2006-10-27.03:13:49 zfs promote history_pool/clone 9 | 2006-10-27.03:13:49 zfs promote history_pool/fs 10 | 2006-10-27.03:13:49 zfs destroy -r -R history_pool/fs 11 | 2006-10-27.03:13:49 zpool export history_pool 12 | 2007-04-05.00:41:55 zpool upgrade history_pool 13 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/history/zfs-pool-v4.dat.Z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openzfsonosx/zfs/fa24877f83051301c07d5e41a8982f962de4dc10/tests/zfs-tests/tests/functional/history/zfs-pool-v4.dat.Z -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/hkdf/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2017 by Datto Inc. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | verify_runnable "global" 21 | 22 | log_pass 23 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/hkdf/run_hkdf_test.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2017 by Datto Inc. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | # 21 | # DESCRIPTION: 22 | # Call the hkdf_test tool to test ZFS's HKDF implementation against 23 | # a few test vectors. 24 | # 25 | 26 | log_assert "Run the tests for the HKDF algorithm." 27 | 28 | log_must $STF_SUITE/tests/functional/hkdf/hkdf_test 29 | 30 | log_pass "HKDF tests pass." 31 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/hkdf/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2017 by Datto Inc. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | verify_runnable "global" 21 | 22 | log_pass 23 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/libzfs/.gitignore: -------------------------------------------------------------------------------- 1 | /many_fds 2 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/libzfs/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/libzfs 4 | 5 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/libzfs 6 | 7 | dist_pkgdata_SCRIPTS = \ 8 | cleanup.ksh \ 9 | setup.ksh \ 10 | libzfs_input.ksh 11 | 12 | DEFAULT_INCLUDES = \ 13 | -I$(top_srcdir)/../include \ 14 | -I$(top_srcdir)/../lib/libspl/include 15 | 16 | many_fds_LDADD = \ 17 | $(top_builddir)/../lib/libzfs/libzfs.la 18 | 19 | pkgexec_PROGRAMS = many_fds 20 | many_fds_SOURCES = many_fds.c 21 | 22 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/mmp/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/mmp 2 | dist_pkgdata_SCRIPTS = \ 3 | multihost_history.ksh \ 4 | mmp_on_thread.ksh \ 5 | mmp_on_uberblocks.ksh \ 6 | mmp_on_off.ksh \ 7 | mmp_interval.ksh \ 8 | mmp_active_import.ksh \ 9 | mmp_inactive_import.ksh \ 10 | mmp_exported_import.ksh \ 11 | mmp_write_uberblocks.ksh \ 12 | mmp_reset_interval.ksh \ 13 | setup.ksh \ 14 | cleanup.ksh \ 15 | mmp.kshlib \ 16 | mmp.cfg 17 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/mmp/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | # 3 | # CDDL HEADER START 4 | # 5 | # This file and its contents are supplied under the terms of the 6 | # Common Development and Distribution License ("CDDL"), version 1.0. 7 | # You may only use this file in accordance with the terms of version 8 | # 1.0 of the CDDL. 9 | # 10 | # A full copy of the text of the CDDL should have accompanied this 11 | # source. A copy of the CDDL is also available via the Internet at 12 | # http://www.illumos.org/license/CDDL. 13 | # 14 | # CDDL HEADER END 15 | # 16 | 17 | # 18 | # Copyright (c) 2017 by Lawrence Livermore National Security, LLC. 19 | # 20 | 21 | . $STF_SUITE/include/libtest.shlib 22 | . $STF_SUITE/tests/functional/mmp/mmp.cfg 23 | 24 | verify_runnable "global" 25 | 26 | log_must set_tunable64 zfs_multihost_history 0 27 | 28 | log_pass "mmp cleanup passed" 29 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/nopwrite/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ksh 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2012 by Delphix. All rights reserved. 16 | # 17 | 18 | . ${STF_SUITE}/include/libtest.shlib 19 | 20 | default_cleanup 21 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/nopwrite/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ksh 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2012 by Delphix. All rights reserved. 16 | # 17 | 18 | . ${STF_SUITE}/include/libtest.shlib 19 | . ${STF_SUITE}/tests/functional/nopwrite/nopwrite.shlib 20 | 21 | disk=${DISKS%% *} 22 | 23 | default_volume_setup $disk 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/pool_checkpoint/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2018 by Delphix. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/tests/functional/pool_checkpoint/pool_checkpoint.kshlib 19 | 20 | verify_runnable "global" 21 | 22 | test_group_destroy_saved_pool 23 | log_pass 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/pool_checkpoint/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2018 by Delphix. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/tests/functional/pool_checkpoint/pool_checkpoint.kshlib 19 | 20 | verify_runnable "global" 21 | 22 | test_group_premake_nested_pools 23 | log_onexit cleanup_nested_pools 24 | 25 | log_pass "Successfully saved pool to be reused for tests in the group." 26 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/removal/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ksh -p 2 | # 3 | # CDDL HEADER START 4 | # 5 | # This file and its contents are supplied under the terms of the 6 | # Common Development and Distribution License ("CDDL"), version 1.0. 7 | # You may only use this file in accordance with the terms of version 8 | # 1.0 of the CDDL. 9 | # 10 | # A full copy of the text of the CDDL should have accompanied this 11 | # source. A copy of the CDDL is also available via the Internet at 12 | # http://www.illumos.org/license/CDDL. 13 | # 14 | # CDDL HEADER END 15 | # 16 | 17 | # 18 | # Copyright (c) 2014 by Delphix. All rights reserved. 19 | # 20 | 21 | . $STF_SUITE/include/libtest.shlib 22 | 23 | default_cleanup 24 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/tmpfile/.gitignore: -------------------------------------------------------------------------------- 1 | /tmpfile_test 2 | /tmpfile_001_pos 3 | /tmpfile_002_pos 4 | /tmpfile_003_pos 5 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/tmpfile/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/config/Rules.am 2 | 3 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/tmpfile 4 | 5 | dist_pkgdata_SCRIPTS = \ 6 | cleanup.ksh \ 7 | setup.ksh 8 | 9 | DEFAULT_INCLUDES = \ 10 | -I$(top_srcdir)/../include 11 | 12 | pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/tmpfile 13 | 14 | pkgexec_PROGRAMS = tmpfile_test tmpfile_001_pos tmpfile_002_pos tmpfile_003_pos 15 | tmpfile_test_SOURCES= tmpfile_test.c 16 | tmpfile_001_pos_SOURCES = tmpfile_001_pos.c 17 | tmpfile_002_pos_SOURCES = tmpfile_002_pos.c 18 | tmpfile_003_pos_SOURCES = tmpfile_003_pos.c 19 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/trim/Makefile.am: -------------------------------------------------------------------------------- 1 | pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/trim 2 | dist_pkgdata_SCRIPTS = \ 3 | setup.ksh \ 4 | cleanup.ksh \ 5 | trim.kshlib \ 6 | trim.cfg \ 7 | autotrim_integrity.ksh \ 8 | autotrim_config.ksh \ 9 | autotrim_trim_integrity.ksh \ 10 | trim_integrity.ksh \ 11 | trim_config.ksh 12 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/vdev_zaps/cleanup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2015 by Delphix. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | default_cleanup 21 | -------------------------------------------------------------------------------- /tests/zfs-tests/tests/functional/vdev_zaps/setup.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | 14 | # 15 | # Copyright (c) 2015 by Delphix. All rights reserved. 16 | # 17 | 18 | . $STF_SUITE/include/libtest.shlib 19 | 20 | rm -rf $TESTDIR || log_fail Could not remove $TESTDIR 21 | mkdir -p $TESTDIR || log_fail Could not create $TESTDIR 22 | -------------------------------------------------------------------------------- /udev/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = rules.d 2 | -------------------------------------------------------------------------------- /udev/rules.d/.gitignore: -------------------------------------------------------------------------------- 1 | 69-vdev.rules 2 | 60-zpool.rules 3 | 60-zvol.rules 4 | 90-zfs.rules 5 | -------------------------------------------------------------------------------- /udev/rules.d/60-zvol.rules.in: -------------------------------------------------------------------------------- 1 | # Persistent links for zvol 2 | # 3 | # persistent disk links: /dev/zvol/dataset_name 4 | # also creates compatibilty symlink of /dev/dataset_name 5 | 6 | KERNEL=="zd*" SUBSYSTEM=="block" ACTION=="add|change" PROGRAM="@udevdir@/zvol_id $tempnode" SYMLINK+="zvol/%c %c" 7 | -------------------------------------------------------------------------------- /udev/rules.d/69-vdev.rules.in: -------------------------------------------------------------------------------- 1 | # 2 | # @udevdir@/rules.d/69-vdev.rules 3 | # 4 | 5 | ENV{DEVTYPE}=="disk", IMPORT{program}="@udevdir@/vdev_id -d %k" 6 | 7 | KERNEL=="*[!0-9]", ENV{SUBSYSTEM}=="block", ENV{ID_VDEV}=="?*", SYMLINK+="$env{ID_VDEV_PATH}" 8 | KERNEL=="*[0-9]", ENV{SUBSYSTEM}=="block", ENV{DEVTYPE}=="partition", ENV{ID_VDEV}=="?*", SYMLINK+="$env{ID_VDEV_PATH}-part%n" 9 | KERNEL=="dm-[0-9]*", ENV{SUBSYSTEM}=="block", ENV{ID_VDEV}=="?*", SYMLINK+="$env{ID_VDEV_PATH}" 10 | -------------------------------------------------------------------------------- /udev/rules.d/90-zfs.rules.in: -------------------------------------------------------------------------------- 1 | SUBSYSTEM!="block|misc", GOTO="zfs_end" 2 | ACTION!="add|change", GOTO="zfs_end" 3 | 4 | ENV{ID_FS_TYPE}=="zfs", RUN+="/sbin/modprobe zfs" 5 | ENV{ID_FS_TYPE}=="zfs_member", RUN+="/sbin/modprobe zfs" 6 | 7 | KERNEL=="null", SYMLINK+="root" 8 | SYMLINK=="null", SYMLINK+="root" 9 | 10 | SUBSYSTEM=="misc", KERNEL=="zfs", RUN+="@sbindir@/zpool list" 11 | 12 | LABEL="zfs_end" 13 | -------------------------------------------------------------------------------- /udev/rules.d/Makefile.am: -------------------------------------------------------------------------------- 1 | udevrule_DATA = \ 2 | 69-vdev.rules \ 3 | 60-zvol.rules \ 4 | 90-zfs.rules 5 | 6 | EXTRA_DIST = \ 7 | $(top_srcdir)/udev/rules.d/69-vdev.rules.in \ 8 | $(top_srcdir)/udev/rules.d/60-zvol.rules.in \ 9 | $(top_srcdir)/udev/rules.d/90-zfs.rules.in 10 | 11 | $(udevrule_DATA): 12 | -$(SED) -e 's,@bindir\@,$(bindir),g' \ 13 | -e 's,@sbindir\@,$(sbindir),g' \ 14 | -e 's,@udevdir\@,$(udevdir),g' \ 15 | -e 's,@udevruledir\@,$(udevruledir),g' \ 16 | -e 's,@sysconfdir\@,$(sysconfdir),g' \ 17 | "$(top_srcdir)/udev/rules.d/$@.in" > '$@' 18 | 19 | distclean-local:: 20 | -$(RM) $(udevrule_DATA) 21 | -------------------------------------------------------------------------------- /zfs.release.in: -------------------------------------------------------------------------------- 1 | @ZFS_META_VERSION@-@ZFS_META_RELEASE@ 2 | -------------------------------------------------------------------------------- /zfs_bundle/.gitignore: -------------------------------------------------------------------------------- 1 | zfs.fs/ 2 | -------------------------------------------------------------------------------- /zfs_bundle/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | FSPersonalities 6 | 7 | ZFS 8 | 9 | FSName 10 | ZFS Dataset 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /zfs_bundle/PkgInfo: -------------------------------------------------------------------------------- 1 | fs ???? -------------------------------------------------------------------------------- /zpool.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export DYLD_LIBRARY_PATH=./lib/libnvpair/.libs/:./lib/libuutil/.libs/:./lib/libzpool/.libs/:./lib/libzfs/.libs/ 4 | exec cmd/zpool/zpool "$@" 5 | 6 | --------------------------------------------------------------------------------