From bcc039b439e400d4603560a98196f49de9dd0eaa Mon Sep 17 00:00:00 2001 From: Leo Liou Date: Thu, 24 Oct 2019 20:52:31 +0800 Subject: [PATCH] device: dumpstate: expand f2fs dump script With the recent changes in partition mapping, multiple f2fs partitions exists and is not fixed to specific dm-x. To address this, update the script to dynamically locate f2fs partitions. New log: ------ F2FS - fragmentation (/vendor/bin/sh -c for d in $(ls /proc/fs/f2fs/); ... dm-4: /dev/block/mapper/scratch -> /dev/block/dm-4 format: segment_type|valid_blocks segment_type(0:HD, 1:WD, 2:CD, 3:HN, 4:WN, 5:CN) 0 3|18 4|2 5|0 0|1 0|0 0|0 0|0 0|0 0|0 0|0 10 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 ... dm-5: /dev/block/mapper/userdata -> /dev/block/dm-5 format: segment_type|valid_blocks segment_type(0:HD, 1:WD, 2:CD, 3:HN, 4:WN, 5:CN) 0 3|330 0|147 5|5 0|68 0|32 0|77 4|112 3|13 0|42 0|75 10 4|30 3|69 0|98 0|45 0|56 0|128 0|185 0|36 0|104 3|84 ... Bug: 137150088 Test: run bugreport and check f2fs dump Change-Id: I5546f35f543628282a58dae38a72a379d5e56b0b Signed-off-by: Leo Liou --- dumpstate/DumpstateDevice.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp index 11d7091..9d56858 100755 --- a/dumpstate/DumpstateDevice.cpp +++ b/dumpstate/DumpstateDevice.cpp @@ -326,7 +326,10 @@ static void DumpTouch(int fd) { static void DumpF2FS(int fd) { DumpFileToFd(fd, "F2FS", "/sys/kernel/debug/f2fs/status"); - DumpFileToFd(fd, "F2FS - fragmentation", "/proc/fs/f2fs/dm-3/segment_info"); + RunCommandToFd(fd, "F2FS - fragmentation", {"/vendor/bin/sh", "-c", + "for d in $(ls /proc/fs/f2fs/); do " + "echo $d: /dev/block/mapper/`ls -l /dev/block/mapper | grep $d | awk '{print $8,$9,$10}'`; " + "cat /proc/fs/f2fs/$d/segment_info; done"}); } static void DumpUFS(int fd) {