1. 15 Jun, 2021 5 commits
    • наб's avatar
      systemd: import: expand $ZPOOL_IMPORT_OPTS correctly · ff64096e
      наб authored
      Turns out $ZPOOL_IMPORT_OPTS expands in a shell-like fashion,
      yielding 'import' '-aN' '-o' 'cachefile=none' for an unset variable,
      and 'import' '-aN' '-o' 'cachefile=none' 'word1' 'word2' for a
      white-spaced one, but ${ZPOOL_IMPORT_OPTS} expands like "${Z_I_O}"
      would in a shell, yielding 'import' '-aN' '-o' 'cachefile=none' ''
      (empty) and 'import' '-aN' '-o' 'cachefile=none' 'word1 word2' (spaced)
      
      Fixes eec5ba11
      
       "dracut: 90zfs: respect
      zfs_force=1 on systemd systems"
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarJohn Kennedy <john.kennedy@delphix.com>
      Signed-off-by: default avatarAhelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
      Closes: #12231
      ff64096e
    • Matthew Ahrens's avatar
      vdev_draid_min_asize() ignores reserved space · 7e221299
      Matthew Ahrens authored
      
      vdev_draid_min_asize() returns the minimum size of a child vdev.  This
      is used when determining if a disk is big enough to replace a child.
      It's also used by zdb to determine how big of a child to make to test
      replacement.
      
      vdev_draid_min_asize() says that the child’s asize has to be at least
      1/Nth of the entire draid’s asize, which is the same logic as raidz.
      However, this contradicts the code in vdev_draid_open(), which
      calculates the draid’s asize based on a reduced child size:
      
        An additional 32MB of scratch space is reserved at the end of each
        child for use by the dRAID expansion feature
      
      So the problem is that you can replace a draid disk with one that’s
      vdev_draid_min_asize(), but it actually needs to be larger to accommodate
      the additional 32MB.  The replacement is allowed and everything works at
      first (since the reserved space is at the end, and we don’t try to use
      it yet), but when you try to close and reopen the pool,
      vdev_draid_open() calculates a smaller asize for the draid, because of
      the smaller leaf, which is not allowed.
      
      I think the confusion is that vdev_draid_min_asize() is correctly
      returning the amount of required *allocatable* space in a leaf, but the
      actual *size* of the leaf needs to be at least 32MB more than that.
      ztest_vdev_attach_detach() assumes that it can attach that size of
      device, and it actually can (the kernel/libzpool accepts it), but it
      then later causes zdb to not be able to open the pool.
      
      This commit changes vdev_draid_min_asize() to return the required size
      of the leaf, not the size that draid will make available to the metaslab
      allocator.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarMark Maybee <mark.maybee@delphix.com>
      Signed-off-by: default avatarMatthew Ahrens <mahrens@delphix.com>
      Closes #11459
      Closes #12221 
      7e221299
    • Paul Zuchowski's avatar
      Do not hash unlinked inodes · bd83c1e0
      Paul Zuchowski authored
      
      In zfs_znode_alloc we always hash inodes.  If the
      znode is unlinked, we do not need to hash it.  This
      fixes the problem where zfs_suspend_fs is doing zrele
      (iput) in an async fashion, and zfs_resume_fs unlinked
      drain processing will try to hash an inode that could
      still be hashed, resulting in a panic.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarAlan Somers <asomers@gmail.com>
      Signed-off-by: default avatarPaul Zuchowski <pzuchowski@datto.com>
      Closes #9741
      Closes #11223
      Closes #11648
      Closes #12210
      bd83c1e0
    • Rich Ercolani's avatar
      Added uncompress requirement · a416b29e
      Rich Ercolani authored
      
      Having an old enough version of "file" and no "uncompress" program
      installed can cause rpmbuild as root to crash and mangle rpmdb.
      
      So let's add a build dependency for RPM-based systems.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarTony Hutter <hutter2@llnl.gov>
      Signed-off-by: default avatarRich Ercolani <rincebrain@gmail.com>
      Closes: #12071
      Closes: #12168
      a416b29e
    • Brian Behlendorf's avatar
      ZTS: Add zfs_clone_livelist_dedup.ksh to Makefile.am · af4b6f7d
      Brian Behlendorf authored
      Commit 86b5f4c1
      
       added a new zfs_clone_livelist_dedup.ksh test case
      but didn't include it in the Makefile.am.  This results in the test
      not being included in the dist tarball so it's never run by the CI.
      Reviewed-by: default avatarJohn Kennedy <john.kennedy@delphix.com>
      Reviewed-by: default avatarSerapheim Dimitropoulos <serapheim@delphix.com>
      Signed-off-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Closes: #12224
      af4b6f7d
  2. 10 Jun, 2021 11 commits
  3. 09 Jun, 2021 24 commits