dump f2fs in gs-common
Bug: 248143736
Test: adb bugreport
Change-Id: Ifcd0b3aaa017d106530c58a1ce2b56d77af1b12d
diff --git a/storage/Android.bp b/storage/Android.bp
new file mode 100644
index 0000000..54e097e
--- /dev/null
+++ b/storage/Android.bp
@@ -0,0 +1,10 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+sh_binary {
+ name: "dump_storage.sh",
+ src: "dump_storage.sh",
+ vendor: true,
+ sub_dir: "dump",
+}
diff --git a/storage/dump_storage.sh b/storage/dump_storage.sh
new file mode 100644
index 0000000..378d58b
--- /dev/null
+++ b/storage/dump_storage.sh
@@ -0,0 +1,10 @@
+#!/vendor/bin/sh
+# F2FS
+echo "--- F2FS status---"
+cat "/sys/kernel/debug/f2fs/status"
+echo "\n--- F2FS fsck ---"
+cat "/dev/fscklogs/fsck"
+echo "\n--- F2FS - fsck time (ms) ---"
+getprop ro.boottime.init.fsck.data
+echo "\n--- F2FS - checkpoint=disable time (ms) ---"
+getprop ro.boottime.init.mount.data
diff --git a/storage/sepolicy/dump_storage.te b/storage/sepolicy/dump_storage.te
new file mode 100644
index 0000000..314fa78
--- /dev/null
+++ b/storage/sepolicy/dump_storage.te
@@ -0,0 +1,13 @@
+pixel_bugreport(dump_storage)
+
+allow dump_storage vendor_toolbox_exec:file execute_no_trans;
+
+userdebug_or_eng(`
+ allow dump_storage debugfs_f2fs:dir r_dir_perms;
+ allow dump_storage debugfs_f2fs:file r_file_perms;
+')
+
+get_prop(dump_storage, boottime_public_prop)
+
+dontaudit dump_storage debugfs_f2fs:dir r_dir_perms;
+dontaudit dump_storage debugfs_f2fs:file r_file_perms;
diff --git a/storage/sepolicy/file.te b/storage/sepolicy/file.te
new file mode 100644
index 0000000..64b6b4e
--- /dev/null
+++ b/storage/sepolicy/file.te
@@ -0,0 +1 @@
+type debugfs_f2fs, debugfs_type, fs_type;
diff --git a/storage/sepolicy/file_contexts b/storage/sepolicy/file_contexts
new file mode 100644
index 0000000..eda4cf7
--- /dev/null
+++ b/storage/sepolicy/file_contexts
@@ -0,0 +1 @@
+/vendor/bin/dump/dump_storage\.sh u:object_r:dump_storage_exec:s0
diff --git a/storage/sepolicy/genfs_contexts b/storage/sepolicy/genfs_contexts
new file mode 100644
index 0000000..1a27ec4
--- /dev/null
+++ b/storage/sepolicy/genfs_contexts
@@ -0,0 +1 @@
+genfscon debugfs /f2fs u:object_r:debugfs_f2fs:s0
diff --git a/storage/storage.mk b/storage/storage.mk
new file mode 100644
index 0000000..5542ac8
--- /dev/null
+++ b/storage/storage.mk
@@ -0,0 +1,3 @@
+BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/storage/sepolicy
+
+PRODUCT_PACKAGES += dump_storage.sh