]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: fix pg_temp mapping update
authorSage Weil <sage@newdream.net>
Wed, 28 Sep 2011 17:11:04 +0000 (10:11 -0700)
committerSage Weil <sage@newdream.net>
Wed, 28 Sep 2011 17:13:35 +0000 (10:13 -0700)
commit76dae702a5fbb048aaa1e5b01fac7588468e5f0a
tree18ea04f84f3138561f5a5d09699271b213827f3e
parente5198b1f319dd837819065c65850ff33fbb0048e
libceph: fix pg_temp mapping update

The incremental map updates have a record for each pg_temp mapping that is
to be add/updated (len > 0) or removed (len == 0).  The old code was
written as if the updates were a complete enumeration; that was just wrong.
Update the code to remove 0-length entries and drop the rbtree traversal.

This avoids misdirected (and hung) requests that manifest as server
errors like

[WRN] client4104 10.0.1.219:0/275025290 misdirected client4104.1:129 0.1 to osd0 not [1,0] in e11/11

Signed-off-by: Sage Weil <sage@newdream.net>
net/ceph/osdmap.c