[llvm] 5d3cf82 - Revert "Support: Add mapped_file_region::sync(), equivalent to msync"

via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 8 09:50:10 PDT 2022


Author: raghavmedicherla
Date: 2022-09-08T12:49:52-04:00
New Revision: 5d3cf8267f90c3715d77f9bf7f97077b65791cb3

URL: https://github.com/llvm/llvm-project/commit/5d3cf8267f90c3715d77f9bf7f97077b65791cb3
DIFF: https://github.com/llvm/llvm-project/commit/5d3cf8267f90c3715d77f9bf7f97077b65791cb3.diff

LOG: Revert "Support: Add mapped_file_region::sync(), equivalent to msync"

This reverts commit 142f51fc2f448845f6a32e767ffaa2b665eea11f.

This shouldn't be committed, it got committed accidentally.

Added: 
    

Modified: 
    llvm/include/llvm/Support/FileSystem.h
    llvm/lib/Support/Unix/Path.inc
    llvm/lib/Support/Windows/Path.inc
    llvm/unittests/Support/Path.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Support/FileSystem.h b/llvm/include/llvm/Support/FileSystem.h
index 8521aa8af5f89..033482977a105 100644
--- a/llvm/include/llvm/Support/FileSystem.h
+++ b/llvm/include/llvm/Support/FileSystem.h
@@ -1337,9 +1337,6 @@ class mapped_file_region {
   /// behavior.
   const char *const_data() const;
 
-  /// Write changes to disk and synchronize. Equivalent to POSIX msync.
-  std::error_code sync() const;
-
   /// \returns The minimum alignment offset must be.
   static int alignment();
 };

diff  --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc
index 17c8069cac9b5..3ecc5c971b79f 100644
--- a/llvm/lib/Support/Unix/Path.inc
+++ b/llvm/lib/Support/Unix/Path.inc
@@ -885,14 +885,6 @@ void mapped_file_region::dontNeedImpl() {
 #endif
 }
 
-std::error_code mapped_file_region::sync() const {
-  assert(Mapping && "Mapping failed but used anyway!");
-  assert(Mode == readwrite && "sync only valid for readwrite regions!");
-  if (::msync(Mapping, Size, MS_SYNC))
-    return std::error_code(errno, std::generic_category());
-  return std::error_code();
-}
-
 int mapped_file_region::alignment() {
   return Process::getPageSizeEstimate();
 }

diff  --git a/llvm/lib/Support/Windows/Path.inc b/llvm/lib/Support/Windows/Path.inc
index 9101c1c43f244..43b1e99aa3c98 100644
--- a/llvm/lib/Support/Windows/Path.inc
+++ b/llvm/lib/Support/Windows/Path.inc
@@ -963,16 +963,6 @@ void mapped_file_region::unmapImpl() {
 
 void mapped_file_region::dontNeedImpl() {}
 
-std::error_code mapped_file_region::sync() const {
-  assert(Mapping && "Mapping failed but used anyway!");
-  assert(Mode == readwrite && "sync only valid for readwrite regions!");
-  if (!::FlushViewOfFile(Mapping, Size))
-    return mapWindowsError(GetLastError());
-  if (!::FlushFileBuffers(FileHandle))
-    return mapWindowsError(GetLastError());
-  return std::error_code();
-}
-
 int mapped_file_region::alignment() {
   SYSTEM_INFO SysInfo;
   ::GetSystemInfo(&SysInfo);

diff  --git a/llvm/unittests/Support/Path.cpp b/llvm/unittests/Support/Path.cpp
index 4457577edbf36..3b8ffd8fee94a 100644
--- a/llvm/unittests/Support/Path.cpp
+++ b/llvm/unittests/Support/Path.cpp
@@ -1463,33 +1463,6 @@ TEST_F(FileSystemTest, FileMapping) {
   ASSERT_NO_ERROR(fs::remove(TempPath));
 }
 
-TEST_F(FileSystemTest, FileMappingSync) {
-  // Create a temp file.
-  int FD;
-  SmallString<64> TempPath;
-  ASSERT_NO_ERROR(fs::createTemporaryFile("prefix", "temp", FD, TempPath));
-  StringRef Content("hello there");
-  ASSERT_NO_ERROR(fs::resize_file_before_mapping_readwrite(FD, Content.size()));
-
-  {
-    // Map in the file and write some content.
-    std::error_code EC;
-    fs::mapped_file_region mfr(fs::convertFDToNativeFile(FD),
-                               fs::mapped_file_region::readwrite,
-                               Content.size(), 0, EC);
-    ASSERT_NO_ERROR(EC);
-    ASSERT_EQ(close(FD), 0);
-    std::copy(Content.begin(), Content.end(), mfr.data());
-
-    // Synchronize and check the contents before unmapping.
-    mfr.sync();
-    auto Buffer = MemoryBuffer::getFile(TempPath);
-    ASSERT_TRUE((bool)Buffer);
-    ASSERT_EQ(Content, Buffer->get()->getBuffer());
-  }
-  ASSERT_NO_ERROR(fs::remove(TempPath));
-}
-
 TEST(Support, NormalizePath) {
   //                           Input,        Expected Win, Expected Posix
   using TestTuple = std::tuple<const char *, const char *, const char *>;


        


More information about the llvm-commits mailing list