[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-3.0.5-testing] [TAPDISK] Use incremental cookies and fix blktapctrl::test_path parameter typo.
# HG changeset patch # User Jake Wires <jwires@xxxxxxxxxxxxx> # Date 1177367873 25200 # Node ID f033cc5cc0d5f14ee59a5309224aea7565fa8e87 # Parent 6139337e26903d18edc1ff9ce4df1f1b0cfa76f2 [TAPDISK] Use incremental cookies and fix blktapctrl::test_path parameter typo. Signed-off-by: Jake Wires <jwires@xxxxxxxxxxxxx> --- tools/blktap/drivers/blktapctrl.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff -r 6139337e2690 -r f033cc5cc0d5 tools/blktap/drivers/blktapctrl.c --- a/tools/blktap/drivers/blktapctrl.c Mon Apr 23 16:37:03 2007 +0100 +++ b/tools/blktap/drivers/blktapctrl.c Mon Apr 23 15:37:53 2007 -0700 @@ -177,14 +177,14 @@ static int get_tapdisk_pid(blkif_t *blki * return 0 on success, -1 on error. */ -static int test_path(char *path, char **dev, int *type, blkif_t *blkif) +static int test_path(char *path, char **dev, int *type, blkif_t **blkif) { char *ptr, handle[10]; int i, size, found = 0; size = sizeof(dtypes)/sizeof(disk_info_t *); *type = MAX_DISK_TYPES + 1; - blkif = NULL; + *blkif = NULL; if ( (ptr = strstr(path, ":"))!=NULL) { memcpy(handle, path, (ptr - path)); @@ -207,9 +207,9 @@ static int test_path(char *path, char ** /* Check whether tapdisk process already exists */ if (active_disks[dtypes[i]->idnum] == NULL) - blkif = NULL; + *blkif = NULL; else - blkif = active_disks[dtypes[i] + *blkif = active_disks[dtypes[i] ->idnum]->blkif; } return 0; @@ -478,19 +478,20 @@ int blktapctrl_new_blkif(blkif_t *blkif) char *rdctldev, *wrctldev, *cmd, *ptr; image_t *image; blkif_t *exist = NULL; + static uint16_t next_cookie = 0; DPRINTF("Received a poll for a new vbd\n"); if ( ((blk=blkif->info) != NULL) && (blk->params != NULL) ) { if (get_new_dev(&major, &minor, blkif)<0) return -1; - if (test_path(blk->params, &ptr, &type, exist) != 0) { + if (test_path(blk->params, &ptr, &type, &exist) != 0) { DPRINTF("Error in blktap device string(%s).\n", blk->params); return -1; } blkif->drivertype = type; - blkif->cookie = lrand48() % MAX_RAND_VAL; + blkif->cookie = next_cookie++; if (!exist) { DPRINTF("Process does not exist:\n"); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |