Permalink
Switch branches/tags
Commits on Jul 26, 2017
  1. Tag zfs-0.7.0

    behlendorf committed Jul 26, 2017
    META file and changelog updated.
    
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
  2. OpenZFS 8508 - Mounting a zpool on 32-bit platforms panics

    dinatale2 committed with behlendorf Jul 26, 2017
    Authored by: Justin Hibbits <chmeeedalf@gmail.com>
    Reviewed by: Matt Ahrens <mahrens@delphix.com>
    Approved by: Dan McDonald <danmcd@joyent.com>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    
    OpenZFS-issue: https://www.illumos.org/issues/8508
    OpenZFS-commit: openzfs/openzfs@15fc257
    Closes #6404
  3. Add line info and SET_ERROR() to ZFS debug log

    nedbass committed with behlendorf Jul 26, 2017
    Redefine the SET_ERROR macro in terms of __dprintf() so the error
    return codes get logged as both tracepoint events (if tracepoints are
    enabled) and as ZFS debug log entries.  This also allows us to use
    the same definition of SET_ERROR() in kernel and user space.
    
    Define a new debug flag ZFS_DEBUG_SET_ERROR=512 that may be bitwise
    or'd into zfs_flags. Setting this flag enables both dprintf() and
    SET_ERROR() messages in the debug log. That is, setting
    ZFS_DEBUG_SET_ERROR and ZFS_DEBUG_DPRINTF|ZFS_DEBUG_SET_ERROR are
    equivalent (this was done for sake of simplicity). Leaving
    ZFS_DEBUG_SET_ERROR unset suppresses the SET_ERROR() messages which
    helps avoid cluttering up the logs.
    
    To enable SET_ERROR() logging, run:
    
      echo 1 >   /sys/module/zfs/parameters/zfs_dbgmsg_enable
      echo 512 > /sys/module/zfs/parameters/zfs_flags
    
    Remove the zfs_set_error_class tracepoints event class since
    SET_ERROR() now uses __dprintf(). This sacrifices a bit of
    granularity when selecting individual tracepoint events to enable but
    it makes the code simpler.
    
    Include file, function, and line number information in debug log
    entries.  The information is now added to the message buffer in
    __dprintf() and as a result the zfs_dprintf_class tracepoints event
    class was changed from a 4 parameter interface to a single parameter.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Ned Bass <bass6@llnl.gov>
    Closes #6400
  4. Fix zpool-features.5 indentation

    behlendorf committed on GitHub Jul 26, 2017
    The userobj_accounting feature described in the zpool-features.5
    man page was incorrectly indented.  Fix it.
    
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes #6402
  5. Some additional send stream validity checking

    nedbass committed with behlendorf Jul 26, 2017
    Check in the DMU whether an object record in a send stream being
    received contains an unsupported dnode slot count, and return an
    error if it does. Failure to catch an unsupported dnode slot count
    would result in a panic when the SPA attempts to increment the
    reference count for the large_dnode feature and the pool has the
    feature disabled. This is not normally an issue for a well-formed
    send stream which would have the DMU_BACKUP_FEATURE_LARGE_DNODE flag
    set if it contains large dnodes, so it will be rejected as
    unsupported if the required feature is disabled. This change adds a
    missing object record field validation.
    
    Add missing stream feature flag checks in
    dmu_recv_resume_begin_check().
    
    Consolidate repetitive comment blocks in dmu_recv_begin_check().
    
    Update zstreamdump to print the dnode slot count (dn_slots) for an
    object record when running in verbose mode.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Signed-off-by: Ned Bass <bass6@llnl.gov>
    Closes #6396
Commits on Jul 25, 2017
  1. Fix 'zpool clear' on suspended pools

    behlendorf committed on GitHub Jul 25, 2017
    'zpool clear' should be able to resume I/O on suspended, but otherwise
    healthy, pools.
    
    4a283c7 accidentally introduced a new code path where we call
    txg_wait_synced() on the suspended pool before we had the chance to
    resume I/O via zio_resume(): this results in the 'zpool clear'
    command hanging indefinitely, waiting for a TXG that cannot be synced.
    
    Fix this by avoiding the call to txg_wait_synced().
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes #6399
  2. Fix autoconf detection of super_setup_bdi_name

    jbedo committed with behlendorf Jul 25, 2017
    The previous autoconf test for the presence of super_setup_bdi_name()
    uses an invocation with an incorrect type signature, producing a
    warning by the compiler when the test is run. This gets elevated to an
    error when compiling with -Werror=format-security, causing autoconf to
    falsely infer super_setup_bdi_name() is not present. This updates the
    testing code to match the invocation used in
    include/linux/vfs_compat.h.
    
    Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Justin Bedo <cu@cua0.org>
    Closes #6398
  3. Report MMP_STATE_NO_HOSTID immediately

    ofaaland committed with behlendorf Jul 15, 2017
    There is no need to perform the activity check before detecting that the
    user must set the system hostid, because the pool's multihost property
    is on, but spa_get_hostid() returned 0.  The initial call to
    vdev_uberblock_load() provided the information required.
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #6388
  4. Add callback for zfs_multihost_interval

    ofaaland committed with behlendorf Jul 21, 2017
    Add a callback to wake all running mmp threads when
    zfs_multihost_interval is changed.
    
    This is necessary when the interval is changed from a very large value
    to a significantly lower one, while pools are imported that have the
    multihost property enabled.
    
    Without this commit, the mmp thread does not wake up and detect the new
    interval until after it has waited the old multihost interval time.  A
    user monitoring mmp writes via the provided kstat would be led to
    believe that the changed setting did not work.
    
    Added a test in the ZTS under mmp to verify the new functionality is
    working.
    
    Added a test to ztest which starts and stops mmp threads, and calls into
    the code to signal sleeping mmp threads, to test for deadlocks or
    similar locking issues.
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #6387
  5. Skip activity check for zhack RO import

    ofaaland committed with behlendorf Jul 14, 2017
    "zhack feature stat" performs a read-only import, so the MMP activity
    check is not necessary.
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #6388
    Closes #6389
  6. Add zgenhostid utility script

    ofaaland committed with behlendorf Jul 19, 2017
    Turning the multihost property on requires that a hostid be set to allow
    ZFS to determine when a foreign system is attemping to import a pool.
    The error message instructing the user to set a hostid refers to
    genhostid(1).
    
    Genhostid(1) is not available on SUSE Linux.  This commit adds a script
    modeled after genhostid(1) for those users.
    
    Zgenhostid checks for an /etc/hostid file; if it does not exist, it
    creates one and stores a value.  If the user has provided a hostid as an
    argument, that value is used.  Otherwise, a random hostid is generated
    and stored.
    
    This differs from the CENTOS 6/7 versions of genhostid, which overwrite
    the /etc/hostid file even though their manpages state otherwise.
    
    A man page for zgenhostid is added. The one for genhostid is in (1), but
    I put zgenhostid in (8) because I believe it's more appropriate.
    
    The mmp tests are modified to use zgenhostid to set the hostid instead
    of using the spl_hostid module parameter.  zgenhostid will not replace
    an existing /etc/hostid file, so new mmp_clear_hostid calls are
    required.
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #6358
    Closes #6379
  7. Release SCL_STATE in map_write_done()

    ofaaland committed with behlendorf Jul 24, 2017
    The config lock must be held for the duration of the MMP write.
    Since the I/Os are executed via map_nowait(), the done function
    is the only place where we know the write has completed.
    
    Since SCL_STATE is taken as reader, overlapping I/Os do not
    create a deadlock.  The refcount is simply increased when new
    I/Os are queued and decreased when I/Os complete.
    
    Test case added which exercises the probe IO call path to
    verify the fix and prevent a regression.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #6394
  8. Revert Fix vdev_probe() call wrt SCL_STATE_ALL

    ofaaland committed with behlendorf Jul 18, 2017
    This reverts commit cc9c6bc, which has been causing intermittent
    test failures on buildbot.  A correct fix for this locking issue
    has been applied in a separate patch.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Commits on Jul 24, 2017
  1. Increase delay for zed log in events tests

    dinatale2 committed with behlendorf Jul 24, 2017
    In zed event test cases, a brief delay was introduced
    to allow for events to make it to the zed log. On at least
    one buildbot builder, the 1 second delay is not long enough.
    Therefore, increasing the delay should ensure the zed has
    more than enough time to write to its log.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes #6395
  2. Fix buffer overflow in dsl_dataset_name()

    loli10K committed with behlendorf Jul 24, 2017
    If we're creating a pool with version >= SPA_VERSION_DSL_SCRUB (v11)
    we need to account for additional space needed by the origin dataset
    which will also be snapshotted: "poolname"+"/"+"$ORIGIN"+"@"+"$ORIGIN".
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
    Closes #6374
  3. Fix don't zero_label when replace with spare

    tuxoko committed with behlendorf Jul 24, 2017
    When replacing a disk with non-wholedisk spare, we shouldn't zero_label
    it. The wholedisk case already skip it. In fact, zero_label function
    will fail saying device busy because it's already opened exclusively,
    but since there's no error checking, the replace command will succeed,
    causing great confusion.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
    Closes #6369
  4. Restrict zpool iostat/status -c to search path

    dinatale2 committed with behlendorf Jul 24, 2017
    zpool iostat/status -c is supposed to be restricted
    by its search path, but currently isn't. To prevent
    arbitrary scripts from being executed, disallow '/'
    from commands.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Ned Bass <bass6@llnl.gov>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes #6353 
    Closes #6359
  5. Use correct macro for hz in mmp.c

    ofaaland committed with behlendorf Jul 24, 2017
    Commit 379ca9c Multi-modifier protection (MMP) used HZ to convert
    nanoseconds to ticks for use with cv_timedwait() and ddi_get_lbolt().
    The correct macro is hz, which is defined within the SPL for kernel
    space, and within zfs_context.h for user space.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #6357 
    Closes #6360
  6. Fix coverity defects: CID 165755

    dinatale2 committed with behlendorf Jul 24, 2017
    CID 165755: Division or modulo by zero (DIVIDE_BY_ZERO)
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes #6352
  7. zfs_mount_001_neg: use log_must_busy in cleanup

    dinatale2 committed with behlendorf Jul 24, 2017
    Use log_must_busy when destroying the snapshot
    and dataset during cleanup in zfs_mount_001_neg.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes #6382
  8. Disable nbmand tests on kernels w/o support

    dinatale2 committed with behlendorf Jul 24, 2017
    This change allows mountpoint_003_pos and send-c_props
    to run on Linux kernels that do not support mandatory
    locking. Linux kernel versions greater than or equal to
    4.4 no longer support mandatory locking and the test
    suite will now account for that.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes #6346 
    Closes #6347 
    Closes #6362
  9. Add new fsck return code to zvol_misc_002_pos

    tonyhutter committed with behlendorf Jul 24, 2017
    zvol_misc_002_pos was failing on Fedora 26 because its newer version
    of fsck was returning a different code than previous versions.  The
    new fsck error code is valid and is been added to the test in this
    patch.
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
    Signed-off-by: Tony Hutter <hutter2@llnl.gov>
    Closes #6350
  10. OpenZFS 8491 - uberblock on-disk padding to reserve space for smoothl…

    sdimitro committed with behlendorf Jul 13, 2017
    …y merging zpool checkpoint & MMP in ZFS
    
    The zpool checkpoint feature in DxOS added a new field in the uberblock.
    The Multi-Modifier Protection Pull Request from ZoL adds three new fields
    in the uberblock (Reference: zfsonlinux#6279).
    As these two changes come from two different sources and once upstreamed
    and deployed will introduce an incompatibility with each other we want
    to upstream a change that will reserve the padding for both of them so
    integration goes smoothly and everyone gets both features.
    
    Porting Notes: Preserved MMP comments in uberblock struct.
    
    Authored by: Serapheim Dimitropoulos <serapheim@delphix.com>
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed by: Olaf Faaland <faaland1@llnl.gov>
    Approved by: Gordon Ross <gwr@nexenta.com>
    Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    
    OpenZFS-issue: https://www.illumos.org/issues/8491
    OpenZFS-commit: openzfs/openzfs@d84fa5f
    Closes #6390
  11. Linux 4.13 compat: bio->bi_status and blk_status_t

    behlendorf committed on GitHub Jul 24, 2017
    Commit torvalds/linux@4e4cbee.  The bio->bi_error field was
    replaced with bio->bi_status which is an enum that describes
    all possible error types.
    
    Reviewed-by: Chunwei Chen <david.chen@osnexus.com>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes #6351
Commits on Jul 21, 2017
  1. Minor fixes in zpool iostat -c documentation (#6370)

    nedbass committed with tonyhutter Jul 21, 2017
    - Use nested [] notation to denote optional script list elements
    - Fix space before comma after smarctl(8)
    - Fix typo and formatting error in reference to -v option
    - Fix spelling errors
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Signed-off-by: Ned Bass <bass6@llnl.gov>
    Closes #6370
Commits on Jul 14, 2017
  1. Fix coverity defects: CID 165757

    gmelikov committed with behlendorf Jul 14, 2017
    CID 165757: Control flow issues (MISSING_BREAK)
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Signed-off-by: George Melikov <mail@gmelikov.ru>
    Closes #6348
Commits on Jul 13, 2017
  1. Tag 0.7.0-rc5

    behlendorf committed Jul 13, 2017
    Fifth release candidate.
    
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    `
  2. Fix vdev_probe() call outside SCL_STATE_ALL lock

    behlendorf committed Jul 12, 2017
    When an IO fails then zio_vdev_io_done() can call vdev_probe()
    to determine the health of the vdev.  This is safe as long as
    the original zio was submitted with zio_wait() and holds the
    SCL_STATE_ALL lock over the operation.
    
    If zio_no_wait() was used then the done callback will submit
    the probe IO outside the SCL_STATE_ALL lock and hit this
    ASSERT in zio_create()
    
      ASSERT(!vd || spa_config_held(spa, SCL_STATE_ALL, RW_READER));
    
    Resolve the issue by only allowing vdev_probe() to be called
    when there's a waiter indicating the caller is using zio_wait().
    This assumes that caller is still holding SCL_STATE_ALL.
    
    This issue isn't MMP specific but was surfaced when testing.
    Without this patch it can be reproduced by running:
    
      zpool set multihost on <pool>
      zinject -d <vdev> -e io -T write -f 50 <pool> -L uber
    
    Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Don Brady <don.brady@intel.com>
    Closes #745
    Closes #6279
  3. Multi-modifier protection (MMP)

    ofaaland committed with behlendorf Jul 8, 2017
    Add multihost=on|off pool property to control MMP.  When enabled
    a new thread writes uberblocks to the last slot in each label, at a
    set frequency, to indicate to other hosts the pool is actively imported.
    These uberblocks are the last synced uberblock with an updated
    timestamp.  Property defaults to off.
    
    During tryimport, find the "best" uberblock (newest txg and timestamp)
    repeatedly, checking for change in the found uberblock.  Include the
    results of the activity test in the config returned by tryimport.
    These results are reported to user in "zpool import".
    
    Allow the user to control the period between MMP writes, and the
    duration of the activity test on import, via a new module parameter
    zfs_multihost_interval.  The period is specified in milliseconds.  The
    activity test duration is calculated from this value, and from the
    mmp_delay in the "best" uberblock found initially.
    
    Add a kstat interface to export statistics about Multiple Modifier
    Protection (MMP) updates. Include the last synced txg number, the
    timestamp, the delay since the last MMP update, the VDEV GUID, the VDEV
    label that received the last MMP update, and the VDEV path.  Abbreviated
    output below.
    
    $ cat /proc/spl/kstat/zfs/mypool/multihost
    31 0 0x01 10 880 105092382393521 105144180101111
    txg   timestamp  mmp_delay   vdev_guid   vdev_label vdev_path
    20468    261337  250274925   68396651780       3    /dev/sda
    20468    261339  252023374   6267402363293     1    /dev/sdc
    20468    261340  252000858   6698080955233     1    /dev/sdx
    20468    261341  251980635   783892869810      2    /dev/sdy
    20468    261342  253385953   8923255792467     3    /dev/sdd
    20468    261344  253336622   042125143176      0    /dev/sdab
    20468    261345  253310522   1200778101278     2    /dev/sde
    20468    261346  253286429   0950576198362     2    /dev/sdt
    20468    261347  253261545   96209817917       3    /dev/sds
    20468    261349  253238188   8555725937673     3    /dev/sdb
    
    Add a new tunable zfs_multihost_history to specify the number of MMP
    updates to store history for. By default it is set to zero meaning that
    no MMP statistics are stored.
    
    When using ztest to generate activity, for automated tests of the MMP
    function, some test functions interfere with the test.  For example, the
    pool is exported to run zdb and then imported again.  Add a new ztest
    function, "-M", to alter ztest behavior to prevent this.
    
    Add new tests to verify the new functionality.  Tests provided by
    Giuseppe Di Natale.
    
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Ned Bass <bass6@llnl.gov>
    Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #745
    Closes #6279
  4. Make hostid consistent in user and kernel space

    ofaaland committed with behlendorf May 25, 2017
    If no spl_hostid was set, and no /etc/hostid file existed, the user
    and kernel would have different values for the hostid.
    
    The kernel's would be 0.  User space's would depend on the libc
    implementation.  On systems with glibc, it would be a generated value,
    probably the first 4 bytes of an IP address (see man 3 gethostid and
    comments above hostid_read in SPL for details).
    
    This then causes the hostid stored in the labels and in the pool
    config not to match the hostid userspace obtains from
    get_system_hostid().
    
    Since the kernel has no way to know the libc's generated hostid value,
    it serves no purpose for ZFS to use the value.
    
    This patch changes user space's get_system_hostid() to conform to the
    kernel's method, first checking for the spl_hostid via sysfs, and then
    reading from /etc/hostid directly.
    
    It does not look up spl_hostid_path, because if that is set and the
    file it pointed to exists, spl_hostid will reflect its contents.
    
    It eliminates the call to libc's gethostid().
    
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Ned Bass <bass6@llnl.gov>
    Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    Closes #745
    Closes #6279
  5. OpenZFS 6939 - add sysevents to zfs core for commands

    bahamas10 committed with behlendorf May 30, 2017
    Authored by: Dave Eddy <dave@daveeddy.com>
    Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
    Reviewed by: Joshua M. Clulow <jmc@joyent.com>
    Reviewed by: Josh Wilsdon <jwilsdon@joyent.com>
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: George Wilson <george.wilson@delphix.com>
    Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
    Reviewed by: Alan Somers <asomers@gmail.com>
    Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
    Approved by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    
    OpenZFS-issue: https://www.illumos.org/issues/6939
    OpenZFS-commit: openzfs/openzfs@ce1577b
    Closes #6328
  6. Fixed VERIFY3_IMPL() bug from 682ce10

    tcaputi committed with behlendorf Jul 13, 2017
    When VERIFY3_IMPL() was adjusted in 682ce10, the values of
    the operands were omitted from the variadic arguments list.
    This patch simply corrects this.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Signed-off-by: Tom Caputi <tcaputi@datto.com>
    Closes #6343
Commits on Jul 12, 2017
  1. Add port of FreeBSD 'volmode' property

    loli10K committed with behlendorf Jul 12, 2017
    The volmode property may be set to control the visibility of ZVOL
    block devices.
    
    This allow switching ZVOL between three modes:
       full - existing fully functional behaviour (default)
       dev  - hide partitions on ZVOL block devices
       none - not exposing volumes outside ZFS
    
    Additionally the new zvol_volmode module parameter can be used to
    control the default behaviour.
    
    This functionality can be used, for instance, on "backup" pools to
    avoid cluttering /dev with unneeded zd* devices.
    
    Original-patch-by: mav <mav@FreeBSD.org>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Ported-by: loli10K <ezomori.nozomu@gmail.com>
    Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
    
    FreeBSD-commit: freebsd/freebsd@dd28e6b
    Closes #1796 
    Closes #3438 
    Closes #6233
Commits on Jul 9, 2017
  1. OpenZFS 5428 - provide fts(), reallocarray(), and strtonum()

    yuripv committed with behlendorf Jun 13, 2017
    Authored by: Yuri Pankov <yuri.pankov@nexenta.com>
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Approved by: Joshua M. Clulow <josh@sysmgr.org>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
    
    Porting Notes:
    * All hunks unrelated to ZFS were dropped.
    
    OpenZFS-issue: https://www.illumos.org/issues/5428
    OpenZFS-commit: openzfs/openzfs@4585130
    Closes #6326
Commits on Jul 8, 2017
  1. Exit test-runner with non-zero if tests are KILLED

    dinatale2 committed with behlendorf Jul 8, 2017
    fe46eeb introduced non-zero exit codes to test-runner.
    A non-zero exit code should be returned when test-runner
    decided to kill a test and mark it as KILLED.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes #6325