]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
part of port bits
authorsageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 29 Nov 2007 18:52:44 +0000 (18:52 +0000)
committersageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 29 Nov 2007 18:52:44 +0000 (18:52 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@2147 29311d96-e01e-0410-9327-a35deaab8ce9

trunk/ceph/kernel/osd_client.c
trunk/ceph/kernel/super.c

index dd092d06769e321120d013d44ef34328685fc640..72f01d5181c708c751a2efbdab4ed1b9f87a81be 100644 (file)
@@ -439,6 +439,7 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
        /* incremental maps */
        if ((err = ceph_decode_32(&p, end, &nr_maps)) < 0)
                goto bad;
+       dout(10, " %d inc maps\n", nr_maps);
        while (nr_maps--) {
                if ((err = ceph_decode_64(&p, end, &epoch)) < 0)
                        goto bad;
@@ -446,6 +447,7 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
                        goto bad;
                next = p + maplen;
                if (osdc->osdmap && osdc->osdmap->epoch+1 == epoch) {
+                       dout(10, "applying incremental map %llu len %d\n", epoch, maplen);
                        newmap = apply_incremental(p, min(p+maplen,end), osdc->osdmap);
                        if (IS_ERR(newmap)) {
                                err = PTR_ERR(newmap);
@@ -455,9 +457,8 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
                                osdmap_destroy(osdc->osdmap);
                                osdc->osdmap = newmap;
                        }
-                       dout(1, "applied incremental map %llu\n", epoch);
                } else {
-                       dout(1, "ignored incremental map %llu\n", epoch);
+                       dout(10, "ignoring incremental map %llu len %d\n", epoch, maplen);
                }
                p = next;
        }
@@ -465,25 +466,33 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
                goto out;
        
        /* full maps */
+       dout(10, " at %p of %p offset %d\n", p, end, (int)(p - msg->front.iov_base));
        if ((err = ceph_decode_32(&p, end, &nr_maps)) < 0)
                goto bad;
+       dout(10, " at %p of %p offset %d\n", p, end, (int)(p - msg->front.iov_base));
+       dout(30, " %d full maps\n", nr_maps);
        while (nr_maps > 1) {
-               dout(5, "skipping non-latest full map\n");
                if ((err = ceph_decode_64(&p, end, &epoch)) < 0)
                        goto bad;
                if ((err = ceph_decode_32(&p, end, &maplen)) < 0)
                        goto bad;
+               dout(5, "skipping non-latest full map %lld len %d\n", epoch, maplen);
                p += maplen;
        }
        if (nr_maps) {
                if ((err = ceph_decode_64(&p, end, &epoch)) < 0)
                        goto bad;
+       dout(10, " at %p of %p offset %d\n", p, end, (int)(p - msg->front.iov_base));
+       dout(10, "got %llu\n", epoch);
                if ((err = ceph_decode_32(&p, end, &maplen)) < 0)
                        goto bad;
+       dout(10, " at %p of %p offset %d\n", p, end, (int)(p - msg->front.iov_base));
                if (osdc->osdmap && osdc->osdmap->epoch >= epoch) {
-                       dout(10, "full map %llu is older than our %llu\n", 
-                            epoch, osdc->osdmap->epoch);
+                       dout(10, "skipping full map %llu len %d, older than our %llu\n", 
+                            epoch, maplen, osdc->osdmap->epoch);
+                       p += maplen;
                } else {
+                       dout(10, "taking full map %llu len %d\n", epoch, maplen);
                        newmap = osdmap_decode(&p, min(p+maplen,end));
                        if (IS_ERR(newmap)) {
                                err = PTR_ERR(newmap);
@@ -492,9 +501,9 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
                        if (osdc->osdmap)
                                osdmap_destroy(osdc->osdmap);
                        osdc->osdmap = newmap;
-                       dout(10, "took full map %llu\n", newmap->epoch);
                }
        }
+       dout(1, "done\n");
        
 out:
        return;
index e2ee6c04a447ca92241823e95da9c1c3dab40d99..f3fee4a7a4a8d3a5fecc5c501a4951a363949f4b 100644 (file)
@@ -185,6 +185,7 @@ enum {
        Opt_fsidminor,
        Opt_debug,
        Opt_monport,
+       Opt_port,
        Opt_ip
 };
 
@@ -193,6 +194,7 @@ static match_table_t arg_tokens = {
        {Opt_fsidminor, "fsidminor=%ld"},
        {Opt_debug, "debug=%d"},
        {Opt_monport, "monport=%d"},
+       {Opt_port, "port=%d"}
        {Opt_ip, "ip=%s"}
 };
 
@@ -301,6 +303,9 @@ static int parse_mount_args(int flags, char *options, const char *dev_name, stru
                case Opt_debug:
                        ceph_debug = intval;
                        break;
+               case Opt_port:
+                       args->my_addr.ipaddr.sin_port = htons(intval);
+                       break;
                case Opt_ip:
                        parse_ip(argstr[0].from, argstr[0].to-argstr[0].from, &args->my_addr);
                        break;