]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/NewStore: data_map shouldn't be empty when writing all overlays
authorZhiqiang Wang <zhiqiang.wang@intel.com>
Thu, 23 Apr 2015 02:34:37 +0000 (10:34 +0800)
committerSage Weil <sage@redhat.com>
Tue, 1 Sep 2015 17:39:40 +0000 (13:39 -0400)
This should be an assert instead of creating new data_map.

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
src/os/newstore/NewStore.cc

index e39fbbfbe9be4829dcb13d899214a99724cc8f2a..d501943b99310436f32e7c72f302a1fd6214302d 100644 (file)
@@ -3098,20 +3098,6 @@ int NewStore::_do_write_all_overlays(TransContext *txc,
   if (o->onode.overlay_map.empty())
     return 0;
 
-  // overwrite to new fid
-  if (o->onode.data_map.empty()) {
-    // create
-    fragment_t &f = o->onode.data_map[0];
-    f.offset = 0;
-    f.length = o->onode.size;
-    int fd = _create_fid(txc, &f.fid, O_RDWR);
-    if (fd < 0) {
-      return fd;
-    }
-    VOID_TEMP_FAILURE_RETRY(::close(fd));
-    dout(20) << __func__ << " create " << f.fid << dendl;
-  }
-
   assert(o->onode.data_map.size() == 1);
   fragment_t& f = o->onode.data_map.begin()->second;
   assert(f.offset == 0);