提交 21906d66 编写于 作者: Z zczhu 提交者: Facebook GitHub Bot

Add default impl to dir close (#10101)

Summary:
As pointed by anand1976 in his [comment](https://github.com/facebook/rocksdb/pull/10049#pullrequestreview-994255819), previous implementation is not backward-compatible. In this implementation, the default implementation `return Status::NotSupported("Close")` or `return IOStatus::NotSupported("Close")` is added for `Close()` function for `*Directory` classes.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/10101

Test Plan: DBBasicTest.DBCloseAllDirectoryFDs

Reviewed By: anand1976

Differential Revision: D36899346

Pulled By: littlepig2013

fbshipit-source-id: 430624793362f330cbb8837960f0e8712a944ab9
上级 cf856077
...@@ -936,7 +936,7 @@ class WritableFile { ...@@ -936,7 +936,7 @@ class WritableFile {
// size due to whole pages writes. The behavior is undefined if called // size due to whole pages writes. The behavior is undefined if called
// with other writes to follow. // with other writes to follow.
virtual Status Truncate(uint64_t /*size*/) { return Status::OK(); } virtual Status Truncate(uint64_t /*size*/) { return Status::OK(); }
virtual Status Close() = 0; virtual Status Close() { return Status::NotSupported("Close"); }
virtual Status Flush() = 0; virtual Status Flush() = 0;
virtual Status Sync() = 0; // sync data virtual Status Sync() = 0; // sync data
......
...@@ -1021,7 +1021,10 @@ class FSWritableFile { ...@@ -1021,7 +1021,10 @@ class FSWritableFile {
IODebugContext* /*dbg*/) { IODebugContext* /*dbg*/) {
return IOStatus::OK(); return IOStatus::OK();
} }
virtual IOStatus Close(const IOOptions& options, IODebugContext* dbg) = 0; virtual IOStatus Close(const IOOptions& /*options*/,
IODebugContext* /*dbg*/) {
return IOStatus::NotSupported("Close");
}
virtual IOStatus Flush(const IOOptions& options, IODebugContext* dbg) = 0; virtual IOStatus Flush(const IOOptions& options, IODebugContext* dbg) = 0;
virtual IOStatus Sync(const IOOptions& options, virtual IOStatus Sync(const IOOptions& options,
IODebugContext* dbg) = 0; // sync data IODebugContext* dbg) = 0; // sync data
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册