summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2013-09-19 19:51:46 -0700
committerSamuel Just <sam.just@inktank.com>2013-09-19 20:03:50 -0700
commit03eb3eb697e4d41fd96fdf360ca56486d4e02181 (patch)
tree88535104acf064d9c063f83fcb54c76723f9bb6d
parent91dcdec18e5de9d727ec4b4c61a7a547769ad40d (diff)
downloadceph-03eb3eb697e4d41fd96fdf360ca56486d4e02181.tar.gz
FileStore: only remove the omap entries if nlink == 1
Introduced in 17c5d765d7c7573f875f6b3ba66e3b6813110a06 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/os/FileStore.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/os/FileStore.cc b/src/os/FileStore.cc
index 5d9e9d1482d..ac51f95006f 100644
--- a/src/os/FileStore.cc
+++ b/src/os/FileStore.cc
@@ -324,7 +324,8 @@ int FileStore::lfn_unlink(coll_t cid, const hobject_t& o,
assert(!m_filestore_fail_eio || r != -EIO);
return r;
}
- force_clear_omap = true;
+ if (st.st_nlink == 1)
+ force_clear_omap = true;
}
if (force_clear_omap) {
dout(20) << __func__ << ": clearing omap on " << o