This project is mirrored from https://github.com/openzfs/zfs.git. Pull mirroring failed .
Last successful update .
  1. 10 8月, 2022 1 次提交
    • Tony Hutter's avatar
      ZTS: Fix zpool_expand_001_pos · b3d0568c
      Tony Hutter 创作于
      
      
      `zpool_expand_001_pos` was often failing due to not seeing autoexpand
      commands in the `zpool history`.  During testing, I found this to be
      unreliable (sometimes the "online" wouldn't appear in `zpool history`)
      and unnecessary, as we could simply check that the pool increased in
      size.
      
      This commit revamps the test to check for the expanded pool size
      and corresponding new free space.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Signed-off-by: default avatarTony Hutter <hutter2@llnl.gov>
      Closes #13743 
      b3d0568c
  2. 09 8月, 2022 2 次提交
  3. 05 8月, 2022 5 次提交
  4. 03 8月, 2022 3 次提交
  5. 02 8月, 2022 2 次提交
  6. 29 7月, 2022 2 次提交
  7. 27 7月, 2022 1 次提交
  8. 26 7月, 2022 2 次提交
  9. 21 7月, 2022 4 次提交
    • Christian Schwarz's avatar
      zdb: dump spill block pointer if present · bf61a507
      Christian Schwarz 创作于
      
      
      Output will look like so:
      
        $ sudo zdb -dddd -vv testpool/fs 2
        Dataset testpool/fs [ZPL], ID 260, cr_txg 8, 25K, 7 objects, rootbp DVA[0]=<0:1800be00:200> DVA[1]=<0:1c00be00:200> [L0 DMU objset] fletcher4 lz4 unencrypted LE contiguous unique double size=1000L/200P birth=16L/16P fill=7 cksum=d03b396cd:489ca835517:d4b04a4d0a62:1b413aac454d53
      
            Object  lvl   iblk   dblk  dsize  dnsize  lsize   %full  type
                 2    1   128K    512     1K     512    512    0.00  ZFS plain file (K=inherit) (Z=inherit=lz4)
                                                       192   bonus  System attributes
            dnode flags: USED_BYTES USERUSED_ACCOUNTED USEROBJUSED_ACCOUNTED SPILL_BLKPTR
            dnode maxblkid: 0
            path    /testfile
            uid     0
            gid     0
            atime   Fri Jul 15 12:36:35 2022
            mtime   Fri Jul 15 12:36:35 2022
            ctime   Fri Jul 15 12:36:51 2022
            crtime  Fri Jul 15 12:36:35 2022
            gen 10
            mode    100600
            size    0
            parent  34
            links   1
            pflags  840800000004
            SA xattrs: 248 bytes, 2 entries
      
                security.selinux = nutanix_u:object_r:unlabeled_t:s0\000
                user.foo = xbLQJjyVvEVPGGuRHV/gjkFFO1MdehKnLjjd36ZaoMVaUqtqFoMMYT5Ya9yywHApJNoK/1hNJfO3\012XCJWv9/QUTKamoWW9xVDE7yi8zn166RNw5QUhf84cZ3JNLnw6oN
      
      Spill block: 0:10005c00:200 0:14005c00:200 200L/200P F=1 B=16/16 cksum=1cdfac47a4:910c5caa557:195d0493dfe5a:332b6fde6ad547
      Indirect blocks:
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarAllan Jude <allan@klarasystems.com>
      Signed-off-by: default avatarChristian Schwarz <christian.schwarz@nutanix.com>
      Closes #13640 
      bf61a507
    • ixhamza's avatar
      Add support for per dataset zil stats and use wmsum counters · fb087146
      ixhamza 创作于
      
      
      ZIL kstats are reported in an inclusive way, i.e., same counters are
      shared to capture all the activities happening in zil. Added support
      to report zil stats for every datset individually by combining them
      with already exposed dataset kstats.
      
      Wmsum uses per cpu counters and provide less overhead as compared
      to atomic operations. Updated zil kstats to replace wmsum counters
      to avoid atomic operations.
      Reviewed-by: default avatarChristian Schwarz <christian.schwarz@nutanix.com>
      Reviewed-by: default avatarRyan Moeller <ryan@iXsystems.com>
      Reviewed-by: default avatarAlexander Motin <mav@FreeBSD.org>
      Signed-off-by: default avatarAmeer Hamza <ahamza@ixsystems.com>
      Closes #13636 
      fb087146
    • Alexander Motin's avatar
      Fix scrub resume from newly created hole · 33dba8c7
      Alexander Motin 创作于
      
      
      It may happen that scan bookmark points to a block that was turned
      into a part of a big hole.  In such case dsl_scan_visitbp() may skip
      it and dsl_scan_check_resume() will not be called for it.  As result
      new scan suspend won't be possible until the end of the object, that
      may take hours if the object is a multi-terabyte ZVOL on a slow HDD
      pool, stretching TXG to all that time, creating all sorts of problems.
      
      This patch changes the resume condition to any greater or equal block,
      so even if we miss the bookmarked block, the next one we find will
      delete the bookmark, allowing new suspend.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarRyan Moeller <ryan@iXsystems.com>
      Signed-off-by: default avatarAlexander Motin <mav@FreeBSD.org>
      Sponsored-By: iXsystems, Inc.
      Closes #13643 
      33dba8c7
    • Tino Reichardt's avatar
      Fix memory allocation for the checksum benchmark · 97fd1ea4
      Tino Reichardt 创作于
      
      
      Allocation via kmem_cache_alloc() is limited to less then 4m for
      some architectures.
      
      This commit limits the benchmarks with the linear abd cache to 1m
      on all architectures and adds 4m + 16m benchmarks via non-linear
      abd_alloc().
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarAlexander Motin <mav@FreeBSD.org>
      Co-authored-by: default avatarSebastian Gottschall <s.gottschall@dd-wrt.com>
      Signed-off-by: default avatarTino Reichardt <milky-zfs@mcmilk.de>
      Closes #13669
      Closes #13670
      97fd1ea4
  10. 15 7月, 2022 2 次提交
  11. 12 7月, 2022 4 次提交
  12. 08 7月, 2022 1 次提交
  13. 06 7月, 2022 2 次提交
    • Alexander Motin's avatar
      Avoid memory copy when verifying raidz/draid parity · 74230a5b
      Alexander Motin 创作于
      
      
      Before this change for every valid parity column raidz_parity_verify()
      allocated new buffer and copied there existing data, then recalculated
      the parity and compared the result with the copy.  This patch removes
      the memory copy, simply swapping original buffer pointers with newly
      allocated empty ones for parity recalculation and comparison. Original
      buffers with potentially incorrect parity data are then just freed,
      while new recalculated ones are used for repair.
      
      On a pool of 12 4-wide raidz vdevs, storing 1.5TB of 16MB blocks, this
      change reduces memory traffic during scrub by 17% and total unhalted
      CPU time by 25%.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Signed-off-by: default avatarAlexander Motin <mav@FreeBSD.org>
      Sponsored-By: iXsystems, Inc.
      Closes #13613 
      74230a5b
    • Alexander Motin's avatar
      Avoid memory copies during mirror scrub · 1ac7d194
      Alexander Motin 创作于
      
      
      Issuing several scrub reads for a block we may use the parent ZIO
      buffer for one of child ZIOs.  If that read complete successfully,
      then we won't need to copy the data explicitly.  If block has only
      one copy (typical for root vdev, which is also a mirror inside),
      then we never need to copy -- succeed or fail as-is.  Previous
      code also copied data from buffer of every successfully completed
      child ZIO, but that just does not make any sense.
      
      On healthy N-wide mirror this saves all N+1 (or even more in case
      of ditto blocks) memory copies for each scrubbed block, allowing
      CPU to focus mostly on check-summing.  For other vdev types it
      should save one memory copy per block copy at root vdev.
      Reviewed-by: default avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Reviewed-by: default avatarMark Maybee <mark.maybee@delphix.com>
      Signed-off-by: default avatarAlexander Motin <mav@FreeBSD.org>
      Sponsored-By: iXsystems, Inc.
      Closes #13606 
      1ac7d194
  14. 01 7月, 2022 3 次提交
  15. 30 6月, 2022 6 次提交