Merge commit 'refs/top-bases/gcc-branch' into gcc-branch

This commit is contained in:
Brian Behlendorf 2008-12-05 09:34:22 -08:00
commit 68b6902a18
18 changed files with 43 additions and 42 deletions

View File

@ -2331,7 +2331,7 @@ nvlist_xpack(nvlist_t *nvl, char **bufp, size_t *buflen, int encoding,
*/ */
nv_priv_init(&nvpriv, nva, 0); nv_priv_init(&nvpriv, nva, 0);
if (err = nvlist_size(nvl, &alloc_size, encoding)) if ((err = nvlist_size(nvl, &alloc_size, encoding)))
return (err); return (err);
if ((buf = nv_mem_zalloc(&nvpriv, alloc_size)) == NULL) if ((buf = nv_mem_zalloc(&nvpriv, alloc_size)) == NULL)

View File

@ -145,8 +145,9 @@
/* The following are some convenience macros. */ /* The following are some convenience macros. */
#define U8_PUT_3BYTES_INTO_UTF32(u, b1, b2, b3) \ #define U8_PUT_3BYTES_INTO_UTF32(u, b1, b2, b3) \
(u) = ((uint32_t)(b1) & 0x0F) << 12 | ((uint32_t)(b2) & 0x3F) << 6 | \ (u) = (((uint32_t)(b1) & 0x0F) << 12) | \
(uint32_t)(b3) & 0x3F; (((uint32_t)(b2) & 0x3F) << 6) | \
((uint32_t)(b3) & 0x3F);
#define U8_SIMPLE_SWAP(a, b, t) \ #define U8_SIMPLE_SWAP(a, b, t) \
(t) = (a); \ (t) = (a); \

View File

@ -179,8 +179,8 @@ zfs_deleg_verify_nvlist(nvlist_t *nvp)
nvpair_name(perm_name)); nvpair_name(perm_name));
if (error) if (error)
return (-1); return (-1);
} while (perm_name = nvlist_next_nvpair(perms, perm_name)); } while ((perm_name = nvlist_next_nvpair(perms, perm_name)));
} while (who = nvlist_next_nvpair(nvp, who)); } while ((who = nvlist_next_nvpair(nvp, who)));
return (0); return (0);
} }

View File

@ -1217,7 +1217,7 @@ zfs_build_perms(zfs_handle_t *zhp, char *whostr, char *perms,
zfs_perms_add_who_nvlist(who_nvp, who_id, who_tok, zfs_perms_add_who_nvlist(who_nvp, who_id, who_tok,
perms_nvp, sets_nvp, who_type, inherit); perms_nvp, sets_nvp, who_type, inherit);
} while (who_tok = strtok(NULL, ",")); } while ((who_tok = strtok(NULL, ",")));
*nvp = who_nvp; *nvp = who_nvp;
return (0); return (0);
} }
@ -1624,9 +1624,9 @@ zfs_perm_get(zfs_handle_t *zhp, zfs_allow_t **zfs_perms)
if (zfs_coalesce_perm(zhp, allownode, if (zfs_coalesce_perm(zhp, allownode,
nvpair_name(perm_pair), ld) != 0) nvpair_name(perm_pair), ld) != 0)
goto abort; goto abort;
} while (perm_pair = nvlist_next_nvpair(permnv, } while ((perm_pair = nvlist_next_nvpair(permnv,
perm_pair)); perm_pair)));
} while (who_pair = nvlist_next_nvpair(sourcenv, who_pair)); } while ((who_pair = nvlist_next_nvpair(sourcenv, who_pair)));
source_pair = nvlist_next_nvpair(nvlist, source_pair); source_pair = nvlist_next_nvpair(nvlist, source_pair);
if (source_pair == NULL) if (source_pair == NULL)
@ -2846,7 +2846,7 @@ create_parents(libzfs_handle_t *hdl, char *target, int prefixlen)
* up to the prefixlen-long one. * up to the prefixlen-long one.
*/ */
for (cp = target + prefixlen + 1; for (cp = target + prefixlen + 1;
cp = strchr(cp, '/'); *cp = '/', cp++) { (cp = strchr(cp, '/')); *cp = '/', cp++) {
char *logstr; char *logstr;
*cp = '\0'; *cp = '\0';
@ -3701,7 +3701,7 @@ zfs_rollback(zfs_handle_t *zhp, zfs_handle_t *snap, boolean_t force)
*/ */
if ((zhp->zfs_type == ZFS_TYPE_VOLUME) && if ((zhp->zfs_type == ZFS_TYPE_VOLUME) &&
(zhp = make_dataset_handle(zhp->zfs_hdl, zhp->zfs_name))) { (zhp = make_dataset_handle(zhp->zfs_hdl, zhp->zfs_name))) {
if (err = zvol_create_link(zhp->zfs_hdl, zhp->zfs_name)) { if ((err = zvol_create_link(zhp->zfs_hdl, zhp->zfs_name))) {
zfs_close(zhp); zfs_close(zhp);
return (err); return (err);
} }

View File

@ -3309,7 +3309,7 @@ arc_tempreserve_space(uint64_t reserve, uint64_t txg)
* in order to compress/encrypt/etc the data. We therefor need to * in order to compress/encrypt/etc the data. We therefor need to
* make sure that there is sufficient available memory for this. * make sure that there is sufficient available memory for this.
*/ */
if (error = arc_memory_throttle(reserve, txg)) if ((error = arc_memory_throttle(reserve, txg)))
return (error); return (error);
/* /*

View File

@ -1581,7 +1581,7 @@ dbuf_prefetch(dnode_t *dn, uint64_t blkid)
return; return;
/* dbuf_find() returns with db_mtx held */ /* dbuf_find() returns with db_mtx held */
if (db = dbuf_find(dn, 0, blkid)) { if ((db = dbuf_find(dn, 0, blkid))) {
if (refcount_count(&db->db_holds) > 0) { if (refcount_count(&db->db_holds) > 0) {
/* /*
* This dbuf is active. We assume that it is * This dbuf is active. We assume that it is
@ -2100,7 +2100,7 @@ dbuf_sync_list(list_t *list, dmu_tx_t *tx)
{ {
dbuf_dirty_record_t *dr; dbuf_dirty_record_t *dr;
while (dr = list_head(list)) { while ((dr = list_head(list))) {
if (dr->dr_zio != NULL) { if (dr->dr_zio != NULL) {
/* /*
* If we find an already initialized zio then we * If we find an already initialized zio then we

View File

@ -803,7 +803,7 @@ dmu_objset_snapshot(char *fsname, char *snapname, boolean_t recursive)
} }
out: out:
while (osn = list_head(&sn.objsets)) { while ((osn = list_head(&sn.objsets))) {
list_remove(&sn.objsets, osn); list_remove(&sn.objsets, osn);
zil_resume(dmu_objset_zil(osn->os)); zil_resume(dmu_objset_zil(osn->os));
dmu_objset_close(osn->os); dmu_objset_close(osn->os);
@ -823,7 +823,7 @@ dmu_objset_sync_dnodes(list_t *list, dmu_tx_t *tx)
{ {
dnode_t *dn; dnode_t *dn;
while (dn = list_head(list)) { while ((dn = list_head(list))) {
ASSERT(dn->dn_object != DMU_META_DNODE_OBJECT); ASSERT(dn->dn_object != DMU_META_DNODE_OBJECT);
ASSERT(dn->dn_dbuf->db_data_pending); ASSERT(dn->dn_dbuf->db_data_pending);
/* /*
@ -931,7 +931,7 @@ dmu_objset_sync(objset_impl_t *os, zio_t *pio, dmu_tx_t *tx)
dmu_objset_sync_dnodes(&os->os_dirty_dnodes[txgoff], tx); dmu_objset_sync_dnodes(&os->os_dirty_dnodes[txgoff], tx);
list = &os->os_meta_dnode->dn_dirty_records[txgoff]; list = &os->os_meta_dnode->dn_dirty_records[txgoff];
while (dr = list_head(list)) { while ((dr = list_head(list))) {
ASSERT(dr->dr_dbuf->db_level == 0); ASSERT(dr->dr_dbuf->db_level == 0);
list_remove(list, dr); list_remove(list, dr);
if (dr->dr_zio) if (dr->dr_zio)

View File

@ -999,7 +999,7 @@ dmu_tx_commit(dmu_tx_t *tx)
ASSERT(tx->tx_txg != 0); ASSERT(tx->tx_txg != 0);
while (txh = list_head(&tx->tx_holds)) { while ((txh = list_head(&tx->tx_holds))) {
dnode_t *dn = txh->txh_dnode; dnode_t *dn = txh->txh_dnode;
list_remove(&tx->tx_holds, txh); list_remove(&tx->tx_holds, txh);
@ -1042,7 +1042,7 @@ dmu_tx_abort(dmu_tx_t *tx)
ASSERT(tx->tx_txg == 0); ASSERT(tx->tx_txg == 0);
while (txh = list_head(&tx->tx_holds)) { while ((txh = list_head(&tx->tx_holds))) {
dnode_t *dn = txh->txh_dnode; dnode_t *dn = txh->txh_dnode;
list_remove(&tx->tx_holds, txh); list_remove(&tx->tx_holds, txh);

View File

@ -600,8 +600,8 @@ dnode_hold_impl(objset_impl_t *os, uint64_t object, int flag,
dnode_t **winner; dnode_t **winner;
children_dnodes = kmem_zalloc(epb * sizeof (dnode_t *), children_dnodes = kmem_zalloc(epb * sizeof (dnode_t *),
KM_SLEEP); KM_SLEEP);
if (winner = dmu_buf_set_user(&db->db, children_dnodes, NULL, if ((winner = dmu_buf_set_user(&db->db, children_dnodes, NULL,
dnode_buf_pageout)) { dnode_buf_pageout))) {
kmem_free(children_dnodes, epb * sizeof (dnode_t *)); kmem_free(children_dnodes, epb * sizeof (dnode_t *));
children_dnodes = winner; children_dnodes = winner;
} }

View File

@ -422,7 +422,7 @@ dnode_undirty_dbufs(list_t *list)
{ {
dbuf_dirty_record_t *dr; dbuf_dirty_record_t *dr;
while (dr = list_head(list)) { while ((dr = list_head(list))) {
dmu_buf_impl_t *db = dr->dr_dbuf; dmu_buf_impl_t *db = dr->dr_dbuf;
uint64_t txg = dr->dr_txg; uint64_t txg = dr->dr_txg;

View File

@ -101,13 +101,13 @@ dsl_deleg_can_allow(char *ddname, nvlist_t *nvp, cred_t *cr)
if ((error = dsl_deleg_access(ddname, ZFS_DELEG_PERM_ALLOW, cr)) != 0) if ((error = dsl_deleg_access(ddname, ZFS_DELEG_PERM_ALLOW, cr)) != 0)
return (error); return (error);
while (whopair = nvlist_next_nvpair(nvp, whopair)) { while ((whopair = nvlist_next_nvpair(nvp, whopair))) {
nvlist_t *perms; nvlist_t *perms;
nvpair_t *permpair = NULL; nvpair_t *permpair = NULL;
VERIFY(nvpair_value_nvlist(whopair, &perms) == 0); VERIFY(nvpair_value_nvlist(whopair, &perms) == 0);
while (permpair = nvlist_next_nvpair(perms, permpair)) { while ((permpair = nvlist_next_nvpair(perms, permpair))) {
const char *perm = nvpair_name(permpair); const char *perm = nvpair_name(permpair);
if (strcmp(perm, ZFS_DELEG_PERM_ALLOW) == 0) if (strcmp(perm, ZFS_DELEG_PERM_ALLOW) == 0)
@ -138,7 +138,7 @@ dsl_deleg_can_unallow(char *ddname, nvlist_t *nvp, cred_t *cr)
(void) snprintf(idstr, sizeof (idstr), "%lld", (void) snprintf(idstr, sizeof (idstr), "%lld",
(longlong_t)crgetuid(cr)); (longlong_t)crgetuid(cr));
while (whopair = nvlist_next_nvpair(nvp, whopair)) { while ((whopair = nvlist_next_nvpair(nvp, whopair))) {
zfs_deleg_who_type_t type = nvpair_name(whopair)[0]; zfs_deleg_who_type_t type = nvpair_name(whopair)[0];
if (type != ZFS_DELEG_USER && if (type != ZFS_DELEG_USER &&
@ -166,7 +166,7 @@ dsl_deleg_set_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
DMU_OT_DSL_PERMS, DMU_OT_NONE, 0, tx); DMU_OT_DSL_PERMS, DMU_OT_NONE, 0, tx);
} }
while (whopair = nvlist_next_nvpair(nvp, whopair)) { while ((whopair = nvlist_next_nvpair(nvp, whopair))) {
const char *whokey = nvpair_name(whopair); const char *whokey = nvpair_name(whopair);
nvlist_t *perms; nvlist_t *perms;
nvpair_t *permpair = NULL; nvpair_t *permpair = NULL;
@ -181,7 +181,7 @@ dsl_deleg_set_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
whokey, 8, 1, &jumpobj, tx) == 0); whokey, 8, 1, &jumpobj, tx) == 0);
} }
while (permpair = nvlist_next_nvpair(perms, permpair)) { while ((permpair = nvlist_next_nvpair(perms, permpair))) {
const char *perm = nvpair_name(permpair); const char *perm = nvpair_name(permpair);
uint64_t n = 0; uint64_t n = 0;
@ -207,7 +207,7 @@ dsl_deleg_unset_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
if (zapobj == 0) if (zapobj == 0)
return; return;
while (whopair = nvlist_next_nvpair(nvp, whopair)) { while ((whopair = nvlist_next_nvpair(nvp, whopair))) {
const char *whokey = nvpair_name(whopair); const char *whokey = nvpair_name(whopair);
nvlist_t *perms; nvlist_t *perms;
nvpair_t *permpair = NULL; nvpair_t *permpair = NULL;
@ -229,7 +229,7 @@ dsl_deleg_unset_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
if (zap_lookup(mos, zapobj, whokey, 8, 1, &jumpobj) != 0) if (zap_lookup(mos, zapobj, whokey, 8, 1, &jumpobj) != 0)
continue; continue;
while (permpair = nvlist_next_nvpair(perms, permpair)) { while ((permpair = nvlist_next_nvpair(perms, permpair))) {
const char *perm = nvpair_name(permpair); const char *perm = nvpair_name(permpair);
uint64_t n = 0; uint64_t n = 0;
@ -266,7 +266,7 @@ dsl_deleg_set(const char *ddname, nvlist_t *nvp, boolean_t unset)
return (ENOTSUP); return (ENOTSUP);
} }
while (whopair = nvlist_next_nvpair(nvp, whopair)) while ((whopair = nvlist_next_nvpair(nvp, whopair)))
blocks_modified++; blocks_modified++;
error = dsl_sync_task_do(dd->dd_pool, NULL, error = dsl_sync_task_do(dd->dd_pool, NULL,

View File

@ -870,7 +870,7 @@ dsl_dir_tempreserve_clear(void *tr_cookie, dmu_tx_t *tx)
if (tr_cookie == NULL) if (tr_cookie == NULL)
return; return;
while (tr = list_head(tr_list)) { while ((tr = list_head(tr_list))) {
if (tr->tr_dp) { if (tr->tr_dp) {
dsl_pool_tempreserve_clear(tr->tr_dp, tr->tr_size, tx); dsl_pool_tempreserve_clear(tr->tr_dp, tr->tr_size, tx);
} else if (tr->tr_ds) { } else if (tr->tr_ds) {
@ -1221,8 +1221,8 @@ dsl_dir_rename_check(void *arg1, void *arg2, dmu_tx_t *tx)
if (closest_common_ancestor(dd, ra->newparent) == dd) if (closest_common_ancestor(dd, ra->newparent) == dd)
return (EINVAL); return (EINVAL);
if (err = dsl_dir_transfer_possible(dd->dd_parent, if ((err = dsl_dir_transfer_possible(dd->dd_parent,
ra->newparent, myspace)) ra->newparent, myspace)))
return (err); return (err);
} }

View File

@ -297,7 +297,7 @@ dsl_pool_sync(dsl_pool_t *dp, uint64_t txg)
dp->dp_read_overhead = 0; dp->dp_read_overhead = 0;
zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); zio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED);
while (ds = txg_list_remove(&dp->dp_dirty_datasets, txg)) { while ((ds = txg_list_remove(&dp->dp_dirty_datasets, txg))) {
if (!list_link_active(&ds->ds_synced_link)) if (!list_link_active(&ds->ds_synced_link))
list_insert_tail(&dp->dp_synced_datasets, ds); list_insert_tail(&dp->dp_synced_datasets, ds);
else else
@ -386,7 +386,7 @@ dsl_pool_zil_clean(dsl_pool_t *dp)
{ {
dsl_dataset_t *ds; dsl_dataset_t *ds;
while (ds = list_head(&dp->dp_synced_datasets)) { while ((ds = list_head(&dp->dp_synced_datasets))) {
list_remove(&dp->dp_synced_datasets, ds); list_remove(&dp->dp_synced_datasets, ds);
ASSERT(ds->ds_user_ptr != NULL); ASSERT(ds->ds_user_ptr != NULL);
zil_clean(((objset_impl_t *)ds->ds_user_ptr)->os_zil); zil_clean(((objset_impl_t *)ds->ds_user_ptr)->os_zil);

View File

@ -139,7 +139,7 @@ dsl_sync_task_group_destroy(dsl_sync_task_group_t *dstg)
{ {
dsl_sync_task_t *dst; dsl_sync_task_t *dst;
while (dst = list_head(&dstg->dstg_tasks)) { while ((dst = list_head(&dstg->dstg_tasks))) {
list_remove(&dstg->dstg_tasks, dst); list_remove(&dstg->dstg_tasks, dst);
kmem_free(dst, sizeof (dsl_sync_task_t)); kmem_free(dst, sizeof (dsl_sync_task_t));
} }

View File

@ -75,13 +75,13 @@ refcount_destroy_many(refcount_t *rc, uint64_t number)
reference_t *ref; reference_t *ref;
ASSERT(rc->rc_count == number); ASSERT(rc->rc_count == number);
while (ref = list_head(&rc->rc_list)) { while ((ref = list_head(&rc->rc_list))) {
list_remove(&rc->rc_list, ref); list_remove(&rc->rc_list, ref);
kmem_cache_free(reference_cache, ref); kmem_cache_free(reference_cache, ref);
} }
list_destroy(&rc->rc_list); list_destroy(&rc->rc_list);
while (ref = list_head(&rc->rc_removed)) { while ((ref = list_head(&rc->rc_removed))) {
list_remove(&rc->rc_removed, ref); list_remove(&rc->rc_removed, ref);
kmem_cache_free(reference_history_cache, ref->ref_removed); kmem_cache_free(reference_history_cache, ref->ref_removed);
kmem_cache_free(reference_cache, ref); kmem_cache_free(reference_cache, ref);

View File

@ -3996,7 +3996,7 @@ spa_sync(spa_t *spa, uint64_t txg)
dsl_pool_sync(dp, txg); dsl_pool_sync(dp, txg);
dirty_vdevs = 0; dirty_vdevs = 0;
while (vd = txg_list_remove(&spa->spa_vdev_txg_list, txg)) { while ((vd = txg_list_remove(&spa->spa_vdev_txg_list, txg))) {
vdev_sync(vd, txg); vdev_sync(vd, txg);
dirty_vdevs++; dirty_vdevs++;
} }
@ -4080,7 +4080,7 @@ spa_sync(spa_t *spa, uint64_t txg)
/* /*
* Update usable space statistics. * Update usable space statistics.
*/ */
while (vd = txg_list_remove(&spa->spa_vdev_txg_list, TXG_CLEAN(txg))) while ((vd = txg_list_remove(&spa->spa_vdev_txg_list, TXG_CLEAN(txg))))
vdev_sync_done(vd, txg); vdev_sync_done(vd, txg);
/* /*

View File

@ -1578,7 +1578,7 @@ vdev_sync_done(vdev_t *vd, uint64_t txg)
{ {
metaslab_t *msp; metaslab_t *msp;
while (msp = txg_list_remove(&vd->vdev_ms_list, TXG_CLEAN(txg))) while ((msp = txg_list_remove(&vd->vdev_ms_list, TXG_CLEAN(txg))))
metaslab_sync_done(msp, txg); metaslab_sync_done(msp, txg);
} }

View File

@ -271,7 +271,7 @@ mze_destroy(zap_t *zap)
mzap_ent_t *mze; mzap_ent_t *mze;
void *avlcookie = NULL; void *avlcookie = NULL;
while (mze = avl_destroy_nodes(&zap->zap_m.zap_avl, &avlcookie)) while ((mze = avl_destroy_nodes(&zap->zap_m.zap_avl, &avlcookie)))
kmem_free(mze, sizeof (mzap_ent_t)); kmem_free(mze, sizeof (mzap_ent_t));
avl_destroy(&zap->zap_m.zap_avl); avl_destroy(&zap->zap_m.zap_avl);
} }