diff options
author | Samuel Just <sam.just@inktank.com> | 2012-06-20 21:55:38 +0200 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2012-06-22 02:10:29 +0200 |
commit | 2fe9816305fc1406ab7fb043bbb32affffc2d190 (patch) | |
tree | a830b2ffb9787f2e4fedb992e490c219fded2ec4 /src/messages/MOSDPGBackfill.h | |
parent | logrotate: reload all upstart instances (diff) | |
download | ceph-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.h | 5 |
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) { |