op->cb_v_break  = volume->cb_v_break;
        op->debug_id    = atomic_inc_return(&afs_operation_debug_counter);
        op->error       = -EDESTADDRREQ;
-       op->ac.error    = SHRT_MAX;
+       op->nr_iterations = -1;
 
        _leave(" = [op=%08x]", op->debug_id);
        return op;
 
        struct afs_call         *call;
        unsigned long           untried;        /* Bitmask of untried servers */
        short                   index;          /* Current server */
-       unsigned short          nr_iterations;  /* Number of server iterations */
+       short                   nr_iterations;  /* Number of server iterations */
 
        unsigned int            flags;
 #define AFS_OPERATION_STOP             0x0001  /* Set to cease iteration */
 
        unsigned int rtt;
        int error = op->ac.error, i;
 
-       _enter("%lx[%d],%lx[%d],%d,%d",
+       op->nr_iterations++;
+
+       _enter("OP=%x+%x,%llx,%lx[%d],%lx[%d],%d,%d",
+              op->debug_id, op->nr_iterations, op->volume->vid,
               op->untried, op->index,
               op->ac.tried, op->ac.index,
               error, op->ac.abort_code);
                return false;
        }
 
-       op->nr_iterations++;
+       if (op->nr_iterations == 0)
+               goto start;
 
        /* Evaluate the result of the previous operation, if there was one. */
        switch (error) {
-       case SHRT_MAX:
-               goto start;
-
        case 0:
        default:
                /* Success or local failure.  Stop. */