From d189fa5477180c595322fa765d9705e93017adeb Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Wed, 11 Dec 2024 01:05:48 +0000 Subject: FileSystemUtils: don't use bionic implementation details to align. There are perfectly good clang builtins that we want to remove the bionic stuff in favor of. Also, friends don't let friends print raw errno integers (which differ between architectures) when it's less code to print the actual error message. Change-Id: I3e9664c60c06001e3185868b000c79a62effe991 --- .../jni/com_android_internal_content_FileSystemUtils.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/core/jni/com_android_internal_content_FileSystemUtils.cpp b/core/jni/com_android_internal_content_FileSystemUtils.cpp index 76ead2a3ca31..48c92c87f54e 100644 --- a/core/jni/com_android_internal_content_FileSystemUtils.cpp +++ b/core/jni/com_android_internal_content_FileSystemUtils.cpp @@ -21,8 +21,6 @@ #include #include #include -#include -#include #include #include #include @@ -48,8 +46,8 @@ bool punchWithBlockAlignment(borrowed_fd fd, uint64_t start, uint64_t length, ui return false; } - start = align_up(start, blockSize); - end = align_down(end, blockSize); + start = __builtin_align_up(start, blockSize); + end = __builtin_align_down(end, blockSize); uint64_t alignedLength; if (__builtin_sub_overflow(end, start, &alignedLength)) { @@ -67,7 +65,7 @@ bool punchWithBlockAlignment(borrowed_fd fd, uint64_t start, uint64_t length, ui int result = fallocate(fd.get(), FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, start, alignedLength); if (result < 0) { - ALOGE("fallocate failed to punch hole, error:%d", errno); + ALOGE("fallocate failed to punch hole: %m"); return false; } @@ -78,7 +76,7 @@ bool punchHoles(const char *filePath, const uint64_t offset, const std::vector &programHeaders) { struct stat64 beforePunch; if (int result = lstat64(filePath, &beforePunch); result != 0) { - ALOGE("lstat64 failed for filePath %s, error:%d", filePath, errno); + ALOGE("lstat64 failed for filePath %s: %m", filePath); return false; } @@ -190,7 +188,7 @@ bool punchHoles(const char *filePath, const uint64_t offset, IF_ALOGD() { struct stat64 afterPunch; if (int result = lstat64(filePath, &afterPunch); result != 0) { - ALOGD("lstat64 failed for filePath %s, error:%d", filePath, errno); + ALOGD("lstat64 failed for filePath %s: %m", filePath); return false; } ALOGD("Size after punching holes st_blocks: %" PRIu64 ", st_blksize: %" PRIu64 @@ -269,7 +267,7 @@ bool punchHolesInZip(const char *filePath, uint64_t offset, uint16_t extraFieldL struct stat64 beforePunch; if (int result = lstat64(filePath, &beforePunch); result != 0) { - ALOGE("lstat64 failed for filePath %s, error:%d", filePath, errno); + ALOGE("lstat64 failed for filePath %s: %m", filePath); return false; } @@ -348,7 +346,7 @@ bool punchHolesInZip(const char *filePath, uint64_t offset, uint16_t extraFieldL IF_ALOGD() { struct stat64 afterPunch; if (int result = lstat64(filePath, &afterPunch); result != 0) { - ALOGD("lstat64 failed for filePath %s, error:%d", filePath, errno); + ALOGD("lstat64 failed for filePath %s: %m", filePath); return false; } ALOGD("punchHolesInApk:: Size after punching holes st_blocks: %" PRIu64 -- cgit v1.2.3-59-g8ed1b