]> xenbits.xensource.com Git - people/dstodden/blktap.git/commitdiff
CP-1760: Unbreak tapdisk-control.
authorDaniel Stodden <daniel.stodden@citrix.com>
Thu, 19 Aug 2010 01:47:25 +0000 (18:47 -0700)
committerDaniel Stodden <daniel.stodden@citrix.com>
Thu, 19 Aug 2010 01:47:25 +0000 (18:47 -0700)
 - Connection free list didn't init correctly.
 - Socket errors rather want a sign on the size_t.

Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
drivers/tapdisk-control.c

index 71cfe7b8bbd3fe3d9753779f7e6d59a832dce8c3..baba082c3029aed7e27fc474505b0c2926825ad9 100644 (file)
@@ -194,10 +194,10 @@ tapdisk_ctl_conn_unmask_out(struct tapdisk_ctl_conn *conn)
        tapdisk_server_mask_event(conn->out.event_id, 0);
 }
 
-static size_t
+static ssize_t
 tapdisk_ctl_conn_send_buf(struct tapdisk_ctl_conn *conn)
 {
-       size_t size;
+       ssize_t size;
 
        size = conn->out.prod - conn->out.cons;
        if (!size)
@@ -339,11 +339,12 @@ tapdisk_control_initialize(void)
 
        signal(SIGPIPE, SIG_IGN);
 
-       for (i = TD_CTL_MAX_CONNECTIONS - 1; i >= 0; i--) {
+       for (i = 0; i < TD_CTL_MAX_CONNECTIONS; i++) {
                conn = &td_control.__conn[i];
                tapdisk_ctl_conn_init(conn, TD_CTL_SEND_BUFSZ);
-               td_control.conn[td_control.n_conn] = conn;
+               td_control.conn[i] = conn;
        }
+
        td_control.n_conn = 0;
 
        DPRINTF("tapdisk-control: init, %d x %zuk buffers\n",