]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
tmpfs does not support fallocate
authorIgor Canadi <icanadi@fb.com>
Fri, 18 Oct 2013 05:15:57 +0000 (22:15 -0700)
committerIgor Canadi <icanadi@fb.com>
Fri, 18 Oct 2013 05:15:57 +0000 (22:15 -0700)
Summary: This caused Siying's unit test to fail.

Test Plan: Unittest

Reviewers: dhruba, kailiu, haobo

Reviewed By: dhruba

CC: leveldb
Differential Revision: https://reviews.facebook.net/D13539

util/blob_store.cc

index 694787210b40d9fd981229b45ef9a9efa198ea14..168a6d74a777e4c63c74092bc2b9d15a72dd13e9 100644 (file)
@@ -261,7 +261,10 @@ Status BlobStore::Allocate(uint32_t blocks, Blob* blob) {
 
   s = free_list_.Allocate(blocks, blob);
   if (!s.ok()) {
-    CreateNewBucket();
+    s = CreateNewBucket();
+    if (!s.ok()) {
+      return s;
+    }
     s = free_list_.Allocate(blocks, blob);
   }
 
@@ -284,12 +287,8 @@ Status BlobStore::CreateNewBucket() {
     return s;
   }
 
-  s = buckets_[new_bucket_id].get()->Allocate(
-      0, block_size_ * blocks_per_bucket_);
-  if (!s.ok()) {
-    buckets_.erase(buckets_.begin() + new_bucket_id);
-    return s;
-  }
+  // tmpfs does not support allocate
+  buckets_[new_bucket_id].get()->Allocate(0, block_size_ * blocks_per_bucket_);
 
   return free_list_.Free(Blob(new_bucket_id, 0, blocks_per_bucket_));
 }