From 1265ed7abbe68bd6a4c854f5b273aef23f427e30 Mon Sep 17 00:00:00 2001 From: Aaron Gao Date: Fri, 14 Apr 2017 18:43:55 -0700 Subject: [PATCH] remove warning Summary: st_blocks shows 16 though the right value is 8. This happens occasionally which seems a bug. Closes https://github.com/facebook/rocksdb/pull/2160 Differential Revision: D4893542 Pulled By: lightmark fbshipit-source-id: 68e832586b58bbc6162efbe83ce273f1570d5be3 --- env/io_posix.cc | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/env/io_posix.cc b/env/io_posix.cc index eef011d04..fee969022 100644 --- a/env/io_posix.cc +++ b/env/io_posix.cc @@ -772,17 +772,9 @@ Status PosixWritableFile::Close() { fstat(fd_, &file_stats); // After ftruncate, we check whether ftruncate has the correct behavior. // If not, we should hack it with FALLOC_FL_PUNCH_HOLE - static bool buggy = false; - if (!buggy && (file_stats.st_size + file_stats.st_blksize - 1) / + if ((file_stats.st_size + file_stats.st_blksize - 1) / file_stats.st_blksize != file_stats.st_blocks / (file_stats.st_blksize / 512)) { - fprintf(stderr, - "WARNING: Your kernel may be buggy (<= 4.0.x) and does not free " - "preallocated blocks on truncate. Hacking around it, but you " - "should upgrade!\n"); - buggy = true; - } - if (buggy) { IOSTATS_TIMER_GUARD(allocate_nanos); if (allow_fallocate_) { fallocate(fd_, FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE, filesize_,