diff options
author | Brian Behlendorf <[email protected]> | 2009-01-13 15:02:10 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2009-01-13 15:02:10 -0800 |
commit | 02821c581983ff8bfa461aebb9956985f335f290 (patch) | |
tree | 354cf2f617f3af163052190cdc276a6854c53e2f /module/zfs | |
parent | 76151804d7f3e4fa8c129c9b60ab0498f2cc59fa (diff) | |
parent | 6c96fc31e942efaa85354de05b06852f87a25c83 (diff) |
Merge commit 'refs/top-bases/fix-branch' into fix-branch
Diffstat (limited to 'module/zfs')
-rw-r--r-- | module/zfs/dbuf.c | 1 | ||||
-rw-r--r-- | module/zfs/dnode.c | 7 | ||||
-rw-r--r-- | module/zfs/include/sys/dbuf.h | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/module/zfs/dbuf.c b/module/zfs/dbuf.c index b67f94d00..c21411249 100644 --- a/module/zfs/dbuf.c +++ b/module/zfs/dbuf.c @@ -1018,6 +1018,7 @@ dbuf_dirty(dmu_buf_impl_t *db, dmu_tx_t *tx) * transaction group won't leak out when we sync the older txg. */ dr = kmem_zalloc(sizeof (dbuf_dirty_record_t), KM_SLEEP); + list_link_init(&dr->dr_dirty_node); if (db->db_level == 0) { void *data_old = db->db_buf; diff --git a/module/zfs/dnode.c b/module/zfs/dnode.c index 5fc831f21..7f7f9592a 100644 --- a/module/zfs/dnode.c +++ b/module/zfs/dnode.c @@ -282,6 +282,13 @@ dnode_create(objset_impl_t *os, dnode_phys_t *dnp, dmu_buf_impl_t *db, dn->dn_dbuf = db; dn->dn_phys = dnp; + list_link_init(&dn->dn_link); + { + int i; + for (i = 0; i < TXG_SIZE; i++) + list_link_init(&dn->dn_dirty_link[i]); + } + if (dnp->dn_datablkszsec) dnode_setdblksz(dn, dnp->dn_datablkszsec << SPA_MINBLOCKSHIFT); dn->dn_indblkshift = dnp->dn_indblkshift; diff --git a/module/zfs/include/sys/dbuf.h b/module/zfs/include/sys/dbuf.h index 75ce27264..bea71f06f 100644 --- a/module/zfs/include/sys/dbuf.h +++ b/module/zfs/include/sys/dbuf.h @@ -85,9 +85,6 @@ struct dmu_tx; * etc. */ -#define LIST_LINK_INACTIVE(link) \ - ((link)->list_next == NULL && (link)->list_prev == NULL) - struct dmu_buf_impl; typedef enum override_states { |