diff --git a/utilities/fault_injection_fs.cc b/utilities/fault_injection_fs.cc index 5943ebb24..26d4d2d4c 100644 --- a/utilities/fault_injection_fs.cc +++ b/utilities/fault_injection_fs.cc @@ -240,6 +240,7 @@ IOStatus TestFSWritableFile::PositionedAppend( IOStatus TestFSWritableFile::Close(const IOOptions& options, IODebugContext* dbg) { + MutexLock l(&mutex_); if (!fs_->IsFilesystemActive()) { return fs_->GetError(); } @@ -271,6 +272,7 @@ IOStatus TestFSWritableFile::Close(const IOOptions& options, } IOStatus TestFSWritableFile::Flush(const IOOptions&, IODebugContext*) { + MutexLock l(&mutex_); if (!fs_->IsFilesystemActive()) { return fs_->GetError(); } @@ -282,6 +284,7 @@ IOStatus TestFSWritableFile::Flush(const IOOptions&, IODebugContext*) { IOStatus TestFSWritableFile::Sync(const IOOptions& options, IODebugContext* dbg) { + MutexLock l(&mutex_); if (!fs_->IsFilesystemActive()) { return fs_->GetError(); } @@ -302,6 +305,7 @@ IOStatus TestFSWritableFile::Sync(const IOOptions& options, IOStatus TestFSWritableFile::RangeSync(uint64_t offset, uint64_t nbytes, const IOOptions& options, IODebugContext* dbg) { + MutexLock l(&mutex_); if (!fs_->IsFilesystemActive()) { return fs_->GetError(); } diff --git a/utilities/fault_injection_fs.h b/utilities/fault_injection_fs.h index 886234eed..8cf6c44c8 100644 --- a/utilities/fault_injection_fs.h +++ b/utilities/fault_injection_fs.h @@ -97,7 +97,7 @@ class TestFSWritableFile : public FSWritableFile { }; private: - FSFileState state_; + FSFileState state_; // Need protection by mutex_ FileOptions file_opts_; std::unique_ptr target_; bool writable_file_opened_;