diff options
author | mm <mm@FreeBSD.org> | 2013-02-11 12:42:11 +0000 |
---|---|---|
committer | mm <mm@FreeBSD.org> | 2013-02-11 12:42:11 +0000 |
commit | 22ab64ccb2461dded21f4c8a09029daf1027c2f8 (patch) | |
tree | 2649bc26255ec262bbcca7821c20460caff57c0d /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c | |
parent | 3647f040d3f9d32573905dc01b99edcd0493cbf7 (diff) | |
download | FreeBSD-src-22ab64ccb2461dded21f4c8a09029daf1027c2f8.zip FreeBSD-src-22ab64ccb2461dded21f4c8a09029daf1027c2f8.tar.gz |
MFV r246392:
Import vendor ZFS bugfix fixing a possible deadlock in arc_read().
Illumos ZFS issues:
3498 panic in arc_read(): !refcount_is_zero(&pbuf->b_hdr->b_refcnt)
References:
https://www.illumos.org/issues/3498
MFC after: 2 weeks
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c index 0306899..29c6cf5 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c @@ -201,7 +201,7 @@ zil_read_log_block(zilog_t *zilog, const blkptr_t *bp, blkptr_t *nbp, void *dst, SET_BOOKMARK(&zb, bp->blk_cksum.zc_word[ZIL_ZC_OBJSET], ZB_ZIL_OBJECT, ZB_ZIL_LEVEL, bp->blk_cksum.zc_word[ZIL_ZC_SEQ]); - error = dsl_read_nolock(NULL, zilog->zl_spa, bp, arc_getbuf_func, &abuf, + error = arc_read(NULL, zilog->zl_spa, bp, arc_getbuf_func, &abuf, ZIO_PRIORITY_SYNC_READ, zio_flags, &aflags, &zb); if (error == 0) { @@ -277,7 +277,7 @@ zil_read_log_data(zilog_t *zilog, const lr_write_t *lr, void *wbuf) SET_BOOKMARK(&zb, dmu_objset_id(zilog->zl_os), lr->lr_foid, ZB_ZIL_LEVEL, lr->lr_offset / BP_GET_LSIZE(bp)); - error = arc_read_nolock(NULL, zilog->zl_spa, bp, arc_getbuf_func, &abuf, + error = arc_read(NULL, zilog->zl_spa, bp, arc_getbuf_func, &abuf, ZIO_PRIORITY_SYNC_READ, zio_flags, &aflags, &zb); if (error == 0) { |