]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/dbuf.c
Fix send/recv lost spill block
[mirror_zfs.git] / module / zfs / dbuf.c
index 28ff5fc7e4ad1565d2035f3fcc3ec7bd186efd53..07e616f6f0de614e58422d45acbb94f592d57342 100644 (file)
@@ -2116,7 +2116,8 @@ dbuf_dirty(dmu_buf_impl_t *db, dmu_tx_t *tx)
        if (db->db_level == 0) {
                ASSERT(!db->db_objset->os_raw_receive ||
                    dn->dn_maxblkid >= db->db_blkid);
-               dnode_new_blkid(dn, db->db_blkid, tx, drop_struct_lock);
+               dnode_new_blkid(dn, db->db_blkid, tx,
+                   drop_struct_lock, B_FALSE);
                ASSERT(dn->dn_maxblkid >= db->db_blkid);
        }
 
@@ -2465,7 +2466,7 @@ dbuf_assign_arcbuf(dmu_buf_impl_t *db, arc_buf_t *buf, dmu_tx_t *tx)
        ASSERT(db->db_level == 0);
        ASSERT3U(dbuf_is_metadata(db), ==, arc_is_metadata(buf));
        ASSERT(buf != NULL);
-       ASSERT(arc_buf_lsize(buf) == db->db.db_size);
+       ASSERT3U(arc_buf_lsize(buf), ==, db->db.db_size);
        ASSERT(tx->tx_txg != 0);
 
        arc_return_buf(buf, db);
@@ -3958,7 +3959,7 @@ dbuf_sync_leaf(dbuf_dirty_record_t *dr, dmu_tx_t *tx)
 
        ASSERT(!list_link_active(&dr->dr_dirty_node));
        if (dn->dn_object == DMU_META_DNODE_OBJECT) {
-               list_insert_tail(&dn->dn_dirty_records[txg&TXG_MASK], dr);
+               list_insert_tail(&dn->dn_dirty_records[txg & TXG_MASK], dr);
                DB_DNODE_EXIT(db);
        } else {
                /*