From 47f92778b9841ef16cea37266b1fb042df9713a0 Mon Sep 17 00:00:00 2001 From: sageweil Date: Thu, 29 Nov 2007 18:52:44 +0000 Subject: [PATCH] part of port bits git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@2147 29311d96-e01e-0410-9327-a35deaab8ce9 --- trunk/ceph/kernel/osd_client.c | 21 +++++++++++++++------ trunk/ceph/kernel/super.c | 5 +++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/trunk/ceph/kernel/osd_client.c b/trunk/ceph/kernel/osd_client.c index dd092d06769e3..72f01d5181c70 100644 --- a/trunk/ceph/kernel/osd_client.c +++ b/trunk/ceph/kernel/osd_client.c @@ -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; diff --git a/trunk/ceph/kernel/super.c b/trunk/ceph/kernel/super.c index e2ee6c04a447c..f3fee4a7a4a8d 100644 --- a/trunk/ceph/kernel/super.c +++ b/trunk/ceph/kernel/super.c @@ -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; -- 2.39.5