remount: Remove unused errno propagation.
This removes all remaining save/restores of errno in fs_mgr_overlayfs.cpp. Bug: 241179247 Test: adb-remount-test.sh Change-Id: I8bae6eb2752fe9460763455e88f9b82ad57c10e4
This commit is contained in:
parent
0aabcbc973
commit
76dd810ecf
1 changed files with 4 additions and 44 deletions
|
|
@ -68,10 +68,7 @@ using android::fiemap::IImageManager;
|
|||
namespace {
|
||||
|
||||
bool fs_mgr_access(const std::string& path) {
|
||||
auto save_errno = errno;
|
||||
auto ret = access(path.c_str(), F_OK) == 0;
|
||||
errno = save_errno;
|
||||
return ret;
|
||||
return access(path.c_str(), F_OK) == 0;
|
||||
}
|
||||
|
||||
// determine if a filesystem is available
|
||||
|
|
@ -147,10 +144,7 @@ bool fs_mgr_is_dsu_running() {
|
|||
// is not well-defined. In this case, just return false as being in recovery
|
||||
// implies not running a DSU system.
|
||||
if (fs_mgr_in_recovery()) return false;
|
||||
auto saved_errno = errno;
|
||||
auto ret = android::gsi::IsGsiRunning();
|
||||
errno = saved_errno;
|
||||
return ret;
|
||||
return android::gsi::IsGsiRunning();
|
||||
}
|
||||
|
||||
// list of acceptable overlayfs backing storage
|
||||
|
|
@ -193,9 +187,8 @@ bool fs_mgr_filesystem_has_space(const std::string& mount_point) {
|
|||
// If we have access issues to find out space remaining, return true
|
||||
// to prevent us trying to override with overlayfs.
|
||||
struct statvfs vst;
|
||||
auto save_errno = errno;
|
||||
if (statvfs(mount_point.c_str(), &vst)) {
|
||||
errno = save_errno;
|
||||
PLOG(ERROR) << "statvfs " << mount_point;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -256,26 +249,21 @@ bool fs_mgr_overlayfs_enabled(FstabEntry* entry) {
|
|||
}
|
||||
|
||||
// check if ext4 de-dupe
|
||||
auto save_errno = errno;
|
||||
auto has_shared_blocks = fs_mgr_has_shared_blocks(entry->mount_point, entry->blk_device);
|
||||
if (!has_shared_blocks && (entry->mount_point == "/system")) {
|
||||
has_shared_blocks = fs_mgr_has_shared_blocks("/", entry->blk_device);
|
||||
}
|
||||
errno = save_errno;
|
||||
return has_shared_blocks;
|
||||
}
|
||||
|
||||
bool fs_mgr_rm_all(const std::string& path, bool* change = nullptr, int level = 0) {
|
||||
auto save_errno = errno;
|
||||
std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(path.c_str()), closedir);
|
||||
if (!dir) {
|
||||
if (errno == ENOENT) {
|
||||
errno = save_errno;
|
||||
return true;
|
||||
}
|
||||
PERROR << "opendir " << path << " depth=" << level;
|
||||
if ((errno == EPERM) && (level != 0)) {
|
||||
errno = save_errno;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -287,9 +275,7 @@ bool fs_mgr_rm_all(const std::string& path, bool* change = nullptr, int level =
|
|||
auto file = path + "/" + entry->d_name;
|
||||
if (entry->d_type == DT_UNKNOWN) {
|
||||
struct stat st;
|
||||
save_errno = errno;
|
||||
if (!lstat(file.c_str(), &st) && (st.st_mode & S_IFDIR)) entry->d_type = DT_DIR;
|
||||
errno = save_errno;
|
||||
}
|
||||
if (entry->d_type == DT_DIR) {
|
||||
ret &= fs_mgr_rm_all(file, change, level + 1);
|
||||
|
|
@ -363,10 +349,7 @@ const std::string fs_mgr_mount_point(const std::string& mount_point) {
|
|||
|
||||
bool fs_mgr_rw_access(const std::string& path) {
|
||||
if (path.empty()) return false;
|
||||
auto save_errno = errno;
|
||||
auto ret = access(path.c_str(), R_OK | W_OK) == 0;
|
||||
errno = save_errno;
|
||||
return ret;
|
||||
return access(path.c_str(), R_OK | W_OK) == 0;
|
||||
}
|
||||
|
||||
constexpr char kOverlayfsFileContext[] = "u:object_r:overlayfs_file:s0";
|
||||
|
|
@ -506,8 +489,6 @@ OverlayfsTeardownResult fs_mgr_overlayfs_teardown_scratch(const std::string& ove
|
|||
return OverlayfsTeardownResult::Error;
|
||||
}
|
||||
|
||||
auto save_errno = errno;
|
||||
|
||||
bool was_mounted = fs_mgr_overlayfs_already_mounted(kScratchMountPoint, false);
|
||||
if (was_mounted) {
|
||||
fs_mgr_overlayfs_umount_scratch();
|
||||
|
|
@ -545,11 +526,9 @@ OverlayfsTeardownResult fs_mgr_overlayfs_teardown_scratch(const std::string& ove
|
|||
|
||||
auto builder = MetadataBuilder::New(super_device, slot_number);
|
||||
if (!builder) {
|
||||
errno = save_errno;
|
||||
return OverlayfsTeardownResult::Ok;
|
||||
}
|
||||
if (builder->FindPartition(partition_name) == nullptr) {
|
||||
errno = save_errno;
|
||||
return OverlayfsTeardownResult::Ok;
|
||||
}
|
||||
builder->RemovePartition(partition_name);
|
||||
|
|
@ -563,7 +542,6 @@ OverlayfsTeardownResult fs_mgr_overlayfs_teardown_scratch(const std::string& ove
|
|||
LERROR << "delete partition " << overlay;
|
||||
return OverlayfsTeardownResult::Error;
|
||||
}
|
||||
errno = save_errno;
|
||||
|
||||
if (was_mounted) {
|
||||
return OverlayfsTeardownResult::Busy;
|
||||
|
|
@ -586,27 +564,20 @@ bool fs_mgr_overlayfs_teardown_one(const std::string& overlay, const std::string
|
|||
const auto newpath = cleanup_all ? overlay + "/." + kOverlayTopDir.substr(1) + ".teardown"
|
||||
: top + "/." + partition_name + ".teardown";
|
||||
auto ret = fs_mgr_rm_all(newpath);
|
||||
auto save_errno = errno;
|
||||
if (!rename(oldpath.c_str(), newpath.c_str())) {
|
||||
if (change) *change = true;
|
||||
} else if (errno != ENOENT) {
|
||||
ret = false;
|
||||
PERROR << "mv " << oldpath << " " << newpath;
|
||||
} else {
|
||||
errno = save_errno;
|
||||
}
|
||||
ret &= fs_mgr_rm_all(newpath, change);
|
||||
save_errno = errno;
|
||||
if (!rmdir(newpath.c_str())) {
|
||||
if (change) *change = true;
|
||||
} else if (errno != ENOENT) {
|
||||
ret = false;
|
||||
PERROR << "rmdir " << newpath;
|
||||
} else {
|
||||
errno = save_errno;
|
||||
}
|
||||
if (!cleanup_all) {
|
||||
save_errno = errno;
|
||||
if (!rmdir(top.c_str())) {
|
||||
if (change) *change = true;
|
||||
cleanup_all = true;
|
||||
|
|
@ -625,10 +596,8 @@ bool fs_mgr_overlayfs_teardown_one(const std::string& overlay, const std::string
|
|||
}
|
||||
}
|
||||
}
|
||||
errno = save_errno;
|
||||
} else if (errno == ENOENT) {
|
||||
cleanup_all = true;
|
||||
errno = save_errno;
|
||||
} else {
|
||||
ret = false;
|
||||
PERROR << "rmdir " << top;
|
||||
|
|
@ -739,7 +708,6 @@ bool fs_mgr_overlayfs_mount(const std::string& mount_point) {
|
|||
if (options.empty()) return false;
|
||||
|
||||
auto retval = true;
|
||||
auto save_errno = errno;
|
||||
|
||||
struct move_entry {
|
||||
std::string mount_point;
|
||||
|
|
@ -782,7 +750,6 @@ bool fs_mgr_overlayfs_mount(const std::string& mount_point) {
|
|||
}
|
||||
if (!target) {
|
||||
retval = false;
|
||||
save_errno = errno;
|
||||
PERROR << "temporary directory for MS_BIND";
|
||||
continue;
|
||||
}
|
||||
|
|
@ -795,7 +762,6 @@ bool fs_mgr_overlayfs_mount(const std::string& mount_point) {
|
|||
}
|
||||
if (!fs_mgr_overlayfs_move_mount(new_entry.mount_point, new_entry.dir)) {
|
||||
retval = false;
|
||||
save_errno = errno;
|
||||
if (new_entry.shared_flag) {
|
||||
fs_mgr_overlayfs_set_shared_mount(new_entry.mount_point, true);
|
||||
}
|
||||
|
|
@ -819,7 +785,6 @@ bool fs_mgr_overlayfs_mount(const std::string& mount_point) {
|
|||
options.c_str());
|
||||
if (ret) {
|
||||
retval = false;
|
||||
save_errno = errno;
|
||||
PERROR << report << ret;
|
||||
} else {
|
||||
LINFO << report << ret;
|
||||
|
|
@ -833,11 +798,9 @@ bool fs_mgr_overlayfs_mount(const std::string& mount_point) {
|
|||
|
||||
if (!fs_mgr_overlayfs_move_mount(entry.dir, entry.mount_point)) {
|
||||
retval = false;
|
||||
save_errno = errno;
|
||||
} else if (entry.shared_flag &&
|
||||
!fs_mgr_overlayfs_set_shared_mount(entry.mount_point, true)) {
|
||||
retval = false;
|
||||
save_errno = errno;
|
||||
}
|
||||
rmdir(entry.dir.c_str());
|
||||
}
|
||||
|
|
@ -848,7 +811,6 @@ bool fs_mgr_overlayfs_mount(const std::string& mount_point) {
|
|||
fs_mgr_overlayfs_set_shared_mount(mount_point, true);
|
||||
}
|
||||
|
||||
errno = save_errno;
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
@ -1743,11 +1705,9 @@ void TeardownAllOverlayForMountPoint(const std::string& mount_point) {
|
|||
|
||||
bool fs_mgr_overlayfs_already_mounted(const std::string& mount_point, bool overlay_only) {
|
||||
Fstab fstab;
|
||||
auto save_errno = errno;
|
||||
if (!ReadFstabFromFile("/proc/mounts", &fstab)) {
|
||||
return false;
|
||||
}
|
||||
errno = save_errno;
|
||||
const auto lowerdir = kLowerdirOption + mount_point;
|
||||
for (const auto& entry : fstab) {
|
||||
if (overlay_only && "overlay" != entry.fs_type && "overlayfs" != entry.fs_type) continue;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue