Fix clang-tidy performance warnings in system/vold.
* Use const reference type for for-loop index variables
to avoid unnecessary copy.
Bug: 30413223
Change-Id: Id4d980ae8afec1374fc3be0b23f1c6a39bff86e0
Test: build with WITH_TIDY=1
diff --git a/Disk.cpp b/Disk.cpp
index 920edab..f03f93d 100644
--- a/Disk.cpp
+++ b/Disk.cpp
@@ -106,7 +106,7 @@
}
void Disk::listVolumes(VolumeBase::Type type, std::list<std::string>& list) {
- for (auto vol : mVolumes) {
+ for (const auto& vol : mVolumes) {
if (vol->getType() == type) {
list.push_back(vol->getId());
}
@@ -179,7 +179,7 @@
}
void Disk::destroyAllVolumes() {
- for (auto vol : mVolumes) {
+ for (const auto& vol : mVolumes) {
vol->destroy();
}
mVolumes.clear();
@@ -268,7 +268,7 @@
Table table = Table::kUnknown;
bool foundParts = false;
- for (auto line : output) {
+ for (const auto& line : output) {
char* cline = (char*) line.c_str();
char* token = strtok(cline, kSgdiskToken);
if (token == nullptr) continue;
@@ -333,7 +333,7 @@
}
status_t Disk::unmountAll() {
- for (auto vol : mVolumes) {
+ for (const auto& vol : mVolumes) {
vol->unmount();
}
return OK;
diff --git a/TrimTask.cpp b/TrimTask.cpp
index d7bfda7..6c141f2 100644
--- a/TrimTask.cpp
+++ b/TrimTask.cpp
@@ -53,7 +53,7 @@
VolumeManager* vm = VolumeManager::Instance();
std::list<std::string> privateIds;
vm->listVolumes(VolumeBase::Type::kPrivate, privateIds);
- for (auto id : privateIds) {
+ for (const auto& id : privateIds) {
auto vol = vm->findVolume(id);
if (vol != nullptr && vol->getState() == VolumeBase::State::kMounted) {
mPaths.push_back(vol->getPath());
@@ -114,7 +114,7 @@
void TrimTask::run() {
acquire_wake_lock(PARTIAL_WAKE_LOCK, kWakeLock);
- for (auto path : mPaths) {
+ for (const auto& path : mPaths) {
LOG(DEBUG) << "Starting trim of " << path;
int fd = open(path.c_str(), O_RDONLY | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
diff --git a/Utils.cpp b/Utils.cpp
index a9bddfa..97dea79 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -208,7 +208,7 @@
}
char value[128];
- for (auto line : output) {
+ for (const auto& line : output) {
// Extract values from blkid output, if defined
const char* cline = line.c_str();
const char* start = strstr(cline, "TYPE=");
diff --git a/VolumeBase.cpp b/VolumeBase.cpp
index ea4d372..627feba 100644
--- a/VolumeBase.cpp
+++ b/VolumeBase.cpp
@@ -219,7 +219,7 @@
}
setState(State::kEjecting);
- for (auto vol : mVolumes) {
+ for (const auto& vol : mVolumes) {
if (vol->destroy()) {
LOG(WARNING) << getId() << " failed to destroy " << vol->getId()
<< " stacked above";
diff --git a/VolumeManager.cpp b/VolumeManager.cpp
old mode 100755
new mode 100644
index 57b8753..001583f
--- a/VolumeManager.cpp
+++ b/VolumeManager.cpp
@@ -294,7 +294,7 @@
switch (evt->getAction()) {
case NetlinkEvent::Action::kAdd: {
- for (auto source : mDiskSources) {
+ for (const auto& source : mDiskSources) {
if (source->matches(eventPath)) {
// For now, assume that MMC devices are SD, and that
// everything else is USB
@@ -316,7 +316,7 @@
}
case NetlinkEvent::Action::kChange: {
LOG(DEBUG) << "Disk at " << major << ":" << minor << " changed";
- for (auto disk : mDisks) {
+ for (const auto& disk : mDisks) {
if (disk->getDevice() == device) {
disk->readMetadata();
disk->readPartitions();
@@ -360,7 +360,7 @@
if (mInternalEmulated->getId() == id) {
return mInternalEmulated;
}
- for (auto disk : mDisks) {
+ for (const auto& disk : mDisks) {
auto vol = disk->findVolume(id);
if (vol != nullptr) {
return vol;
@@ -372,7 +372,7 @@
void VolumeManager::listVolumes(android::vold::VolumeBase::Type type,
std::list<std::string>& list) {
list.clear();
- for (auto disk : mDisks) {
+ for (const auto& disk : mDisks) {
disk->listVolumes(type, list);
}
}
@@ -503,7 +503,7 @@
}
endmntent(fp);
- for (auto path : toUnmount) {
+ for (const auto& path : toUnmount) {
if (umount2(path.c_str(), MNT_DETACH)) {
ALOGW("Failed to unmount %s: %s", path.c_str(), strerror(errno));
}
@@ -629,7 +629,7 @@
// newly connected framework hears all events.
mInternalEmulated->destroy();
mInternalEmulated->create();
- for (auto disk : mDisks) {
+ for (const auto& disk : mDisks) {
disk->destroy();
disk->create();
}
@@ -640,7 +640,7 @@
int VolumeManager::shutdown() {
mInternalEmulated->destroy();
- for (auto disk : mDisks) {
+ for (const auto& disk : mDisks) {
disk->destroy();
}
mDisks.clear();
@@ -654,7 +654,7 @@
if (mInternalEmulated != nullptr) {
mInternalEmulated->unmount();
}
- for (auto disk : mDisks) {
+ for (const auto& disk : mDisks) {
disk->unmountAll();
}
@@ -678,7 +678,7 @@
}
endmntent(fp);
- for (auto path : toUnmount) {
+ for (const auto& path : toUnmount) {
SLOGW("Tearing down stale mount %s", path.c_str());
android::vold::ForceUnmount(path);
}