remove debug from launce script.
authorGiannakos Filippos <philipgian@cslab.ece.ntua.gr>
Fri, 28 Sep 2012 09:39:45 +0000 (12:39 +0300)
committerGiannakos Filippos <philipgian@cslab.ece.ntua.gr>
Fri, 28 Sep 2012 09:39:45 +0000 (12:39 +0300)
xseg/launch
xseg/peers/kernel/xsegbd.c
xseg/peers/user/mt-mapperd.c

index 716e48f..6241985 100755 (executable)
@@ -112,7 +112,7 @@ function spawn_pfiled {
 
 function spawn_pfiledm {
        "${XSEG_HOME}/peers/user/pfiled" -p "$MBPORT" -g "${SPEC}" -n \
-       ${NR_OPS} "${PITHOSMAPS}" "${MAPS}" -v  &> "${XSEG_LOGS}/pfiledm-${HOSTNAME}" &
+       ${NR_OPS} "${PITHOSMAPS}" "${MAPS}"  &> "${XSEG_LOGS}/pfiledm-${HOSTNAME}" &
 }
 
 function spawn_vlmcd {
@@ -123,11 +123,9 @@ function spawn_vlmcd {
 }
 
 function spawn_mapperdc {
-       echo "${XSEG_HOME}/peers/user/mt-mapperd -t 1 -p $MPORT -bp $BPORT -mbp $MBPORT -g \"${SPEC}\"\
-       -v 3 &> \"${XSEG_LOGS}/mapperd-${HOSTNAME}\" &" 
        pgrep -f "mt-mapperd" || \
        "${XSEG_HOME}/peers/user/mt-mapperd" -t 1 -p "$MPORT" -bp "$BPORT" -mbp "$MBPORT" -g "${SPEC}"\
-       -v 3 &> "${XSEG_LOGS}/mapperd-${HOSTNAME}" & 
+       &> "${XSEG_LOGS}/mapperd-${HOSTNAME}" & 
 #      alloc_requests "$MPORT:0" 128
 }
 
index 52ccf0f..9b6a7bd 100644 (file)
@@ -447,6 +447,10 @@ int update_dev_sectors_from_request(       struct xsegbd_device *xsegbd_dev,
                                        struct xseg_request *xreq       )
 {
        void *data;
+       if (!xreq) {
+               XSEGLOG("Invalid xreq");
+               return -EIO;
+       }
 
        if (xreq->state & XS_FAILED)
                return -ENOENT;
@@ -455,6 +459,10 @@ int update_dev_sectors_from_request(       struct xsegbd_device *xsegbd_dev,
                return -EIO;
 
        data = xseg_get_data(xsegbd_dev->xseg, xreq);
+       if (!data) {
+               XSEGLOG("Invalid req data");
+               return -EIO;
+       }
        xsegbd_dev->sectors = *((uint64_t *) data) / 512ULL;
        return 0;
 }
@@ -507,9 +515,9 @@ static int xsegbd_get_size(struct xsegbd_device *xsegbd_dev)
                goto out_queue;
        }
        WARN_ON(xseg_signal(xsegbd_dev->xseg, p) < 0);
-
+       XSEGLOG("Before wait for completion, xreq %lx", (unsigned long) xreq);
        wait_for_completion_interruptible(&comp);
-       //XSEGLOG("Woken up after wait_for_completion_interruptible()\n");
+       XSEGLOG("Woken up after wait_for_completion_interruptible(), xreq: %lx", (unsigned long) xreq);
        ret = update_dev_sectors_from_request(xsegbd_dev, xreq);
        //XSEGLOG("get_size: sectors = %ld\n", (long)xsegbd_dev->sectors);
 out:
@@ -725,11 +733,11 @@ static ssize_t xsegbd_cleanup(struct device *dev,
                        pending->request = NULL;
                        comp = pending->comp;
                        pending->comp = NULL;
+                       if (blkreq)
+                               blk_end_request_all(blkreq, -EIO);
+                       if (comp)
+                               complete(comp);
                }
-               if (blkreq)
-                       blk_end_request_all(blkreq, -EIO);
-               if (comp)
-                       complete(comp);
                xlock_release(&xsegbd_dev->blk_queue_pending.lock);
        }
 
index 0115119..815c971 100644 (file)
@@ -138,7 +138,7 @@ static struct map * find_map(struct mapperd *mapper, char *target, uint32_t targ
        //assert targetlen <= XSEG_MAX_TARGETLEN
        strncpy(buf, target, targetlen);
        buf[targetlen] = 0;
-       XSEGLOG2(&lc, D, "looking up map %s, len %u", buf, targetlen);
+       XSEGLOG2(&lc, E, "looking up map %s, len %u", buf, targetlen);
        r = xhash_lookup(mapper->hashmaps, (xhashidx) buf, (xhashidx *) &m);
        if (r < 0)
                return NULL;
@@ -155,7 +155,7 @@ static int insert_map(struct mapperd *mapper, struct map *map)
                goto out;
        }
 
-       XSEGLOG2(&lc, D, "Inserting map %s, len: %d", map->volume, strlen(map->volume));
+       XSEGLOG2(&lc, E, "Inserting map %s, len: %d", map->volume, strlen(map->volume));
        r = xhash_insert(mapper->hashmaps, (xhashidx) map->volume, (xhashidx) map);
        if (r == -XHASH_ERESIZE) {
                xhashidx shift = xhash_grow_size_shift(map->objects);
@@ -655,6 +655,7 @@ static int copyup_object(struct peerd *peer, struct map_node *mn, struct peer_re
 {
        struct mapperd *mapper = __get_mapperd(peer);
        struct mapper_io *mio = __get_mapper_io(pr);
+       struct map *map = mn->map;
        void *dummy;
        int r = -1, i;
        xport p;
@@ -664,8 +665,8 @@ static int copyup_object(struct peerd *peer, struct map_node *mn, struct peer_re
        char new_target[XSEG_MAX_TARGETLEN + 1]; 
        unsigned char buf[SHA256_DIGEST_SIZE];  //assert sha256_digest_size(32) <= MAXTARGETLEN 
        char new_object[XSEG_MAX_TARGETLEN + 20]; //20 is an arbitrary padding able to hold string representation of objectidx
-       strncpy(new_object, mn->object, mn->objectlen);
-       sprintf(new_object + mn->objectlen, "%u", mn->objectidx); //sprintf adds null termination
+       strncpy(new_object, map->volume, map->volumelen);
+       sprintf(new_object + map->volumelen, "%u", mn->objectidx); //sprintf adds null termination
        new_object[XSEG_MAX_TARGETLEN + 19] = 0;
 
        gcry_md_hash_buffer(GCRY_MD_SHA256, buf, new_object, strlen(new_object));
@@ -1050,10 +1051,10 @@ static int req2objs(struct peerd *peer, struct peer_req *pr,
                goto out_object_copying;
        }
 
-       XSEGLOG2(&lc, E, "pr->req->offset: %llu, pr->req->size %llu, block_size %u\n", 
-                               (unsigned long long) pr->req->offset, 
-                               (unsigned long long) pr->req->size, 
-                               block_size);
+//     XSEGLOG2(&lc, D, "pr->req->offset: %llu, pr->req->size %llu, block_size %u\n", 
+//                             (unsigned long long) pr->req->offset, 
+//                             (unsigned long long) pr->req->size, 
+//                             block_size);
        strncpy(reply->segs[idx].target, mn->object, mn->objectlen);
        reply->segs[idx].targetlen = mn->objectlen;
        reply->segs[idx].target[mn->objectlen] = 0;
@@ -1225,6 +1226,7 @@ out_fail:
                struct peer_req * preq = (struct peer_req *) idx;
                fail(peer, preq);
        }
+       return 0;
 
 out_err:
        XSEGLOG2(&lc, E, "Cannot get map node");