summaryrefslogtreecommitdiffstats
path: root/src/messages/MOSDPGBackfill.h
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2012-06-20 21:55:38 +0200
committerSamuel Just <sam.just@inktank.com>2012-06-22 02:10:29 +0200
commit2fe9816305fc1406ab7fb043bbb32affffc2d190 (patch)
treea830b2ffb9787f2e4fedb992e490c219fded2ec4 /src/messages/MOSDPGBackfill.h
parentlogrotate: reload all upstart instances (diff)
downloadceph-2fe9816305fc1406ab7fb043bbb32affffc2d190.tar.xz
ceph-2fe9816305fc1406ab7fb043bbb32affffc2d190.zip
OSD,PG,ObjectStore: handle messages with old hobject_t encoding
Messages that embed an hobject_t need to have the pool field fixed on messages from old peers. Signed-off-by: Samuel Just <sam.just@inktank.com>
Diffstat (limited to 'src/messages/MOSDPGBackfill.h')
-rw-r--r--src/messages/MOSDPGBackfill.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/messages/MOSDPGBackfill.h b/src/messages/MOSDPGBackfill.h
index 7e6c45e1e9a..bc2a696b6ce 100644
--- a/src/messages/MOSDPGBackfill.h
+++ b/src/messages/MOSDPGBackfill.h
@@ -48,6 +48,11 @@ public:
::decode(pgid, p);
::decode(last_backfill, p);
::decode(stats, p);
+
+ // Handle hobject_t format change
+ if (!last_backfill.is_max() &&
+ last_backfill.pool == -1)
+ last_backfill.pool = pgid.pool();
}
virtual void encode_payload(uint64_t features) {