forked from OSchip/llvm-project
Revert "Add disk_space() to llvm::fs"
This reverts commit r265074 and r265068. Breaks windows build From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265080
This commit is contained in:
parent
0235e95a4b
commit
640de72a1e
|
@ -32,7 +32,6 @@
|
||||||
#include "llvm/ADT/Twine.h"
|
#include "llvm/ADT/Twine.h"
|
||||||
#include "llvm/Support/DataTypes.h"
|
#include "llvm/Support/DataTypes.h"
|
||||||
#include "llvm/Support/ErrorHandling.h"
|
#include "llvm/Support/ErrorHandling.h"
|
||||||
#include "llvm/Support/ErrorOr.h"
|
|
||||||
#include "llvm/Support/TimeValue.h"
|
#include "llvm/Support/TimeValue.h"
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
|
@ -649,17 +648,6 @@ std::error_code identify_magic(const Twine &path, file_magic &result);
|
||||||
|
|
||||||
std::error_code getUniqueID(const Twine Path, UniqueID &Result);
|
std::error_code getUniqueID(const Twine Path, UniqueID &Result);
|
||||||
|
|
||||||
/// @brief Get disk space usage information.
|
|
||||||
///
|
|
||||||
/// Note: Users must be careful about "Time Of Check, Time Of Use" kind of bug.
|
|
||||||
/// Note: Windows reports results according to the quota allocated to the user.
|
|
||||||
///
|
|
||||||
/// @param Path Input path.
|
|
||||||
/// @returns a space_info structure filled with the capacity, free, and
|
|
||||||
/// available space on the device \a Path is on. A platform specific error_code
|
|
||||||
/// is returned on error.
|
|
||||||
ErrorOr<space_info> disk_space(const Twine &Path);
|
|
||||||
|
|
||||||
/// This class represents a memory mapped file. It is based on
|
/// This class represents a memory mapped file. It is based on
|
||||||
/// boost::iostreams::mapped_file.
|
/// boost::iostreams::mapped_file.
|
||||||
class mapped_file_region {
|
class mapped_file_region {
|
||||||
|
|
|
@ -60,24 +60,6 @@
|
||||||
# define PATH_MAX 4096
|
# define PATH_MAX 4096
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__ANDROID__)
|
|
||||||
#include <sys/statvfs.h>
|
|
||||||
#define STATVFS statvfs
|
|
||||||
#define STATVFS_F_FRSIZE(vfs) vfs.f_frsize
|
|
||||||
#else
|
|
||||||
#ifdef __OpenBSD__
|
|
||||||
#include <sys/param.h>
|
|
||||||
#elif defined(__ANDROID__)
|
|
||||||
#include <sys/vfs.h>
|
|
||||||
#else
|
|
||||||
#include <sys/mount.h>
|
|
||||||
#endif
|
|
||||||
#define STATVFS statfs
|
|
||||||
#define STATVFS_F_FRSIZE(vfs) static_cast<uint64_t>(vfs.f_bsize)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
@ -88,7 +70,7 @@ namespace fs {
|
||||||
defined(__linux__) || defined(__CYGWIN__) || defined(__DragonFly__)
|
defined(__linux__) || defined(__CYGWIN__) || defined(__DragonFly__)
|
||||||
static int
|
static int
|
||||||
test_dir(char ret[PATH_MAX], const char *dir, const char *bin)
|
test_dir(char ret[PATH_MAX], const char *dir, const char *bin)
|
||||||
{
|
{
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
char fullpath[PATH_MAX];
|
char fullpath[PATH_MAX];
|
||||||
|
|
||||||
|
@ -208,18 +190,6 @@ UniqueID file_status::getUniqueID() const {
|
||||||
return UniqueID(fs_st_dev, fs_st_ino);
|
return UniqueID(fs_st_dev, fs_st_ino);
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<space_info> disk_space(const Twine &Path) {
|
|
||||||
struct STATVFS Vfs;
|
|
||||||
if (::STATVFS(Path.str().c_str(), &Vfs))
|
|
||||||
return std::error_code(errno, std::generic_category());
|
|
||||||
auto FrSize = STATVFS_F_FRSIZE(Vfs);
|
|
||||||
space_info SpaceInfo;
|
|
||||||
SpaceInfo.capacity = static_cast<uint64_t>(Vfs.f_blocks) * FrSize;
|
|
||||||
SpaceInfo.free = static_cast<uint64_t>(Vfs.f_bfree) * FrSize;
|
|
||||||
SpaceInfo.available = static_cast<uint64_t>(Vfs.f_bavail) * FrSize;
|
|
||||||
return SpaceInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::error_code current_path(SmallVectorImpl<char> &result) {
|
std::error_code current_path(SmallVectorImpl<char> &result) {
|
||||||
result.clear();
|
result.clear();
|
||||||
|
|
||||||
|
|
|
@ -151,19 +151,6 @@ UniqueID file_status::getUniqueID() const {
|
||||||
return UniqueID(VolumeSerialNumber, FileID);
|
return UniqueID(VolumeSerialNumber, FileID);
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<space_info> disk_space(const Twine &Path) {
|
|
||||||
PULARGE_INTEGER Avail, Total, Free;
|
|
||||||
if (!::GetDiskFreeSpaceExA(Path.str().c_str(), &Avail, &Total, &Free))
|
|
||||||
return mapWindowsError(::GetLastError());
|
|
||||||
space_info SpaceInfo;
|
|
||||||
SpaceInfo.capacity =
|
|
||||||
(static_cast<uint64_t>(Total.HighPart) << 32) + Total.LowPart;
|
|
||||||
SpaceInfo.Free = (static_cast<uint64_t>(Free.HighPart) << 32) + Free.LowPart;
|
|
||||||
SpaceInfo.available =
|
|
||||||
(static_cast<uint64_t>(Avail.HighPart) << 32) + Avail.LowPart;
|
|
||||||
return SpaceInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
TimeValue file_status::getLastAccessedTime() const {
|
TimeValue file_status::getLastAccessedTime() const {
|
||||||
ULARGE_INTEGER UI;
|
ULARGE_INTEGER UI;
|
||||||
UI.LowPart = LastAccessedTimeLow;
|
UI.LowPart = LastAccessedTimeLow;
|
||||||
|
|
Loading…
Reference in New Issue