summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
Diffstat (limited to 'base')
-rw-r--r--base/file_util.h4
-rw-r--r--base/file_util_linux.cc12
-rw-r--r--base/file_util_mac.mm6
-rw-r--r--base/file_util_win.cc41
4 files changed, 0 insertions, 63 deletions
diff --git a/base/file_util.h b/base/file_util.h
index 0bdb56d..3df31e4 100644
--- a/base/file_util.h
+++ b/base/file_util.h
@@ -389,10 +389,6 @@ bool RenameFileAndResetSecurityDescriptor(
const std::wstring& source_file_path,
const std::wstring& target_file_path);
-// Clear a specific file from the system cache. After this call, trying
-// to access this file will result in a cold load from the hard drive.
-bool EvictFileFromSystemCache(const FilePath path);
-
} // namespace file_util
#endif // BASE_FILE_UTIL_H_
diff --git a/base/file_util_linux.cc b/base/file_util_linux.cc
index d2a6870..f776c91 100644
--- a/base/file_util_linux.cc
+++ b/base/file_util_linux.cc
@@ -72,16 +72,4 @@ bool CopyFile(const FilePath& from_path, const FilePath& to_path) {
return result;
}
-bool EvictFileFromSystemCache(const FilePath path) {
- int fd = open(path.value().c_str(), O_RDONLY);
- if (fd < 0)
- return false;
- if (fdatasync(fd) != 0)
- return false;
- if (posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED) != 0)
- return false;
- close(fd);
- return true;
-}
-
} // namespace file_util
diff --git a/base/file_util_mac.mm b/base/file_util_mac.mm
index 0cf63d2..f7f5632 100644
--- a/base/file_util_mac.mm
+++ b/base/file_util_mac.mm
@@ -28,10 +28,4 @@ bool CopyFile(const FilePath& from_path, const FilePath& to_path) {
to_path.value().c_str(), NULL, COPYFILE_ALL) == 0);
}
-bool EvictFileFromSystemCache(const FilePath path) {
- // TODO(port): Implement.
- NOTIMPLEMENTED();
- return false;
-}
-
} // namespace
diff --git a/base/file_util_win.cc b/base/file_util_win.cc
index 5f75544..355bdfd 100644
--- a/base/file_util_win.cc
+++ b/base/file_util_win.cc
@@ -692,45 +692,4 @@ std::wstring FileEnumerator::Next() {
return (file_type_ & FileEnumerator::FILES) ? cur_file : Next();
}
-bool EvictFileFromSystemCache(const FilePath path) {
- // Overwrite it with no buffering.
- ScopedHandle file(CreateFile(path.value().c_str(),
- GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
- OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, NULL));
- if (!file.IsValid())
- return false;
-
- // Execute in chunks. It could be optimized. We want to do few of these since
- // these operations will be slow without the cache.
- char buffer[128 * 1024];
- int total_bytes = 0;
- DWORD bytes_read;
- for (;;) {
- if (!ReadFile(file, buffer, sizeof(buffer), &bytes_read, NULL))
- return false;
- if (bytes_read == 0)
- break;
-
- bool final = false;
- if (bytes_read < sizeof(buffer))
- final = true;
-
- DWORD to_write = final ? sizeof(buffer) : bytes_read;
-
- DWORD actual;
- SetFilePointer(file, total_bytes, 0, FILE_BEGIN);
- if (!WriteFile(file, buffer, to_write, &actual, NULL))
- return false;
- total_bytes += bytes_read;
-
- if (final) {
- SetFilePointer(file, total_bytes, 0, FILE_BEGIN);
- SetEndOfFile(file);
- break;
- }
- }
- return true;
-}
-
} // namespace file_util