blob: 44d8e55edfbfdf3b6216e152bac257e23bcf4cb9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
QA output created by 115
mkfs
mount
--- create some files and directories to work on ---
--- check all is ok before we start ---
succeeded checking 13 inodes
succeeded checking 13 paths
--- now break some stuff ---
1. remove the EA
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/file2
2. change the EA name
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/file3
Attribute "INODE 0000000000000001" set to a 5 byte value for dir2/dir3/file3:
file3
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/file3
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/file3
3. change the EA value
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file4
Attribute "INODE 0000000000000001" set to a 9 byte value for dir2/dir3/dir4/file4:
woopdydoo
Attribute "INODE 0000000000000001" has a 9 byte value for dir2/dir3/dir4/file4
Attribute "INODE 0000000000000001" had a 9 byte value for dir2/dir3/dir4/file4:
woopdydoo
4. add an extra EA - diff name, same value
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file5
Attribute "INODE 0000000000000001" set to a 5 byte value for dir2/dir3/dir4/file5:
file5
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file5
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file5
Attribute "INODE 0000000000000001" had a 5 byte value for dir2/dir3/dir4/file5:
file5
5. add an extra EA - diff name, diff value
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file6
Attribute "INODE 0000000000000001" set to a 7 byte value for dir2/dir3/dir4/file6:
file600
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file6
Attribute "INODE 0000000000000001" has a 7 byte value for dir2/dir3/dir4/file6
Attribute "INODE 0000000000000001" had a 7 byte value for dir2/dir3/dir4/file6:
file600
6. give bad fmt'ed EA name and get rid of existing name
Attribute "woof" set to a 5 byte value for dir2/dir3/dir4/file7:
file7
--- now check it ---
xfs_check_ipaths
inode-path for inode: 12 is missing
inode-path for inode: 11 is incorrect - bad parent inode#
inode-path for inode: 5 is incorrect - path non-existent
inode-path for inode: 6 is incorrect - bad parent inode#
inode-path for inode: 7 is incorrect - bad parent inode#
inode-path for inode: 8 is corrupted
num errors: 6
xfs_repair_ipaths
path "/mnt/scratch/dir2/dir3/dir4/file4" inode: 5 doesn't have an associated inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 has corrupted inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 doesn't have an associated inode-path
path "/mnt/scratch/dir2/file2" inode: 12 doesn't have an associated inode-path
extra inode-path for inode: 5
extra inode-path for inode: 6
extra inode-path for inode: 7
extra inode-path for inode: 11
--- now repair it ---
xfs_repair_ipaths
path "/mnt/scratch/dir2/dir3/dir4/file4" inode: 5 doesn't have an associated inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 has corrupted inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 doesn't have an associated inode-path
path "/mnt/scratch/dir2/file2" inode: 12 doesn't have an associated inode-path
extra inode-path for inode: 5
extra inode-path for inode: 6
extra inode-path for inode: 7
extra inode-path for inode: 11
repairing inode-path on "/mnt/scratch/dir2/dir3/dir4/file4"
repairing by removing bad inode-path on "/mnt/scratch/dir2/dir3/dir4/file7"
repairing inode-path on "/mnt/scratch/dir2/dir3/dir4/file7"
repairing inode-path on "/mnt/scratch/dir2/file2"
repairing: removing extra inode-path for inode: 5
repairing: removing extra inode-path for inode: 6
repairing: removing extra inode-path for inode: 7
repairing: removing extra inode-path for inode: 11
--- now check it again ---
xfs_check_ipaths
succeeded checking 13 inodes
xfs_repair_ipaths
succeeded checking 13 paths
|