]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blob - e2fsck/mtrace.awk
e2fsck: if user declines to fix s_inodes_acount, abort
[thirdparty/e2fsprogs.git] / e2fsck / mtrace.awk
1 #!/usr/bin/awk -f
2 #
3 # Awk program to analyze mtrace.c output.
4 #
5 $1 == "+" { if (allocated[$2] != "")
6 print "+", $2, "Alloc", NR, "duplicate:", allocated[$2];
7 else
8 allocated[$2] = $3;
9 }
10 $1 == "-" { if (allocated[$2] != "") {
11 allocated[$2] = "";
12 if (allocated[$2] != "")
13 print "DELETE FAILED", $2, allocated[$2];
14 } else
15 print "-", $2, "Free", NR, "was never alloc'd";
16 }
17 $1 == "<" { if (allocated[$2] != "")
18 allocated[$2] = "";
19 else
20 print "-", $2, "Realloc", NR, "was never alloc'd";
21 }
22 $1 == ">" { if (allocated[$2] != "")
23 print "+", $2, "Realloc", NR, "duplicate:", allocated[$2];
24 else
25 allocated[$2] = $3;
26 }
27
28 # Ignore "= Start"
29 $1 == "=" { }
30 # Ignore failed realloc attempts for now
31 $1 == "!" { }
32
33
34 END { for (x in allocated)
35 if (allocated[x] != "")
36 print "+", x, allocated[x];
37 }