summaryrefslogtreecommitdiffstats
path: root/fs_mgr
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2018-01-08 18:17:50 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-01-08 18:17:50 +0000
commita7004e5fedff5d7cdeaae120f561ac2e8bfb16e7 (patch)
treedb42d443d7cee69f9ee365103d1c35d0467a335e /fs_mgr
parent01ccde321f01a3acc7f61954861759b150aa9639 (diff)
parent9410d572fb6202727580fa62815b694998b6421f (diff)
downloadsystem_core-a7004e5fedff5d7cdeaae120f561ac2e8bfb16e7.tar.gz
system_core-a7004e5fedff5d7cdeaae120f561ac2e8bfb16e7.tar.bz2
system_core-a7004e5fedff5d7cdeaae120f561ac2e8bfb16e7.zip
Merge changes from topic "resgidz"
* changes: Add reserved disk GID to critical component. Set reserved GID when setting reserved blocks. Allocate GID to use reserved disk space.
Diffstat (limited to 'fs_mgr')
-rw-r--r--fs_mgr/fs_mgr.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/fs_mgr/fs_mgr.cpp b/fs_mgr/fs_mgr.cpp
index 4b94f9c97..a2b80ad9f 100644
--- a/fs_mgr/fs_mgr.cpp
+++ b/fs_mgr/fs_mgr.cpp
@@ -38,6 +38,7 @@
#include <android-base/properties.h>
#include <android-base/stringprintf.h>
#include <android-base/unique_fd.h>
+#include <cutils/android_filesystem_config.h>
#include <cutils/android_reboot.h>
#include <cutils/partition_utils.h>
#include <cutils/properties.h>
@@ -353,7 +354,7 @@ static void tune_reserved_size(const char* blk_device, const struct fstab_rec* r
reserved_blocks = max_reserved_blocks;
}
- if (ext4_r_blocks_count(sb) == reserved_blocks) {
+ if ((ext4_r_blocks_count(sb) == reserved_blocks) && (sb->s_def_resgid == AID_RESERVED_DISK)) {
return;
}
@@ -363,11 +364,12 @@ static void tune_reserved_size(const char* blk_device, const struct fstab_rec* r
return;
}
- char buf[32];
- const char* argv[] = {TUNE2FS_BIN, "-r", buf, blk_device};
-
- snprintf(buf, sizeof(buf), "%" PRIu64, reserved_blocks);
LINFO << "Setting reserved block count on " << blk_device << " to " << reserved_blocks;
+
+ auto reserved_blocks_str = std::to_string(reserved_blocks);
+ auto reserved_gid_str = std::to_string(AID_RESERVED_DISK);
+ const char* argv[] = {
+ TUNE2FS_BIN, "-r", reserved_blocks_str.c_str(), "-g", reserved_gid_str.c_str(), blk_device};
if (!run_tune2fs(argv, ARRAY_SIZE(argv))) {
LERROR << "Failed to run " TUNE2FS_BIN " to set the number of reserved blocks on "
<< blk_device;