Solution (source code)

= Solution

The predecessor <disk block number> turns the forward chain into a <doubly linked list>. Starting from the header's last block, one can traverse backwards; removing or detaching the current block can find its predecessor directly rather than scanning from the beginning. When modifying a chain, the affected predecessor and successor links must both be updated consistently.

The file number identifies the owner of each <file data block>. A <file-system consistency checker> can scan the medium, group blocks by owner, detect a cross-link between different files, and help reconstruct chains or headers after damage. It also lets the system check that a block reached through a chain belongs to the expected file.

Thus
$$
\boxed{\text{predecessor: reverse traversal and editing; owner: validation and recovery}.}
$$
The extra metadata aids recovery but does not by itself guarantee <file-system crash consistency>.