From ebeef975ea6f2843cf09ff16786b52f80e0b7d3c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 16 Mar 2010 12:51:58 -0700 Subject: [PATCH] mds: fix SimpleLock state encode/decode This was broken when we changed the size of SimpleLock::state to __u16. --- src/mds/SimpleLock.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/mds/SimpleLock.h b/src/mds/SimpleLock.h index 6479b28455abc..383e648c7a0d5 100644 --- a/src/mds/SimpleLock.h +++ b/src/mds/SimpleLock.h @@ -483,19 +483,17 @@ public: more()->gather_set.swap(g); } void encode_state_for_replica(bufferlist& bl) const { - __u32 s = get_replica_state(); + __s16 s = get_replica_state(); ::encode(s, bl); } void decode_state(bufferlist::iterator& p, bool is_new=true) { + __s16 s; + ::decode(s, p); if (is_new) - ::decode(state, p); - else { - __s32 blah; - ::decode(blah, p); - } + state = s; } void decode_state_rejoin(bufferlist::iterator& p, list& waiters) { - __s32 s; + __s16 s; ::decode(s, p); set_state_rejoin(s, waiters); } -- 2.39.5