Get rid of confusing FUSE variables and comments.
Long before scoped storage, FUSE was used to create several views of the
filesystem; this was later replaced by sdcardfs, yet the code still
references FUSE in variables and log messages. Fix those up to avoid
confusion with the "new FUSE".
Bug: 135341433
Test: atest AdoptableHostTest
Change-Id: I2966c5f95d6f38df36a20cdfdd0b95b3051f3f1e
diff --git a/model/PublicVolume.cpp b/model/PublicVolume.cpp
index d1b63a3..007fd60 100644
--- a/model/PublicVolume.cpp
+++ b/model/PublicVolume.cpp
@@ -43,11 +43,11 @@
namespace android {
namespace vold {
-static const char* kFusePath = "/system/bin/sdcard";
+static const char* kSdcardFsPath = "/system/bin/sdcard";
static const char* kAsecPath = "/mnt/secure/asec";
-PublicVolume::PublicVolume(dev_t device) : VolumeBase(Type::kPublic), mDevice(device), mFusePid(0) {
+PublicVolume::PublicVolume(dev_t device) : VolumeBase(Type::kPublic), mDevice(device) {
setId(StringPrintf("public:%u,%u", major(device), minor(device)));
mDevPath = StringPrintf("/dev/block/vold/%s", getId().c_str());
}
@@ -120,10 +120,10 @@
mRawPath = StringPrintf("/mnt/media_rw/%s", stableName.c_str());
- mFuseDefault = StringPrintf("/mnt/runtime/default/%s", stableName.c_str());
- mFuseRead = StringPrintf("/mnt/runtime/read/%s", stableName.c_str());
- mFuseWrite = StringPrintf("/mnt/runtime/write/%s", stableName.c_str());
- mFuseFull = StringPrintf("/mnt/runtime/full/%s", stableName.c_str());
+ mSdcardFsDefault = StringPrintf("/mnt/runtime/default/%s", stableName.c_str());
+ mSdcardFsRead = StringPrintf("/mnt/runtime/read/%s", stableName.c_str());
+ mSdcardFsWrite = StringPrintf("/mnt/runtime/write/%s", stableName.c_str());
+ mSdcardFsFull = StringPrintf("/mnt/runtime/full/%s", stableName.c_str());
setInternalPath(mRawPath);
if (getMountFlags() & MountFlags::kVisible) {
@@ -155,19 +155,19 @@
}
if (!(getMountFlags() & MountFlags::kVisible)) {
- // Not visible to apps, so no need to spin up FUSE
+ // Not visible to apps, so no need to spin up sdcardfs or FUSE
return OK;
}
- if (fs_prepare_dir(mFuseDefault.c_str(), 0700, AID_ROOT, AID_ROOT) ||
- fs_prepare_dir(mFuseRead.c_str(), 0700, AID_ROOT, AID_ROOT) ||
- fs_prepare_dir(mFuseWrite.c_str(), 0700, AID_ROOT, AID_ROOT) ||
- fs_prepare_dir(mFuseFull.c_str(), 0700, AID_ROOT, AID_ROOT)) {
- PLOG(ERROR) << getId() << " failed to create FUSE mount points";
+ if (fs_prepare_dir(mSdcardFsDefault.c_str(), 0700, AID_ROOT, AID_ROOT) ||
+ fs_prepare_dir(mSdcardFsRead.c_str(), 0700, AID_ROOT, AID_ROOT) ||
+ fs_prepare_dir(mSdcardFsWrite.c_str(), 0700, AID_ROOT, AID_ROOT) ||
+ fs_prepare_dir(mSdcardFsFull.c_str(), 0700, AID_ROOT, AID_ROOT)) {
+ PLOG(ERROR) << getId() << " failed to create sdcardfs mount points";
return -errno;
}
- dev_t before = GetDevice(mFuseFull);
+ dev_t before = GetDevice(mSdcardFsFull);
bool isFuse = base::GetBoolProperty(kPropFuseSnapshot, false);
if (isFuse) {
@@ -193,10 +193,11 @@
return OK;
}
- if (!(mFusePid = fork())) {
+ int sdcardFsPid;
+ if (!(sdcardFsPid = fork())) {
if (getMountFlags() & MountFlags::kPrimary) {
// clang-format off
- if (execl(kFusePath, kFusePath,
+ if (execl(kSdcardFsPath, kSdcardFsPath,
"-u", "1023", // AID_MEDIA_RW
"-g", "1023", // AID_MEDIA_RW
"-U", std::to_string(getMountUserId()).c_str(),
@@ -209,7 +210,7 @@
}
} else {
// clang-format off
- if (execl(kFusePath, kFusePath,
+ if (execl(kSdcardFsPath, kSdcardFsPath,
"-u", "1023", // AID_MEDIA_RW
"-g", "1023", // AID_MEDIA_RW
"-U", std::to_string(getMountUserId()).c_str(),
@@ -221,29 +222,28 @@
}
}
- LOG(ERROR) << "FUSE exiting";
+ LOG(ERROR) << "sdcardfs exiting";
_exit(1);
}
- if (mFusePid == -1) {
+ if (sdcardFsPid == -1) {
PLOG(ERROR) << getId() << " failed to fork";
return -errno;
}
nsecs_t start = systemTime(SYSTEM_TIME_BOOTTIME);
- while (before == GetDevice(mFuseFull)) {
- LOG(DEBUG) << "Waiting for FUSE to spin up...";
+ while (before == GetDevice(mSdcardFsFull)) {
+ LOG(DEBUG) << "Waiting for sdcardfs to spin up...";
usleep(50000); // 50ms
nsecs_t now = systemTime(SYSTEM_TIME_BOOTTIME);
if (nanoseconds_to_milliseconds(now - start) > 5000) {
- LOG(WARNING) << "Timed out while waiting for FUSE to spin up";
+ LOG(WARNING) << "Timed out while waiting for sdcardfs to spin up";
return -ETIMEDOUT;
}
}
- /* sdcardfs will have exited already. FUSE will still be running */
- TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, 0));
- mFusePid = 0;
+ /* sdcardfs will have exited already. The filesystem will still be running */
+ TEMP_FAILURE_RETRY(waitpid(sdcardFsPid, nullptr, 0));
return OK;
}
@@ -283,22 +283,22 @@
ForceUnmount(kAsecPath);
- ForceUnmount(mFuseDefault);
- ForceUnmount(mFuseRead);
- ForceUnmount(mFuseWrite);
- ForceUnmount(mFuseFull);
+ ForceUnmount(mSdcardFsDefault);
+ ForceUnmount(mSdcardFsRead);
+ ForceUnmount(mSdcardFsWrite);
+ ForceUnmount(mSdcardFsFull);
ForceUnmount(mRawPath);
- rmdir(mFuseDefault.c_str());
- rmdir(mFuseRead.c_str());
- rmdir(mFuseWrite.c_str());
- rmdir(mFuseFull.c_str());
+ rmdir(mSdcardFsDefault.c_str());
+ rmdir(mSdcardFsRead.c_str());
+ rmdir(mSdcardFsWrite.c_str());
+ rmdir(mSdcardFsFull.c_str());
rmdir(mRawPath.c_str());
- mFuseDefault.clear();
- mFuseRead.clear();
- mFuseWrite.clear();
- mFuseFull.clear();
+ mSdcardFsDefault.clear();
+ mSdcardFsRead.clear();
+ mSdcardFsWrite.clear();
+ mSdcardFsFull.clear();
mRawPath.clear();
return OK;