From: Brian Behlendorf Date: Tue, 29 Jun 2010 17:24:14 +0000 (-0700) Subject: Revert traverse_impl() changes X-Git-Tag: zfs-0.5.0~38^2^2~1^2^2~18^2~1^2^2^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9cdd80e387d5ee10a367de12a816937812818218;p=zfs Revert traverse_impl() changes These changes are now taken care of by the fix-stack-traverse_impl topic branch which not only solves the uninit problem but also moves these locals off the stack and on to the heap. --- diff --git a/module/zfs/dmu_traverse.c b/module/zfs/dmu_traverse.c index 3350c08bc..429c76ae1 100644 --- a/module/zfs/dmu_traverse.c +++ b/module/zfs/dmu_traverse.c @@ -357,7 +357,7 @@ traverse_impl(spa_t *spa, uint64_t objset, blkptr_t *rootbp, uint64_t txg_start, int flags, blkptr_cb_t func, void *arg) { struct traverse_data td; - struct prefetch_data pd; + struct prefetch_data pd = { 0 }; zbookmark_t czb; int err; @@ -371,10 +371,7 @@ traverse_impl(spa_t *spa, uint64_t objset, blkptr_t *rootbp, td.td_flags = flags; pd.pd_blks_max = 100; - pd.pd_blks_fetched = 0; pd.pd_flags = flags; - pd.pd_cancel = B_FALSE; - pd.pd_exited = B_FALSE; mutex_init(&pd.pd_mtx, NULL, MUTEX_DEFAULT, NULL); cv_init(&pd.pd_cv, NULL, CV_DEFAULT, NULL);