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/dmu.h
          +++ new/usr/src/uts/common/fs/zfs/sys/dmu.h
↓ open down ↓ 604 lines elided ↑ open up ↑
 605  605   *
 606  606   * Canfail routines will return 0 on success, or an errno if there is a
 607  607   * nonrecoverable I/O error.
 608  608   */
 609  609  #define DMU_READ_PREFETCH       0 /* prefetch */
 610  610  #define DMU_READ_NO_PREFETCH    1 /* don't prefetch */
 611  611  int dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
 612  612          void *buf, uint32_t flags);
 613  613  void dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
 614  614          const void *buf, dmu_tx_t *tx);
      615 +void dmu_write_zero(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, dmu_tx_t *tx);
 615  616  void dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
 616  617          dmu_tx_t *tx);
 617  618  int dmu_read_uio(objset_t *os, uint64_t object, struct uio *uio, uint64_t size);
 618  619  int dmu_read_uio_dbuf(dmu_buf_t *zdb, struct uio *uio, uint64_t size);
 619  620  int dmu_write_uio(objset_t *os, uint64_t object, struct uio *uio, uint64_t size,
 620  621      dmu_tx_t *tx);
 621  622  int dmu_write_uio_dbuf(dmu_buf_t *zdb, struct uio *uio, uint64_t size,
 622  623      dmu_tx_t *tx);
 623  624  int dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset,
 624  625      uint64_t size, struct page *pp, dmu_tx_t *tx);
↓ open down ↓ 209 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX