]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore/BlueStore: fix rename
authorSage Weil <sage@redhat.com>
Tue, 22 Dec 2015 16:40:23 +0000 (11:40 -0500)
committerSage Weil <sage@redhat.com>
Fri, 1 Jan 2016 18:07:21 +0000 (13:07 -0500)
commitc206832c74e1f7ee7020ef203653c35edb142a94
tree66c156cbc83863998a7ad32f4ec77e4cb16628b6
parentbf1f02c1b0b6a5ee6cd651dc80280b80d3044af9
os/bluestore/BlueStore: fix rename

Install a negative onode entry at the old name position.
Otherwise, a simple transaction like

 rename a -> b
 touch b

will re-read the old b onode key on the second op, and chaos will
ensue (e.g., because it'll reference the same extents from a
different object).

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc
src/test/objectstore/store_test.cc