diff options
author | Brian Behlendorf <[email protected]> | 2009-01-13 15:02:11 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2009-01-13 15:02:11 -0800 |
commit | 4a5bd7a3a8576628e9cb538157885cb57a507ce5 (patch) | |
tree | 907d59e53fb20e3543fc38d70d92ff50d720364e /module/zfs | |
parent | 552c9e1abb5edade7c96893fb54f287b0ef0509e (diff) | |
parent | 02821c581983ff8bfa461aebb9956985f335f290 (diff) |
Merge branch 'fix-branch' into refs/top-bases/zfs-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 4ca8c98fc..d7ff083b4 100644 --- a/module/zfs/dbuf.c +++ b/module/zfs/dbuf.c @@ -1024,6 +1024,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 e96c7dd83..0cc67db59 100644 --- a/module/zfs/dnode.c +++ b/module/zfs/dnode.c @@ -283,6 +283,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 { |