diff options
author | Jeff Sharkey <jsharkey@android.com> | 2018-01-08 18:17:50 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-01-08 18:17:50 +0000 |
commit | a7004e5fedff5d7cdeaae120f561ac2e8bfb16e7 (patch) | |
tree | db42d443d7cee69f9ee365103d1c35d0467a335e /fs_mgr | |
parent | 01ccde321f01a3acc7f61954861759b150aa9639 (diff) | |
parent | 9410d572fb6202727580fa62815b694998b6421f (diff) | |
download | system_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.cpp | 12 |
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; |