diff options
author | maybee <none@none> | 2007-03-26 12:01:20 -0700 |
---|---|---|
committer | maybee <none@none> | 2007-03-26 12:01:20 -0700 |
commit | af2c4821c0a23e873f2a63bca4145080aa2183e3 (patch) | |
tree | 0d586a6ce404e8dbdb86199692778a2e9babcae6 /usr/src/uts/common/fs/zfs/arc.c | |
parent | 1e7ef456443516ebe1cb6722f4133b6f1f165284 (diff) | |
download | illumos-gate-af2c4821c0a23e873f2a63bca4145080aa2183e3.tar.gz |
6437750 panic: db->db_buf==0||arc_referenced(db->db_buf), file: dbuf.c,line:1539
6466866 assertion failed: dlen <= zp->z_blksz (0x188b4 <= 0x13200), zfs_vnops.c, line: 884
6512661 unowned mutex panic during stress test
6524889 Hang adding zvol-based devices to a pool or creating a pool from zvols
6531759 zfs_rmdir() can return EEXIST on an empty directory when spotlight is messing with it
6532056 missing dmu_tx_commit() in zfs_write() eventually hangs zfs
Diffstat (limited to 'usr/src/uts/common/fs/zfs/arc.c')
-rw-r--r-- | usr/src/uts/common/fs/zfs/arc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/zfs/arc.c b/usr/src/uts/common/fs/zfs/arc.c index b23da4d668..e8d3ef0f40 100644 --- a/usr/src/uts/common/fs/zfs/arc.c +++ b/usr/src/uts/common/fs/zfs/arc.c @@ -2363,6 +2363,7 @@ arc_release(arc_buf_t *buf, void *tag) while (*bufp != buf) bufp = &(*bufp)->b_next; *bufp = (*bufp)->b_next; + buf->b_next = NULL; ASSERT3U(hdr->b_state->arcs_size, >=, hdr->b_size); atomic_add_64(&hdr->b_state->arcs_size, -hdr->b_size); @@ -2385,9 +2386,8 @@ arc_release(arc_buf_t *buf, void *tag) nhdr->b_flags = 0; nhdr->b_datacnt = 1; nhdr->b_freeze_cksum = NULL; - buf->b_hdr = nhdr; - buf->b_next = NULL; (void) refcount_add(&nhdr->b_refcnt, tag); + buf->b_hdr = nhdr; atomic_add_64(&arc_anon->arcs_size, blksz); hdr = nhdr; |