]> git.proxmox.com Git - mirror_zfs.git/blobdiff - include/sys/dnode.h
Fix send/recv lost spill block
[mirror_zfs.git] / include / sys / dnode.h
index accbe6945e27c2e3bdf2bf8ae682ef538b99b584..c60258bbc768dd124c1dc6fed441b6c140f81575 100644 (file)
@@ -267,8 +267,8 @@ typedef struct dnode_phys {
        };
 } dnode_phys_t;
 
-#define        DN_SPILL_BLKPTR(dnp)    (blkptr_t *)((char *)(dnp) + \
-       (((dnp)->dn_extra_slots + 1) << DNODE_SHIFT) - (1 << SPA_BLKPTRSHIFT))
+#define        DN_SPILL_BLKPTR(dnp)    ((blkptr_t *)((char *)(dnp) + \
+       (((dnp)->dn_extra_slots + 1) << DNODE_SHIFT) - (1 << SPA_BLKPTRSHIFT)))
 
 struct dnode {
        /*
@@ -420,7 +420,8 @@ void dnode_sync(dnode_t *dn, dmu_tx_t *tx);
 void dnode_allocate(dnode_t *dn, dmu_object_type_t ot, int blocksize, int ibs,
     dmu_object_type_t bonustype, int bonuslen, int dn_slots, dmu_tx_t *tx);
 void dnode_reallocate(dnode_t *dn, dmu_object_type_t ot, int blocksize,
-    dmu_object_type_t bonustype, int bonuslen, int dn_slots, dmu_tx_t *tx);
+    dmu_object_type_t bonustype, int bonuslen, int dn_slots,
+    boolean_t keep_spill, dmu_tx_t *tx);
 void dnode_free(dnode_t *dn, dmu_tx_t *tx);
 void dnode_byteswap(dnode_phys_t *dnp);
 void dnode_buf_byteswap(void *buf, size_t size);