6719934 assertion failed: ((&zh->zh_log)->blk_birth == 0), file: ../../common/fs/zfs/zil.c, line: 1336
6724738 ztest fails assertion in txg_list_destroy(): txg_list_empty(tl, t)
--- a/usr/src/uts/common/fs/zfs/sys/zio.h Thu Jul 24 11:17:28 2008 -0700
+++ b/usr/src/uts/common/fs/zfs/sys/zio.h Thu Jul 24 11:23:47 2008 -0700
@@ -300,9 +300,9 @@
zio_done_func_t *ready, zio_done_func_t *done, void *private, int priority,
int flags, const zbookmark_t *zb);
-extern zio_t *zio_rewrite(zio_t *pio, spa_t *spa, int checksum, blkptr_t *bp,
- void *data, uint64_t size, zio_done_func_t *done, void *private,
- int priority, int flags, zbookmark_t *zb);
+extern zio_t *zio_rewrite(zio_t *pio, spa_t *spa, int checksum, uint64_t txg,
+ blkptr_t *bp, void *data, uint64_t size, zio_done_func_t *done,
+ void *private, int priority, int flags, zbookmark_t *zb);
extern zio_t *zio_free(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp,
zio_done_func_t *done, void *private);
--- a/usr/src/uts/common/fs/zfs/zil.c Thu Jul 24 11:17:28 2008 -0700
+++ b/usr/src/uts/common/fs/zfs/zil.c Thu Jul 24 11:23:47 2008 -0700
@@ -662,7 +662,7 @@
}
if (lwb->lwb_zio == NULL) {
lwb->lwb_zio = zio_rewrite(zilog->zl_root_zio, zilog->zl_spa,
- ZIO_CHECKSUM_ZILOG, &lwb->lwb_blk, lwb->lwb_buf,
+ ZIO_CHECKSUM_ZILOG, 0, &lwb->lwb_blk, lwb->lwb_buf,
lwb->lwb_sz, zil_lwb_write_done, lwb,
ZIO_PRIORITY_LOG_WRITE, ZIO_FLAG_CANFAIL, &zb);
}
@@ -1337,7 +1337,6 @@
*/
while (zilog->zl_suspending)
cv_wait(&zilog->zl_cv_suspend, &zilog->zl_lock);
- ASSERT(BP_IS_HOLE(&zh->zh_log));
mutex_exit(&zilog->zl_lock);
return (0);
}
--- a/usr/src/uts/common/fs/zfs/zio.c Thu Jul 24 11:17:28 2008 -0700
+++ b/usr/src/uts/common/fs/zfs/zio.c Thu Jul 24 11:23:47 2008 -0700
@@ -543,13 +543,13 @@
}
zio_t *
-zio_rewrite(zio_t *pio, spa_t *spa, int checksum, blkptr_t *bp, void *data,
- uint64_t size, zio_done_func_t *done, void *private, int priority,
- int flags, zbookmark_t *zb)
+zio_rewrite(zio_t *pio, spa_t *spa, int checksum, uint64_t txg,
+ blkptr_t *bp, void *data, uint64_t size, zio_done_func_t *done,
+ void *private, int priority, int flags, zbookmark_t *zb)
{
zio_t *zio;
- zio = zio_create(pio, spa, bp->blk_birth, bp, data, size, done, private,
+ zio = zio_create(pio, spa, txg, bp, data, size, done, private,
ZIO_TYPE_WRITE, priority, flags | ZIO_FLAG_USER,
ZIO_STAGE_OPEN, ZIO_REWRITE_PIPELINE(bp));
@@ -1521,10 +1521,10 @@
ASSERT(i < SPA_GBH_NBLKPTRS);
ASSERT(!BP_IS_HOLE(gbp));
- zio_nowait(zio_rewrite(zio, zio->io_spa, zio->io_checksum, gbp,
- (char *)zio->io_data + loff, lsize, NULL, NULL,
- zio->io_priority, zio->io_flags & ZIO_FLAG_GANG_INHERIT,
- &zio->io_bookmark));
+ zio_nowait(zio_rewrite(zio, zio->io_spa, zio->io_checksum,
+ zio->io_txg, gbp, (char *)zio->io_data + loff, lsize,
+ NULL, NULL, zio->io_priority,
+ zio->io_flags & ZIO_FLAG_GANG_INHERIT, &zio->io_bookmark));
}
zio_push_transform(zio, gbh, gsize, gbufsize);
@@ -1670,8 +1670,8 @@
BP_SET_PSIZE(gbp, lsize);
BP_SET_COMPRESS(gbp, ZIO_COMPRESS_OFF);
gbp->blk_birth = txg;
- zio_nowait(zio_rewrite(zio, spa, zio->io_checksum, gbp,
- (char *)zio->io_data + loff, lsize,
+ zio_nowait(zio_rewrite(zio, spa, zio->io_checksum, txg,
+ gbp, (char *)zio->io_data + loff, lsize,
zio_write_allocate_gang_member_done, NULL,
zio->io_priority,
zio->io_flags & ZIO_FLAG_GANG_INHERIT,