fs_stat: ignore quota fix caused by tree optimization
- tree optimization leads into quota fix which is not a real fix.
- Distinguish such case from real file system fix to get fs statistics
correctly.
- This is only for correct fs stat metric collection. There is no
functionality change in device side.
- Full parsing is only run when fs fix is detected from fs_stat.
Examplt of fsck fix that will be ignored as optimization:
e2fsck 1.43.3 (04-Sep-2016)
Pass 1: Checking inodes, blocks, and sizes
Inode 877141 extent tree (at level 1) could be shorter. Fix? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
[QUOTA WARNING] Usage inconsistent for ID 10038:actual (71667712, 1000) != expected (71671808, 1000)
Update quota info for quota type 0? yes
[QUOTA WARNING] Usage inconsistent for ID 10038:actual (59555840, 953) != expected (59559936, 953)
Update quota info for quota type 1? yes
/dev/block/platform/soc/624000.ufshc/by-name/userdata: ***** FILE SYSTEM WAS MODIFIED *****
- also added unit test for the fsck log parsing
bug: 36391645
Test: many reboots with fs_stat check, runtest frameworks-services -c com.android.server.BootReceiverFixFsckFsStatTest
Change-Id: I86a97a3b50ee573db51d19d2cd243b8f7795a165
2 files changed