Fix commit callbacks
[zfs.git] / module / zfs / vdev_raidz.c
index 4b0f560..ef20542 100644 (file)
@@ -143,7 +143,7 @@ typedef struct raidz_map {
        (mask) = (x) & 0x8080808080808080ULL; \
        (mask) = ((mask) << 1) - ((mask) >> 7); \
        (x) = (((x) << 1) & 0xfefefefefefefefeULL) ^ \
-           ((mask) & 0x1d1d1d1d1d1d1d1d); \
+           ((mask) & 0x1d1d1d1d1d1d1d1dULL); \
 }
 
 #define        VDEV_RAIDZ_64MUL_4(x, mask) \
@@ -1189,7 +1189,7 @@ vdev_raidz_matrix_reconstruct(raidz_map_t *rm, int n, int nmissing,
        uint64_t ccount;
        uint8_t *dst[VDEV_RAIDZ_MAXPARITY];
        uint64_t dcount[VDEV_RAIDZ_MAXPARITY];
-       uint8_t log, val;
+       uint8_t log = 0, val;
        int ll;
        uint8_t *invlog[VDEV_RAIDZ_MAXPARITY];
        uint8_t *p, *pp;
@@ -1638,8 +1638,11 @@ raidz_checksum_verify(zio_t *zio)
 {
        zio_bad_cksum_t zbc;
        raidz_map_t *rm = zio->io_vsd;
+       int ret;
 
-       int ret = zio_checksum_error(zio, &zbc);
+       bzero(&zbc, sizeof (zio_bad_cksum_t));
+
+       ret = zio_checksum_error(zio, &zbc);
        if (ret != 0 && zbc.zbc_injected != 0)
                rm->rm_ecksuminjected = 1;
 
@@ -1692,9 +1695,9 @@ static uint64_t raidz_corrected[1 << VDEV_RAIDZ_MAXPARITY];
 static int
 vdev_raidz_worst_error(raidz_map_t *rm)
 {
-       int error = 0;
+       int c, error = 0;
 
-       for (int c = 0; c < rm->rm_cols; c++)
+       for (c = 0; c < rm->rm_cols; c++)
                error = zio_worst_error(error, rm->rm_col[c].rc_error);
 
        return (error);
@@ -1862,7 +1865,7 @@ vdev_raidz_io_done(zio_t *zio)
        vdev_t *vd = zio->io_vd;
        vdev_t *cvd;
        raidz_map_t *rm = zio->io_vsd;
-       raidz_col_t *rc;
+       raidz_col_t *rc = NULL;
        int unexpected_errors = 0;
        int parity_errors = 0;
        int parity_untried = 0;