Fix gcc invalid prototype warnings
[zfs.git] / cmd / ztest / ztest.c
index b2d81b5..fbc3c2c 100644 (file)
@@ -359,7 +359,7 @@ static void usage(boolean_t) __NORETURN;
  * debugging facilities.
  */
 const char *
-_umem_debug_init()
+_umem_debug_init(void)
 {
        return ("default,verbose"); /* $UMEM_DEBUG setting */
 }
@@ -979,25 +979,28 @@ ztest_zd_init(ztest_ds_t *zd, objset_t *os)
        zd->zd_zilog = dmu_objset_zil(os);
        zd->zd_seq = 0;
        dmu_objset_name(os, zd->zd_name);
+       int l;
 
        VERIFY(_mutex_init(&zd->zd_dirobj_lock, USYNC_THREAD, NULL) == 0);
 
-       for (int l = 0; l < ZTEST_OBJECT_LOCKS; l++)
+       for (l = 0; l < ZTEST_OBJECT_LOCKS; l++)
                ztest_rll_init(&zd->zd_object_lock[l]);
 
-       for (int l = 0; l < ZTEST_RANGE_LOCKS; l++)
+       for (l = 0; l < ZTEST_RANGE_LOCKS; l++)
                ztest_rll_init(&zd->zd_range_lock[l]);
 }
 
 static void
 ztest_zd_fini(ztest_ds_t *zd)
 {
+       int l;
+
        VERIFY(_mutex_destroy(&zd->zd_dirobj_lock) == 0);
 
-       for (int l = 0; l < ZTEST_OBJECT_LOCKS; l++)
+       for (l = 0; l < ZTEST_OBJECT_LOCKS; l++)
                ztest_rll_destroy(&zd->zd_object_lock[l]);
 
-       for (int l = 0; l < ZTEST_RANGE_LOCKS; l++)
+       for (l = 0; l < ZTEST_RANGE_LOCKS; l++)
                ztest_rll_destroy(&zd->zd_range_lock[l]);
 }
 
@@ -1576,26 +1579,26 @@ ztest_replay_setattr(ztest_ds_t *zd, lr_setattr_t *lr, boolean_t byteswap)
 }
 
 zil_replay_func_t *ztest_replay_vector[TX_MAX_TYPE] = {
-       NULL,                   /* 0 no such transaction type */
-       ztest_replay_create,    /* TX_CREATE */
-       NULL,                   /* TX_MKDIR */
-       NULL,                   /* TX_MKXATTR */
-       NULL,                   /* TX_SYMLINK */
-       ztest_replay_remove,    /* TX_REMOVE */
-       NULL,                   /* TX_RMDIR */
-       NULL,                   /* TX_LINK */
-       NULL,                   /* TX_RENAME */
-       ztest_replay_write,     /* TX_WRITE */
-       ztest_replay_truncate,  /* TX_TRUNCATE */
-       ztest_replay_setattr,   /* TX_SETATTR */
-       NULL,                   /* TX_ACL */
-       NULL,                   /* TX_CREATE_ACL */
-       NULL,                   /* TX_CREATE_ATTR */
-       NULL,                   /* TX_CREATE_ACL_ATTR */
-       NULL,                   /* TX_MKDIR_ACL */
-       NULL,                   /* TX_MKDIR_ATTR */
-       NULL,                   /* TX_MKDIR_ACL_ATTR */
-       NULL,                   /* TX_WRITE2 */
+       NULL,                           /* 0 no such transaction type */
+       (zil_replay_func_t *)ztest_replay_create,       /* TX_CREATE */
+       NULL,                                           /* TX_MKDIR */
+       NULL,                                           /* TX_MKXATTR */
+       NULL,                                           /* TX_SYMLINK */
+       (zil_replay_func_t *)ztest_replay_remove,       /* TX_REMOVE */
+       NULL,                                           /* TX_RMDIR */
+       NULL,                                           /* TX_LINK */
+       NULL,                                           /* TX_RENAME */
+       (zil_replay_func_t *)ztest_replay_write,        /* TX_WRITE */
+       (zil_replay_func_t *)ztest_replay_truncate,     /* TX_TRUNCATE */
+       (zil_replay_func_t *)ztest_replay_setattr,      /* TX_SETATTR */
+       NULL,                                           /* TX_ACL */
+       NULL,                                           /* TX_CREATE_ACL */
+       NULL,                                           /* TX_CREATE_ATTR */
+       NULL,                                           /* TX_CREATE_ACL_ATTR */
+       NULL,                                           /* TX_MKDIR_ACL */
+       NULL,                                           /* TX_MKDIR_ATTR */
+       NULL,                                           /* TX_MKDIR_ACL_ATTR */
+       NULL,                                           /* TX_WRITE2 */
 };
 
 /*
@@ -1731,10 +1734,11 @@ ztest_lookup(ztest_ds_t *zd, ztest_od_t *od, int count)
 {
        int missing = 0;
        int error;
+       int i;
 
        ASSERT(_mutex_held(&zd->zd_dirobj_lock));
 
-       for (int i = 0; i < count; i++, od++) {
+       for (i = 0; i < count; i++, od++) {
                od->od_object = 0;
                error = zap_lookup(zd->zd_os, od->od_dir, od->od_name,
                    sizeof (uint64_t), 1, &od->od_object);
@@ -1771,10 +1775,11 @@ static int
 ztest_create(ztest_ds_t *zd, ztest_od_t *od, int count)
 {
        int missing = 0;
+       int i;
 
        ASSERT(_mutex_held(&zd->zd_dirobj_lock));
 
-       for (int i = 0; i < count; i++, od++) {
+       for (i = 0; i < count; i++, od++) {
                if (missing) {
                        od->od_object = 0;
                        missing++;
@@ -1816,12 +1821,13 @@ ztest_remove(ztest_ds_t *zd, ztest_od_t *od, int count)
 {
        int missing = 0;
        int error;
+       int i;
 
        ASSERT(_mutex_held(&zd->zd_dirobj_lock));
 
        od += count - 1;
 
-       for (int i = count - 1; i >= 0; i--, od--) {
+       for (i = count - 1; i >= 0; i--, od--) {
                if (missing) {
                        missing++;
                        continue;
@@ -2016,7 +2022,7 @@ ztest_od_init(ztest_od_t *od, uint64_t id, char *tag, uint64_t index,
        od->od_gen = 0;
 
        (void) snprintf(od->od_name, sizeof (od->od_name), "%s(%lld)[%llu]",
-           tag, (int64_t)id, index);
+           tag, (longlong_t)id, (u_longlong_t)index);
 }
 
 /*
@@ -2108,11 +2114,12 @@ static vdev_t *
 vdev_lookup_by_path(vdev_t *vd, const char *path)
 {
        vdev_t *mvd;
+       int c;
 
        if (vd->vdev_path != NULL && strcmp(path, vd->vdev_path) == 0)
                return (vd);
 
-       for (int c = 0; c < vd->vdev_children; c++)
+       for (c = 0; c < vd->vdev_children; c++)
                if ((mvd = vdev_lookup_by_path(vd->vdev_child[c], path)) !=
                    NULL)
                        return (mvd);
@@ -2585,7 +2592,7 @@ grow_vdev(vdev_t *vd, void *arg)
                return (vd);
 
        fsize = lseek(fd, 0, SEEK_END);
-       (void) ftruncate(fd, *newsize);
+       VERIFY(ftruncate(fd, *newsize) == 0);
 
        if (zopt_verbose >= 6) {
                (void) printf("%s grew from %lu to %lu bytes\n",
@@ -2662,6 +2669,8 @@ online_vdev(vdev_t *vd, void *arg)
 vdev_t *
 vdev_walk_tree(vdev_t *vd, vdev_t *(*func)(vdev_t *, void *), void *arg)
 {
+       uint_t c;
+
        if (vd->vdev_ops->vdev_op_leaf) {
                if (func == NULL)
                        return (vd);
@@ -2669,7 +2678,7 @@ vdev_walk_tree(vdev_t *vd, vdev_t *(*func)(vdev_t *, void *), void *arg)
                        return (func(vd, arg));
        }
 
-       for (uint_t c = 0; c < vd->vdev_children; c++) {
+       for (c = 0; c < vd->vdev_children; c++) {
                vdev_t *cvd = vd->vdev_child[c];
                if ((cvd = vdev_walk_tree(cvd, func, arg)) != NULL)
                        return (cvd);
@@ -2914,6 +2923,7 @@ ztest_dmu_objset_create_destroy(ztest_ds_t *zd, uint64_t id)
        objset_t *os, *os2;
        char name[MAXNAMELEN];
        zilog_t *zilog;
+       int i;
 
        (void) rw_rdlock(&zs->zs_name_lock);
 
@@ -2974,7 +2984,7 @@ ztest_dmu_objset_create_destroy(ztest_ds_t *zd, uint64_t id)
         * and randomly take a couple of snapshots along the way.
         */
        iters = ztest_random(5);
-       for (int i = 0; i < iters; i++) {
+       for (i = 0; i < iters; i++) {
                ztest_dmu_object_alloc_free(&zdtmp, id);
                if (ztest_random(iters) == 0)
                        (void) ztest_snapshot_create(name, i);
@@ -3032,11 +3042,16 @@ ztest_dsl_dataset_cleanup(char *osname, uint64_t id)
        char snap3name[MAXNAMELEN];
        int error;
 
-       (void) snprintf(snap1name, MAXNAMELEN, "%s@s1_%llu", osname, id);
-       (void) snprintf(clone1name, MAXNAMELEN, "%s/c1_%llu", osname, id);
-       (void) snprintf(snap2name, MAXNAMELEN, "%s@s2_%llu", clone1name, id);
-       (void) snprintf(clone2name, MAXNAMELEN, "%s/c2_%llu", osname, id);
-       (void) snprintf(snap3name, MAXNAMELEN, "%s@s3_%llu", clone1name, id);
+       (void) snprintf(snap1name, MAXNAMELEN, "%s@s1_%llu",
+           osname, (u_longlong_t)id);
+       (void) snprintf(clone1name, MAXNAMELEN, "%s/c1_%llu",
+           osname, (u_longlong_t)id);
+       (void) snprintf(snap2name, MAXNAMELEN, "%s@s2_%llu",
+           clone1name, (u_longlong_t)id);
+       (void) snprintf(clone2name, MAXNAMELEN, "%s/c2_%llu",
+           osname, (u_longlong_t)id);
+       (void) snprintf(snap3name, MAXNAMELEN, "%s@s3_%llu",
+           clone1name, (u_longlong_t)id);
 
        error = dmu_objset_destroy(clone2name, B_FALSE);
        if (error && error != ENOENT)
@@ -3076,11 +3091,16 @@ ztest_dsl_dataset_promote_busy(ztest_ds_t *zd, uint64_t id)
 
        ztest_dsl_dataset_cleanup(osname, id);
 
-       (void) snprintf(snap1name, MAXNAMELEN, "%s@s1_%llu", osname, id);
-       (void) snprintf(clone1name, MAXNAMELEN, "%s/c1_%llu", osname, id);
-       (void) snprintf(snap2name, MAXNAMELEN, "%s@s2_%llu", clone1name, id);
-       (void) snprintf(clone2name, MAXNAMELEN, "%s/c2_%llu", osname, id);
-       (void) snprintf(snap3name, MAXNAMELEN, "%s@s3_%llu", clone1name, id);
+       (void) snprintf(snap1name, MAXNAMELEN, "%s@s1_%llu",
+           osname, (u_longlong_t)id);
+       (void) snprintf(clone1name, MAXNAMELEN, "%s/c1_%llu",
+           osname, (u_longlong_t)id);
+       (void) snprintf(snap2name, MAXNAMELEN, "%s@s2_%llu",
+           clone1name, (u_longlong_t)id);
+       (void) snprintf(clone2name, MAXNAMELEN, "%s/c2_%llu",
+           osname, (u_longlong_t)id);
+       (void) snprintf(snap3name, MAXNAMELEN, "%s@s3_%llu",
+           clone1name, (u_longlong_t)id);
 
        error = dmu_objset_snapshot(osname, strchr(snap1name, '@')+1,
            NULL, NULL, B_FALSE, B_FALSE, -1);
@@ -3163,8 +3183,9 @@ ztest_dmu_object_alloc_free(ztest_ds_t *zd, uint64_t id)
 {
        ztest_od_t od[4];
        int batchsize = sizeof (od) / sizeof (od[0]);
+       int b;
 
-       for (int b = 0; b < batchsize; b++)
+       for (b = 0; b < batchsize; b++)
                ztest_od_init(&od[b], id, FTAG, b, DMU_OT_UINT64_OTHER, 0, 0);
 
        /*
@@ -3880,6 +3901,7 @@ ztest_fzap(ztest_ds_t *zd, uint64_t id)
        objset_t *os = zd->zd_os;
        ztest_od_t od[1];
        uint64_t object, txg;
+       int i;
 
        ztest_od_init(&od[0], id, FTAG, 0, DMU_OT_ZAP_OTHER, 0, 0);
 
@@ -3893,14 +3915,14 @@ ztest_fzap(ztest_ds_t *zd, uint64_t id)
         * and gets upgraded to a fatzap. Also, since we are adding
         * 2050 entries we should see ptrtbl growth and leaf-block split.
         */
-       for (int i = 0; i < 2050; i++) {
+       for (i = 0; i < 2050; i++) {
                char name[MAXNAMELEN];
                uint64_t value = i;
                dmu_tx_t *tx;
                int error;
 
                (void) snprintf(name, sizeof (name), "fzap-%llu-%llu",
-                   id, value);
+                   (u_longlong_t)id, (u_longlong_t)value);
 
                tx = dmu_tx_create(os);
                dmu_tx_hold_zap(tx, object, B_TRUE, name);
@@ -4240,10 +4262,11 @@ ztest_dsl_prop_get_set(ztest_ds_t *zd, uint64_t id)
                ZFS_PROP_DEDUP
        };
        ztest_shared_t *zs = ztest_shared;
+       int p;
 
        (void) rw_rdlock(&zs->zs_name_lock);
 
-       for (int p = 0; p < sizeof (proplist) / sizeof (proplist[0]); p++)
+       for (p = 0; p < sizeof (proplist) / sizeof (proplist[0]); p++)
                (void) ztest_dsl_prop_set_uint64(zd->zd_name, proplist[p],
                    ztest_random_dsl_prop(proplist[p]), (int)ztest_random(2));
 
@@ -4399,7 +4422,7 @@ ztest_fault_inject(ztest_ds_t *zd, uint64_t id)
        int fd;
        uint64_t offset;
        uint64_t leaves;
-       uint64_t bad = 0x1990c0ffeedecade;
+       uint64_t bad = 0x1990c0ffeedecadeull;
        uint64_t top, leaf;
        char path0[MAXPATHLEN];
        char pathrand[MAXPATHLEN];
@@ -4580,6 +4603,7 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_t id)
        void *buf;
        blkptr_t blk;
        int copies = 2 * ZIO_DEDUPDITTO_MIN;
+       int i;
 
        blocksize = ztest_random_blocksize();
        blocksize = MIN(blocksize, 2048);       /* because we write so many */
@@ -4620,7 +4644,7 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_t id)
        /*
         * Write all the copies of our block.
         */
-       for (int i = 0; i < copies; i++) {
+       for (i = 0; i < copies; i++) {
                uint64_t offset = i * blocksize;
                VERIFY(dmu_buf_hold(os, object, offset, FTAG, &db,
                    DMU_READ_NO_PREFETCH) == 0);
@@ -4924,8 +4948,9 @@ ztest_execute(ztest_info_t *zi, uint64_t id)
        ztest_shared_t *zs = ztest_shared;
        ztest_ds_t *zd = &zs->zs_zd[id % zopt_datasets];
        hrtime_t functime = gethrtime();
+       int i;
 
-       for (int i = 0; i < zi->zi_iters; i++)
+       for (i = 0; i < zi->zi_iters; i++)
                zi->zi_func(zd, id);
 
        functime = gethrtime() - functime;
@@ -4988,6 +5013,7 @@ static void
 ztest_dataset_destroy(ztest_shared_t *zs, int d)
 {
        char name[MAXNAMELEN];
+       int t;
 
        ztest_dataset_name(name, zs->zs_pool, d);
 
@@ -4999,7 +5025,7 @@ ztest_dataset_destroy(ztest_shared_t *zs, int d)
         * ztest thread t operates on dataset (t % zopt_datasets),
         * so there may be more than one thing to clean up.
         */
-       for (int t = d; t < zopt_threads; t += zopt_datasets)
+       for (t = d; t < zopt_threads; t += zopt_datasets)
                ztest_dsl_dataset_cleanup(name, t);
 
        (void) dmu_objset_find(name, ztest_objset_destroy_cb, NULL,
@@ -5105,6 +5131,7 @@ ztest_run(ztest_shared_t *zs)
        spa_t *spa;
        thread_t resume_tid;
        int error;
+       int t, d;
 
        ztest_exiting = B_FALSE;
 
@@ -5163,8 +5190,8 @@ ztest_run(ztest_shared_t *zs)
         * we probe a 5-wide window around each power of two.
         * This hits all edge cases, including zero and the max.
         */
-       for (int t = 0; t < 64; t++) {
-               for (int d = -5; d <= 5; d++) {
+       for (t = 0; t < 64; t++) {
+               for (d = -5; d <= 5; d++) {
                        error = dmu_object_info(spa->spa_meta_objset,
                            (1ULL << t) + d, NULL);
                        ASSERT(error == 0 || error == ENOENT ||
@@ -5189,7 +5216,7 @@ ztest_run(ztest_shared_t *zs)
        /*
         * Kick off all the tests that run in parallel.
         */
-       for (int t = 0; t < zopt_threads; t++) {
+       for (t = 0; t < zopt_threads; t++) {
                if (t < zopt_datasets && ztest_dataset_open(zs, t) != 0)
                        return;
                VERIFY(thr_create(0, 0, ztest_thread, (void *)(uintptr_t)t,
@@ -5200,7 +5227,7 @@ ztest_run(ztest_shared_t *zs)
         * Wait for all of the tests to complete.  We go in reverse order
         * so we don't close datasets while threads are still using them.
         */
-       for (int t = zopt_threads - 1; t >= 0; t--) {
+       for (t = zopt_threads - 1; t >= 0; t--) {
                VERIFY(thr_join(tid[t], NULL, NULL) == 0);
                if (t < zopt_datasets)
                        ztest_dataset_close(zs, t);
@@ -5352,7 +5379,7 @@ print_time(hrtime_t t, char *timebuf)
 }
 
 static nvlist_t *
-make_random_props()
+make_random_props(void)
 {
        nvlist_t *props;
 
@@ -5423,6 +5450,7 @@ main(int argc, char **argv)
        char timebuf[100];
        char numbuf[6];
        spa_t *spa;
+       int i, f;
 
        (void) setvbuf(stdout, NULL, _IOLBF, 0);
 
@@ -5431,7 +5459,8 @@ main(int argc, char **argv)
        process_options(argc, argv);
 
        /* Override location of zpool.cache */
-       (void) asprintf((char **)&spa_config_path, "%s/zpool.cache", zopt_dir);
+       VERIFY(asprintf((char **)&spa_config_path, "%s/zpool.cache",
+           zopt_dir) != -1);
 
        /*
         * Blow away any existing copy of zpool.cache
@@ -5455,7 +5484,7 @@ main(int argc, char **argv)
        /*
         * Create and initialize our storage pool.
         */
-       for (int i = 1; i <= zopt_init; i++) {
+       for (i = 1; i <= zopt_init; i++) {
                bzero(zs, sizeof (ztest_shared_t));
                if (zopt_verbose >= 3 && zopt_init != 1)
                        (void) printf("ztest_init(), pass %d\n", i);
@@ -5467,7 +5496,7 @@ main(int argc, char **argv)
        zs->zs_proc_start = gethrtime();
        zs->zs_proc_stop = zs->zs_proc_start + zopt_time * NANOSEC;
 
-       for (int f = 0; f < ZTEST_FUNCS; f++) {
+       for (f = 0; f < ZTEST_FUNCS; f++) {
                zi = &zs->zs_info[f];
                *zi = ztest_info[f];
                if (zs->zs_proc_start + zi->zi_interval[0] > zs->zs_proc_stop)
@@ -5489,7 +5518,7 @@ main(int argc, char **argv)
                /*
                 * Initialize the workload counters for each function.
                 */
-               for (int f = 0; f < ZTEST_FUNCS; f++) {
+               for (f = 0; f < ZTEST_FUNCS; f++) {
                        zi = &zs->zs_info[f];
                        zi->zi_call_count = 0;
                        zi->zi_call_time = 0;
@@ -5561,7 +5590,7 @@ main(int argc, char **argv)
                            "Calls", "Time", "Function");
                        (void) printf("%7s %9s   %s\n",
                            "-----", "----", "--------");
-                       for (int f = 0; f < ZTEST_FUNCS; f++) {
+                       for (f = 0; f < ZTEST_FUNCS; f++) {
                                Dl_info dli;
 
                                zi = &zs->zs_info[f];