Merge changes Ia03cddd6,I8e174e37,I159f5bcf into main
* changes: Allow write for restorecon Dump F2FS disk_map and UFS phy version Fix UFS err_stats
This commit is contained in:
commit
7196fcdb48
3 changed files with 29 additions and 20 deletions
|
@ -27,7 +27,6 @@
|
|||
|
||||
#define F2FS_FSCK_TIME_PROPERTY "ro.boottime.init.fsck.data"
|
||||
#define F2FS_MNT_TIME_PROPERTY "ro.boottime.init.mount.data"
|
||||
#define BOOTDEVICE_PROPERTY "ro.boot.bootdevice"
|
||||
#define BUILD_TYPE_PROPERTY "ro.build.type"
|
||||
|
||||
void read_buffer(int buf_id, int total_len, const char* path)
|
||||
|
@ -68,11 +67,31 @@ int main() {
|
|||
int mnt_time = android::base::GetIntProperty(F2FS_MNT_TIME_PROPERTY, 0);
|
||||
printf("--- F2FS - checkpoint=disable time (ms) ---\n%d\n\n", mnt_time);
|
||||
|
||||
const std::string f2fs_proc_path("/proc/fs/f2fs/");
|
||||
std::unique_ptr<DIR, decltype(&closedir)> procdir(
|
||||
opendir(f2fs_proc_path.c_str()), closedir);
|
||||
if (procdir) {
|
||||
dirent *proc_entry;
|
||||
while ((proc_entry = readdir(procdir.get())) != nullptr) {
|
||||
std::string proc_name(proc_entry->d_name);
|
||||
if (proc_name == "." || proc_name == ".." ||
|
||||
strncmp(proc_name.c_str(), "dm-", 3))
|
||||
continue;
|
||||
dumpFileContent(("F2FS - " + proc_name).c_str(),
|
||||
(f2fs_proc_path + proc_name + "/disk_map").c_str());
|
||||
}
|
||||
}
|
||||
|
||||
//UFS
|
||||
dumpFileContent("UFS model", "/sys/block/sda/device/model");
|
||||
dumpFileContent("UFS rev", "/sys/block/sda/device/rev");
|
||||
dumpFileContent("UFS size", "/sys/block/sda/size");
|
||||
|
||||
dumpFileContent("UFS phy version",
|
||||
"/dev/sys/block/bootdevice/pixel/phy_version");
|
||||
dumpFileContent("UFS phy release_date",
|
||||
"/dev/sys/block/bootdevice/pixel/phy_release_date");
|
||||
|
||||
dumpFileContent("UFS Slow IO Read",
|
||||
"/dev/sys/block/bootdevice/slowio_read_cnt");
|
||||
dumpFileContent("UFS Slow IO Write",
|
||||
|
@ -90,24 +109,10 @@ int main() {
|
|||
if (statdir) {
|
||||
dirent *stat_entry;
|
||||
while ((stat_entry = readdir(statdir.get())) != nullptr) {
|
||||
std::string ufs_err_stats_path(stat_entry->d_name);
|
||||
if (!strcmp(ufs_err_stats_path.c_str(), ".")
|
||||
|| !strcmp(ufs_err_stats_path.c_str(), ".."))
|
||||
continue;
|
||||
std::string bootdevice = android::base::GetProperty(
|
||||
BOOTDEVICE_PROPERTY, "");
|
||||
std::string err_stat_path = "/sys/devices/platform/";
|
||||
err_stat_path.append(bootdevice.c_str());
|
||||
err_stat_path.append("/err_stats/");
|
||||
err_stat_path.append(ufs_err_stats_path.c_str());
|
||||
std::ifstream err_stat_file(err_stat_path);
|
||||
if (err_stat_file.is_open()) {
|
||||
std::string err_stat_atom;
|
||||
err_stat_file >> err_stat_atom;
|
||||
printf("%s:%s\n", ufs_err_stats_path.c_str(),
|
||||
err_stat_atom.c_str());
|
||||
err_stat_file.close();
|
||||
}
|
||||
std::string stat_name(stat_entry->d_name);
|
||||
if (stat_name == "." || stat_name == "..") continue;
|
||||
dumpFileContent(stat_name.c_str(),
|
||||
(ufs_err_stats_path + stat_name).c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,10 @@ pixel_bugreport(dump_storage)
|
|||
# adb bugreport
|
||||
allow dump_storage sysfs_scsi_devices_0000:dir r_dir_perms;
|
||||
allow dump_storage sysfs_scsi_devices_0000:file r_file_perms;
|
||||
allow dump_storage sysfs:file r_file_perms;
|
||||
|
||||
allow dump_storage proc_f2fs:dir r_dir_perms;
|
||||
allow dump_storage proc_f2fs:file r_file_perms;
|
||||
|
||||
# adb bugreport
|
||||
userdebug_or_eng(`
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# for intelligence service
|
||||
|
||||
allow kernel userdata_exp_block_device:blk_file read;
|
||||
allow kernel userdata_exp_block_device:blk_file { read write };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue