]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
BlueFS: fix space leak during write
authorxie xingguo <xie.xingguo@zte.com.cn>
Mon, 25 Jan 2016 04:15:21 +0000 (12:15 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Mon, 25 Jan 2016 11:01:42 +0000 (19:01 +0800)
Fixes: #14481
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueFS.cc

index d8ecdec36fd55b837b4fd6ef4e7dc4eac7787fe5..1bad6a2c68fc7341ccb4ed7e8a3dcce1a185d86b 100644 (file)
@@ -1273,6 +1273,10 @@ int BlueFS::open_for_write(
               << ") file " << filename
               << " already exists, truncate + overwrite" << dendl;
       file->fnode.size = 0;
+      for (auto& p : file->fnode.extents) {
+        alloc[p.bdev]->release(p.offset, p.length);
+      }
+      file->fnode.extents.clear();
     }
     file->fnode.mtime = ceph_clock_now(NULL);
     log_t.op_file_update(file->fnode);