]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
fixed prepare_pages, osd_client bugs
authorSage Weil <sage@newdream.net>
Tue, 8 Jan 2008 02:02:38 +0000 (18:02 -0800)
committerSage Weil <sage@newdream.net>
Tue, 8 Jan 2008 02:02:38 +0000 (18:02 -0800)
src/kernel/messenger.c
src/kernel/osdmap.c

index 5e4530e0d822df601013b61ab8b5ce29ebbd432c..603aa7aa6e7011e43b163cbef1f010c72dab317a 100644 (file)
@@ -597,7 +597,7 @@ static int read_message_partial(struct ceph_connection *con)
                want = calc_pages_for(m->hdr.data_len, m->hdr.data_off);
                ret = 0;
                BUG_ON(!con->msgr->prepare_pages);
-               ret = con->msgr->prepare_pages(con->msgr, m, want);
+               ret = con->msgr->prepare_pages(con->msgr->parent, m, want);
                if (ret < 0) {
                        dout(10, "prepare_pages failed, skipping+discarding message\n");
                        con->in_base_pos = -m->hdr.data_len; /* ignore rest of message */
index e7273ba08a3f5455400de215810c098dcd06ee17..b620db9b31acb1b3c71447b10e9690f80f83593a 100644 (file)
@@ -534,7 +534,7 @@ void calc_object_layout(struct ceph_object_layout *ol,
                        struct ceph_osdmap *osdmap)
 {
        unsigned num, num_mask;
-       if (fl->fl_pg_preferred) {
+       if (fl->fl_pg_preferred >= 0) {
                num = osdmap->localized_pg_num;
                num_mask = osdmap->localized_pg_num_mask;
        } else {