From 7c5a4d63e5eecabe828188a14747e8d170055c6e Mon Sep 17 00:00:00 2001 From: Hui Xiao Date: Fri, 19 Aug 2022 22:32:20 -0700 Subject: [PATCH] Add missing lock in TestFSWritableFile & a comment --- utilities/fault_injection_fs.cc | 4 ++++ utilities/fault_injection_fs.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/utilities/fault_injection_fs.cc b/utilities/fault_injection_fs.cc index 5943ebb24ae..26d4d2d4ccb 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 886234eed7f..8cf6c44c833 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_;