os/bluestore: flush before enumerating omap values #12328

Merged
merged 1 commit into from Dec 6, 2016

Projects

None yet

2 participants

@liewegas
Member
liewegas commented Dec 5, 2016

For a few update ops we enumerate omap keys (to remove them).
Make sure we flush the pipeline before doing so or else we may
lose keys inserted by a previous transaction that hasn't yet
committed.

Fixes: http://tracker.ceph.com/issues/18140
Signed-off-by: Sage Weil sage@redhat.com

@liewegas liewegas added this to the kraken milestone Dec 5, 2016
@liewegas liewegas os/bluestore: flush before enumerating omap values
For a few update ops we enumerate omap keys (to remove them).
Make sure we flush the pipeline before doing so or else we may
lose keys inserted by a previous transaction that hasn't yet
committed.

Fixes: http://tracker.ceph.com/issues/18140
Signed-off-by: Sage Weil <sage@redhat.com>
1e042a9
@@ -8501,6 +8503,7 @@ int BlueStore::_omap_rmkey_range(TransContext *txc,
if (!o->onode.has_omap()) {
goto out;
}
+ o->flush();
@xiexingguo
xiexingguo Dec 6, 2016 Contributor

Update _omap_rmkeys() too?

@liewegas
Member
liewegas commented Dec 6, 2016
@liewegas liewegas merged commit 2340a7b into ceph:master Dec 6, 2016

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details
@liewegas liewegas deleted the liewegas:wip-bluestore-flush branch Dec 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment