aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@google.com>2022-03-23 01:56:24 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-03-23 01:56:24 +0000
commitd729003e3a32c8175a3445668ff141639a14b10f (patch)
tree30edd180edec4d734b91ca9a8746a2756e63bbad
parent23e161647be33aa58a9141c255685e39a85ea351 (diff)
parent03320c3a876cc11ba6f23c349492f295491eec8c (diff)
downloadf2fs-tools-android13-qpr3-c-s1-release.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into aosp am: 8846165753 am: 6d98433f36 am: 03320c3a87t_frc_odp_330442040t_frc_odp_330442000t_frc_ase_330444010android-t-qpr3-beta-3-gplandroid-t-qpr3-beta-1-gplandroid-t-qpr2-beta-3-gplandroid-t-qpr2-beta-2-gplandroid-13.0.0_r83android-13.0.0_r82android-13.0.0_r81android-13.0.0_r80android-13.0.0_r79android-13.0.0_r78android-13.0.0_r77android-13.0.0_r76android-13.0.0_r75android-13.0.0_r74android-13.0.0_r73android-13.0.0_r72android-13.0.0_r71android-13.0.0_r70android-13.0.0_r69android-13.0.0_r68android-13.0.0_r67android-13.0.0_r66android-13.0.0_r65android-13.0.0_r64android-13.0.0_r63android-13.0.0_r62android-13.0.0_r61android-13.0.0_r60android-13.0.0_r59android-13.0.0_r58android-13.0.0_r57android-13.0.0_r56android-13.0.0_r54android-13.0.0_r53android-13.0.0_r52android-13.0.0_r51android-13.0.0_r50android-13.0.0_r49android-13.0.0_r48android-13.0.0_r47android-13.0.0_r46android-13.0.0_r45android-13.0.0_r44android-13.0.0_r43android-13.0.0_r42android-13.0.0_r41android-13.0.0_r40android-13.0.0_r39android-13.0.0_r38android-13.0.0_r37android-13.0.0_r36android-13.0.0_r35android-13.0.0_r34android-13.0.0_r33android-13.0.0_r32aml_go_odp_330912000aml_go_ads_330915100aml_go_ads_330915000aml_go_ads_330913000android13-qpr3-s9-releaseandroid13-qpr3-s8-releaseandroid13-qpr3-s7-releaseandroid13-qpr3-s6-releaseandroid13-qpr3-s5-releaseandroid13-qpr3-s4-releaseandroid13-qpr3-s3-releaseandroid13-qpr3-s2-releaseandroid13-qpr3-s14-releaseandroid13-qpr3-s13-releaseandroid13-qpr3-s12-releaseandroid13-qpr3-s11-releaseandroid13-qpr3-s10-releaseandroid13-qpr3-s1-releaseandroid13-qpr3-releaseandroid13-qpr3-c-s8-releaseandroid13-qpr3-c-s7-releaseandroid13-qpr3-c-s6-releaseandroid13-qpr3-c-s5-releaseandroid13-qpr3-c-s4-releaseandroid13-qpr3-c-s3-releaseandroid13-qpr3-c-s2-releaseandroid13-qpr3-c-s12-releaseandroid13-qpr3-c-s11-releaseandroid13-qpr3-c-s10-releaseandroid13-qpr3-c-s1-releaseandroid13-qpr2-s9-releaseandroid13-qpr2-s8-releaseandroid13-qpr2-s7-releaseandroid13-qpr2-s6-releaseandroid13-qpr2-s5-releaseandroid13-qpr2-s3-releaseandroid13-qpr2-s2-releaseandroid13-qpr2-s12-releaseandroid13-qpr2-s11-releaseandroid13-qpr2-s10-releaseandroid13-qpr2-s1-releaseandroid13-qpr2-releaseandroid13-qpr2-b-s1-releaseandroid13-mainline-go-adservices-releaseandroid13-frc-odp-releaseandroid13-devandroid13-d4-s2-releaseandroid13-d4-s1-releaseandroid13-d4-releaseandroid13-d3-s1-release
Original change: https://android-review.googlesource.com/c/platform/external/f2fs-tools/+/2037218 Change-Id: I21a1645f4b27cf745ea16114c1cabe057b4753fb
-rw-r--r--METADATA4
-rw-r--r--include/f2fs_fs.h3
-rw-r--r--lib/libf2fs.c2
-rw-r--r--mkfs/f2fs_format.c2
-rw-r--r--mkfs/f2fs_format_main.c39
5 files changed, 42 insertions, 8 deletions
diff --git a/METADATA b/METADATA
index d59ae6e..e6fb90b 100644
--- a/METADATA
+++ b/METADATA
@@ -12,7 +12,7 @@ third_party {
license_type: RESTRICTED
last_upgrade_date {
year: 2022
- month: 2
- day: 3
+ month: 3
+ day: 22
}
}
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
index d236437..412130f 100644
--- a/include/f2fs_fs.h
+++ b/include/f2fs_fs.h
@@ -41,6 +41,9 @@
#include <inttypes.h>
#ifdef HAVE_LINUX_TYPES_H
+#ifndef __SANE_USERSPACE_TYPES__
+#define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */
+#endif
#include <linux/types.h>
#endif
#include <sys/types.h>
diff --git a/lib/libf2fs.c b/lib/libf2fs.c
index 420dfda..94fb91d 100644
--- a/lib/libf2fs.c
+++ b/lib/libf2fs.c
@@ -952,7 +952,7 @@ int get_device_info(int i)
c.kd = open("/proc/version", O_RDONLY);
#endif
if (c.kd < 0) {
- MSG(0, "\tInfo: No support kernel version!\n");
+ MSG(0, "Info: not exist /proc/version!\n");
c.kd = -2;
}
}
diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c
index 864d285..dba0cec 100644
--- a/mkfs/f2fs_format.c
+++ b/mkfs/f2fs_format.c
@@ -578,10 +578,10 @@ static int f2fs_prepare_super_block(void)
if (c.kd >= 0) {
dev_read_version(c.version, 0, VERSION_LEN);
get_kernel_version(c.version);
- MSG(0, "Info: format version with\n \"%s\"\n", c.version);
} else {
get_kernel_uname_version(c.version);
}
+ MSG(0, "Info: format version with\n \"%s\"\n", c.version);
memcpy(sb->version, c.version, VERSION_LEN);
memcpy(sb->init_version, c.version, VERSION_LEN);
diff --git a/mkfs/f2fs_format_main.c b/mkfs/f2fs_format_main.c
index 8d4dbe1..bf78756 100644
--- a/mkfs/f2fs_format_main.c
+++ b/mkfs/f2fs_format_main.c
@@ -12,6 +12,7 @@
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
+#include <stdbool.h>
#include <unistd.h>
#include <sys/stat.h>
#ifndef ANDROID_WINDOWS_HOST
@@ -24,13 +25,16 @@
#include "config.h"
#ifdef HAVE_LIBBLKID
-# include <blkid.h>
+#include <blkid.h>
#endif
#include "f2fs_fs.h"
#include "quota.h"
#include "f2fs_format_utils.h"
+#ifdef HAVE_SYS_UTSNAME_H
+#include <sys/utsname.h>
+#endif
#ifdef WITH_ANDROID
#include <sparse/sparse.h>
extern struct sparse_file *f2fs_sparse_file;
@@ -75,7 +79,7 @@ static void mkfs_usage()
static void f2fs_show_info()
{
- MSG(0, "\n\tF2FS-tools: mkfs.f2fs Ver: %s (%s)\n\n",
+ MSG(0, "\n F2FS-tools: mkfs.f2fs Ver: %s (%s)\n\n",
F2FS_TOOLS_VERSION,
F2FS_TOOLS_DATE);
if (c.heap == 0)
@@ -104,11 +108,34 @@ static void f2fs_show_info()
MSG(0, "Info: Enable Compression\n");
}
+#if defined(ANDROID_TARGET) && defined(HAVE_SYS_UTSNAME_H)
+static bool kernel_version_over(unsigned int min_major, unsigned int min_minor)
+{
+ unsigned int major, minor;
+ struct utsname uts;
+
+ if ((uname(&uts) != 0) ||
+ (sscanf(uts.release, "%u.%u", &major, &minor) != 2))
+ return false;
+ if (major > min_major)
+ return true;
+ if (major == min_major && minor >= min_minor)
+ return true;
+ return false;
+}
+#else
+static bool kernel_version_over(unsigned int UNUSED(min_major),
+ unsigned int UNUSED(min_minor))
+{
+ return false;
+}
+#endif
+
static void add_default_options(void)
{
switch (c.defset) {
case CONF_ANDROID:
- /* -d1 -f -O encrypt -O quota -O verity -w 4096 -R 0:0 */
+ /* -d1 -f -w 4096 -R 0:0 */
c.dbg_lv = 1;
force_overwrite = 1;
c.wanted_sector_size = 4096;
@@ -118,8 +145,12 @@ static void add_default_options(void)
if (c.feature & cpu_to_le32(F2FS_FEATURE_RO))
return;
+ /* -O encrypt -O project_quota,extra_attr,{quota} -O verity */
c.feature |= cpu_to_le32(F2FS_FEATURE_ENCRYPT);
- c.feature |= cpu_to_le32(F2FS_FEATURE_QUOTA_INO);
+ if (!kernel_version_over(4, 14))
+ c.feature |= cpu_to_le32(F2FS_FEATURE_QUOTA_INO);
+ c.feature |= cpu_to_le32(F2FS_FEATURE_PRJQUOTA);
+ c.feature |= cpu_to_le32(F2FS_FEATURE_EXTRA_ATTR);
c.feature |= cpu_to_le32(F2FS_FEATURE_VERITY);
break;
}