Print this page
Possibility to physically reserve space without writing leaf blocks

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/spa.h
          +++ new/usr/src/uts/common/fs/zfs/sys/spa.h
↓ open down ↓ 367 lines elided ↑ open up ↑
 368  368          ASSERT(!BP_IS_EMBEDDED(bp)); \
 369  369          BF64_SET((bp)->blk_prop, 40, 8, x); \
 370  370  _NOTE(CONSTCOND) } while (0)
 371  371  
 372  372  #define BP_GET_TYPE(bp)                 BF64_GET((bp)->blk_prop, 48, 8)
 373  373  #define BP_SET_TYPE(bp, x)              BF64_SET((bp)->blk_prop, 48, 8, x)
 374  374  
 375  375  #define BP_GET_LEVEL(bp)                BF64_GET((bp)->blk_prop, 56, 5)
 376  376  #define BP_SET_LEVEL(bp, x)             BF64_SET((bp)->blk_prop, 56, 5, x)
 377  377  
      378 +#define BP_GET_PROP_RESERVATION(bp)          BF64_GET((bp)->blk_prop, 61, 1)
      379 +#define BP_SET_PROP_RESERVATION(bp, x)       BF64_SET((bp)->blk_prop, 61, 1, x)
      380 +
 378  381  #define BP_GET_DEDUP(bp)                BF64_GET((bp)->blk_prop, 62, 1)
 379  382  #define BP_SET_DEDUP(bp, x)             BF64_SET((bp)->blk_prop, 62, 1, x)
 380  383  
 381  384  #define BP_GET_BYTEORDER(bp)            BF64_GET((bp)->blk_prop, 63, 1)
 382  385  #define BP_SET_BYTEORDER(bp, x)         BF64_SET((bp)->blk_prop, 63, 1, x)
 383  386  
 384  387  #define BP_PHYSICAL_BIRTH(bp)           \
 385  388          (BP_IS_EMBEDDED(bp) ? 0 : \
 386  389          (bp)->blk_phys_birth ? (bp)->blk_phys_birth : (bp)->blk_birth)
 387  390  
↓ open down ↓ 475 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX