Skip to content

Commits

Permalink
debian/wip-0.7
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Sep 29, 2017

  1. update changelog

    Fabian-Gruenbichler committed Sep 29, 2017
    Copy the full SHA
    372bad2 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2017

  1. Copy the full SHA
    8939aea View commit details
    Browse the repository at this point in the history
  2. Tag zfs-0.7.2

    META file and changelog updated.
    
    Signed-off-by: Tony Hutter <hutter2@llnl.gov>
    tonyhutter authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    dc742f9 View commit details
    Browse the repository at this point in the history
  3. Correct cppcheck errors (openzfs#6662)

    ZFS buildbot STYLE builder was moved to Ubuntu 17.04
    which has a newer version of cppcheck. Handle the
    new cppcheck errors.
    
    uu_* functions removed in this commit were unused
    and effectively dead code. They are now retired.
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes openzfs#6653
    dinatale2 authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    95bdf87 View commit details
    Browse the repository at this point in the history
  4. Increase default arc_c_min

    Increase the default arc_c_min value to which whichever is larger,
    either 32M or 1/32 of total system memory.  This is advantageous for
    systems with more than 1G of memory where performance issues may
    occur when the ARC is allowed to collapse below a minimum size.
    At the same time we want to use the bare minimum value which is
    still functional so the filesystem can be used in very low memory
    environments.
    
    Reviewed-by: Tim Chase <tim@chase2k.com>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes openzfs#6659
    behlendorf authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    8de0863 View commit details
    Browse the repository at this point in the history
  5. Export symbol dmu_tx_mark_netfree()

    This symbol is needed by Lustre for the same reason it was needed
    by the ZPL.  It should have been exported when the original patch
    was merged.
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes openzfs#6660
    behlendorf authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    eb32e89 View commit details
    Browse the repository at this point in the history
  6. ZTS fix slog_replay_volume.ksh failure

    The slog_replay_volume.ksh test case will fail when the pool is
    layered on files in a filesystem which does not support discard.
    Avoid this issue by creating the pool using DISKS which will
    either be loopback device or real disk.
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes openzfs#6654
    behlendorf authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    1354c8d View commit details
    Browse the repository at this point in the history
  7. Linux 4.14 compat: IO acct, global_page_state, etc (openzfs#6655)

    generic_start_io_acct/generic_end_io_acct in the master
    branch of the linux kernel requires that the request_queue
    be provided.
    
    Move the logic from freemem in the spl to arc_free_memory
    in arc.c. Do this so we can take advantage of global_page_state
    interface checks in zfs.
    
    Upstream kernel replaced struct block_device with
    struct gendisk in struct bio. Determine if the
    function bio_set_dev exists during configure
    and have zfs use that if it exists.
    
    bio_set_dev torvalds/linux@74d4699
    global_node_page_state torvalds/linux@75ef718
    io acct torvalds/linux@d62e26b
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes openzfs#6635
    
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    behlendorf authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    b5df35d View commit details
    Browse the repository at this point in the history
  8. Modifying XATTRs doesnt change the ctime

    Changing any metadata, should modify the ctime.
    
    Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: gaurkuma <gauravk.18@gmail.com>
    Closes openzfs#3644
    Closes openzfs#6586
    gaurkuma authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    481d877 View commit details
    Browse the repository at this point in the history
  9. Fix volume WR_INDIRECT log replay (openzfs#6620)

    The portion of the zvol_replay_write() handler responsible for
    replaying indirect log records for some reason never existed.
    As a result indirect log records were not being correctly replayed.
    
    This went largely unnoticed since the majority of zvol log records
    were of the type WR_COPIED or WR_NEED_COPY prior to OpenZFS 7578.
    
    This patch updates zvol_replay_write() to correctly handle these
    log records and adds a new test case which verifies volume replay
    to prevent any regression.  The existing test case which verified
    replay on filesystem was renamed slog_replay_fs.ksh for clarity.
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes openzfs#6603
    behlendorf authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    b7b751c View commit details
    Browse the repository at this point in the history
  10. Improved dnode allocation and dmu_hold_impl() (openzfs#6611)

    Refactor dmu_object_alloc_dnsize() and dnode_hold_impl() to simplify the
    code, fix errors introduced by commit dbeb879 (PR openzfs#6117) interacting
    badly with large dnodes, and improve performance.
    
    * When allocating a new dnode in dmu_object_alloc_dnsize(), update the
    percpu object ID for the core's metadnode chunk immediately.  This
    eliminates most lock contention when taking the hold and creating the
    dnode.
    
    * Correct detection of the chunk boundary to work properly with large
    dnodes.
    
    * Separate the dmu_hold_impl() code for the FREE case from the code for
    the ALLOCATED case to make it easier to read.
    
    * Fully populate the dnode handle array immediately after reading a
    block of the metadnode from disk.  Subsequently the dnode handle array
    provides enough information to determine which dnode slots are in use
    and which are free.
    
    * Add several kstats to allow the behavior of the code to be examined.
    
    * Verify dnode packing in large_dnode_008_pos.ksh.  Since the test is
    purely creates, it should leave very few holes in the metadnode.
    
    * Add test large_dnode_009_pos.ksh, which performs concurrent creates
    and deletes, to complement existing test which does only creates.
    
    With the above fixes, there is very little contention in a test of about
    200,000 racing dnode allocations produced by tests 'large_dnode_008_pos'
    and 'large_dnode_009_pos'.
    
    name                            type data
    dnode_hold_dbuf_hold            4    0
    dnode_hold_dbuf_read            4    0
    dnode_hold_alloc_hits           4    3804690
    dnode_hold_alloc_misses         4    216
    dnode_hold_alloc_interior       4    3
    dnode_hold_alloc_lock_retry     4    0
    dnode_hold_alloc_lock_misses    4    0
    dnode_hold_alloc_type_none      4    0
    dnode_hold_free_hits            4    203105
    dnode_hold_free_misses          4    4
    dnode_hold_free_lock_misses     4    0
    dnode_hold_free_lock_retry      4    0
    dnode_hold_free_overflow        4    0
    dnode_hold_free_refcount        4    57
    dnode_hold_free_txg             4    0
    dnode_allocate                  4    203154
    dnode_reallocate                4    0
    dnode_buf_evict                 4    23918
    dnode_alloc_next_chunk          4    4887
    dnode_alloc_race                4    0
    dnode_alloc_next_block          4    18
    
    The performance is slightly improved for concurrent creates with
    16+ threads, and unchanged for low thread counts.
    
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
    dinatale2 authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    845dacc View commit details
    Browse the repository at this point in the history
  11. Linux 4.8+ compatibility fix for vm stats

    vm_node_stat must be used instead of vm_zone_stat. Unfortunately the
    old code still compiles potentially leading to silent failure of
    arc_evictable_memory()
    
    AKAMAI: CR 3816601: Regression in zfs dropcache test
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
    Signed-off-by: Debabrata Banerjee <dbanerje@akamai.com>
    Closes openzfs#6528
    dbavatar authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    307f174 View commit details
    Browse the repository at this point in the history
  12. Disable mount(8) canonical paths in do_mount()

    By default the mount(8) command, as invoked by 'zfs mount', will try
    to resolve any path parameter in its canonical form: this could lead
    to mount failures when the cwd contains a symlink having the same name
    of the dataset being mounted.
    
    Fix this by explicitly disabling mount(8) path canonicalization.
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
    Closes openzfs#1791 
    Closes openzfs#6429 
    Closes openzfs#6437
    loli10K authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    8c4f958 View commit details
    Browse the repository at this point in the history
  13. Fix range locking in ZIL commit codepath

    Since OpenZFS 7578 (1b7c1e5) if we have a ZVOL with logbias=throughput
    we will force WR_INDIRECT itxs in zvol_log_write() setting itx->itx_lr
    offset and length to the offset and length of the BIO from
    zvol_write()->zvol_log_write(): these offset and length are later used
    to take a range lock in zillog->zl_get_data function: zvol_get_data().
    
    Now suppose we have a ZVOL with blocksize=8K and push 4K writes to
    offset 0: we will only be range-locking 0-4096. This means the
    ASSERTion we make in dbuf_unoverride() is no longer valid because now
    dmu_sync() is called from zilog's get_data functions holding a partial
    lock on the dbuf.
    
    Fix this by taking a range lock on the whole block in zvol_get_data().
    
    Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
    Closes openzfs#6238 
    Closes openzfs#6315 
    Closes openzfs#6356 
    Closes openzfs#6477
    loli10K authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    0da5ddd View commit details
    Browse the repository at this point in the history
  14. Fix remounting snapshots read-write

    It's not enough to preserve/restore MS_RDONLY on the superblock flags
    to avoid remounting a snapshot read-write: be explicit about our
    intentions to the VFS layer so the readonly bit is updated correctly
    in do_remount_sb().
    
    Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
    Closes openzfs#6510
    Closes openzfs#6515
    loli10K authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    e7cfe1e View commit details
    Browse the repository at this point in the history
  15. Fix ZTS grow_pool/setup

    The addition of the large_dnode_008_pos test case, which runs
    right before this one, exposed some racy behavior in grow_pool
    setup.sh on the Ubuntu kmemleak builder.  Before creating
    partitions on a device destroying any existing ones.
    
      ERROR: set_partition 1  100mb loop0 exited 1
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes openzfs#6499 
    Closes openzfs#6516
    behlendorf authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    47b18c4 View commit details
    Browse the repository at this point in the history
  16. vdev_id: implement slot numbering by port id

    With HPE hardware and hpsa-driven SAS adapters, only a single phy is
    reported, but no individual per-port phys (ie. no phy* entry below
    port_dir), which breaks topology detection in the current sas_handler
    code. Instead, slot information can be derived directly from the port
    number. This change implements a new slot keyword "port" similar to
    "id" and "lun", and assumes a default phy/port of 0 if no individual
    phy entry can be found. It allows to use the "sas_direct" topology with
    current HPE Dxxxx and Apollo 45xx JBODs.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Daniel Kobras <d.kobras@science-computing.de>
    Closes openzfs#6484
    sckobras authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    fe25af5 View commit details
    Browse the repository at this point in the history
  17. Fix NULL pointer when O_SYNC read in snapshot

    When doing read on a file open with O_SYNC, it will trigger zil_commit.
    However for snapshot, there's no zil, so we shouldn't be doing that.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
    Closes openzfs#6478 
    Closes openzfs#6494
    tuxoko authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    cfbf6f6 View commit details
    Browse the repository at this point in the history
  18. zio_dva_throttle_done() should allow zinjected ZIO

    If fault injection is enabled, the ZIO_FLAG_IO_RETRY could be set by
    zio_handle_device_injection() to generate the FMA events and update
    stats. Hence, ignore the flag and process such zios.
    
    A better fix would be to add another flag in the zio_t to indicate that
    the zio is failed because of a zinject rule. However, considering the
    fact that we do this in debug bits, we could do with the crude check
    using the global flag zio_injection_enabled which is set to 1 when
    zinject records are added.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Sanjeev Bagewadi <sanjeev.bagewadi@gmail.com>
    Closes openzfs#6383 
    Closes openzfs#6384
    sanjeevbagewadi authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    281ff2e View commit details
    Browse the repository at this point in the history
  19. Man page fixes

    * ztest.1 man page: fix typo
    * zfs-module-parameters.5 man page: fix grammar
    
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
    Closes openzfs#6492
    Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    952a939 View commit details
    Browse the repository at this point in the history
  20. Crash in dbuf_evict_one with DTRACE_PROBE

    Update the dbuf__evict__one() tracepoint so that it can safely
    handle a NULL dmu_buf_impl_t pointer.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
    Signed-off-by: gaurkuma <gauravk.18@gmail.com>
    Closes openzfs#6463
    gaurkuma authored and Fabian-Gruenbichler committed Sep 28, 2017
    Copy the full SHA
    3af961b View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2017

  1. update changelog

    Fabian-Gruenbichler committed Sep 6, 2017
    Copy the full SHA
    935658a View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2017

  1. Copy the full SHA
    35c872b View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    3ae723d View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    8081c6e View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    cb824bf View commit details
    Browse the repository at this point in the history
  5. Tag zfs-0.7.1

    META file and changelog updated.
    
    Signed-off-by: Tony Hutter <hutter2@llnl.gov>
    tonyhutter authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    7b20182 View commit details
    Browse the repository at this point in the history
  6. Fix dnode allocation race

    When performing concurrent object allocations using the new
    multi-threaded allocator and large dnodes it's possible to
    allocate overlapping large dnodes.
    
    This case should have been handled by detecting an error
    returned by dnode_hold_impl().  But that logic only checked
    the returned dnp was not-NULL, and the dnp variable was not
    reset to NULL when retrying.  Resolve this issue by properly
    checking the return value of dnode_hold_impl().
    
    Additionally, it was possible that dnode_hold_impl() would
    misreport a dnode as free when it was in fact in use.  This
    could occurs for two reasons:
    
    * The per-slot zrl_lock must be held over the entire critical
      section which includes the alloc/free until the new dnode
      is assigned to children_dnodes.  Additionally, all of the
      zrl_lock's in the range must be held to protect moving
      dnodes.
    
    * The dn->dn_ot_type cannot be solely relied upon to check
      the type.  When allocating a new dnode its type will be
      DMU_OT_NONE after dnode_create().  Only latter when
      dnode_allocate() is called will it transition to the new
      type.  This means there's a window when allocating where
      it can mistaken for a free dnode.
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Ned Bass <bass6@llnl.gov>
    Reviewed-by: Tony Hutter <hutter2@llnl.gov>
    Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes openzfs#6414
    Closes openzfs#6439
    behlendorf authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    a94f106 View commit details
    Browse the repository at this point in the history
  7. Add debug log entries for failed receive records

    Log contents of a receive record if an error occurs while writing
    it out to the pool. This may help determine the cause when backup
    streams are rejected as invalid.
    
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Ned Bass <bass6@llnl.gov>
    Closes openzfs#6465
    nedbass authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    9a47a57 View commit details
    Browse the repository at this point in the history
  8. dracut: Install commands required for vdev_id

    The vdev_id script requires awk, grep, and head.  Use dracut_install to
    ensure that these commands are available in the initrd environment.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Karsten Kretschmer <kkretschmer@gmail.com>
    Closes openzfs#6443
    Closes openzfs#6452
    kkretschmer authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    46c16a7 View commit details
    Browse the repository at this point in the history
  9. Only record zio->io_delay on reads and writes

    While investigating openzfs#6425 I
    noticed that ioctl ZIOs were not setting zio->io_delay correctly.  They
    would set the start time in zio_vdev_io_start(), but never set the end
    time in zio_vdev_io_done(), since ioctls skip it and go straight to
    zio_done().  This was causing spurious "delayed IO" events to appear,
    which would eventually get rate-limited and displayed as
    "Missed events" messages in zed.
    
    To get around the problem, this patch only sets zio->io_delay for read
    and write ZIOs, since that's all we care about anyway.
    
    Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Reviewed-by: George Melikov <mail@gmelikov.ru>
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Tony Hutter <hutter2@llnl.gov>
    Closes openzfs#6425
    Closes openzfs#6440
    tonyhutter authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    d6cf415 View commit details
    Browse the repository at this point in the history
  10. mmp_on_uberblocks: Use kstat for uberblock counts

    Use kstat to get a more accurate count of uberblock updates.
    Using a loop with zdb can potentially miss some uberblocks.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes openzfs#6407
    Closes openzfs#6419
    dinatale2 authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    36c2c8f View commit details
    Browse the repository at this point in the history
  11. Fix volmode=none property behavior at import time

    At import time spa_import() calls zvol_create_minors() directly: with
    the current implementation we have no way to avoid device node
    creation when volmode=none.
    
    Fix this by enforcing volmode=none directly in zvol_alloc().
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
    Closes openzfs#6426
    loli10K authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    f9ba8c4 View commit details
    Browse the repository at this point in the history
  12. Fix aarch64 build

    Add aarch64 to the list of architecture which do not sanitize the
    LDFLAGS from the environment.  See fb963d3 for details.
    
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Closes openzfs#6424
    behlendorf authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    799e6c7 View commit details
    Browse the repository at this point in the history
  13. Disable zfs_send_007_pos

    Test case zfs_send_007_pos regularly is killed
    by test-runner during zfs-tests on buildbot. Disable
    it for now until further investigation can be done.
    
    Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
    Closes openzfs#6422
    dinatale2 authored and Fabian-Gruenbichler committed Sep 4, 2017
    Copy the full SHA
    45d6844 View commit details
    Browse the repository at this point in the history
Older