]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/FileStore: check replay guard on src for collection rename
authorSage Weil <sage@inktank.com>
Tue, 19 Feb 2013 01:39:46 +0000 (17:39 -0800)
committerSage Weil <sage@inktank.com>
Tue, 19 Feb 2013 18:41:09 +0000 (10:41 -0800)
commit5fc83c8d9887d2a916af11436ccc94fcbfe59b7a
tree376fabddff2608f355a4f965ec9b7f0576776c13
parent56c5a07708d52de1699585c9560cff8b4e993d0a
os/FileStore: check replay guard on src for collection rename

This avoids a problematic sequence like:

     - rename A/ -> B/
     - remove B/1...100
     - destroy B/
     - create A/
     - write A/101...
     <crash>
     - replay A/ -> B/
     - remove B/1...100  (fails but tolerated)
     - destroy B/        (fails with ENOTEMPTY)

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
src/os/FileStore.cc