diff --git a/include/rocksdb/env.h b/include/rocksdb/env.h index 262bc24ca..04198d32d 100644 --- a/include/rocksdb/env.h +++ b/include/rocksdb/env.h @@ -936,7 +936,7 @@ class WritableFile { // size due to whole pages writes. The behavior is undefined if called // with other writes to follow. virtual Status Truncate(uint64_t /*size*/) { return Status::OK(); } - virtual Status Close() { return Status::NotSupported("Close"); } + virtual Status Close() = 0; virtual Status Flush() = 0; virtual Status Sync() = 0; // sync data @@ -1149,7 +1149,7 @@ class Directory { // Fsync directory. Can be called concurrently from multiple threads. virtual Status Fsync() = 0; // Close directory. - virtual Status Close() = 0; + virtual Status Close() { return Status::NotSupported("Close"); } virtual size_t GetUniqueId(char* /*id*/, size_t /*max_size*/) const { return 0; diff --git a/include/rocksdb/file_system.h b/include/rocksdb/file_system.h index 9006921b4..7bc19976b 100644 --- a/include/rocksdb/file_system.h +++ b/include/rocksdb/file_system.h @@ -1022,9 +1022,8 @@ class FSWritableFile { return IOStatus::OK(); } virtual IOStatus Close(const IOOptions& /*options*/, - IODebugContext* /*dbg*/) { - return IOStatus::NotSupported("Close"); - } + IODebugContext* /*dbg*/) = 0; + virtual IOStatus Flush(const IOOptions& options, IODebugContext* dbg) = 0; virtual IOStatus Sync(const IOOptions& options, IODebugContext* dbg) = 0; // sync data @@ -1271,7 +1270,10 @@ class FSDirectory { } // Close directory - virtual IOStatus Close(const IOOptions& options, IODebugContext* dbg) = 0; + virtual IOStatus Close(const IOOptions& /*options*/, + IODebugContext* /*dbg*/) { + return IOStatus::NotSupported("Close"); + } virtual size_t GetUniqueId(char* /*id*/, size_t /*max_size*/) const { return 0;