Equivalent of IBM Spectrum Archive SDE 2.4.1.0 (10219)
IBM released IBM Spectrum Archive 2.4.1.0 (10219) at fd4bbe7. So the LTFS project releases new version 2.4.1.0.
!! WARNING !!
This version is corrupted.
The percent encoder for the LTFS index is corrupted. This corruption creates an unparsable LTFS index on the tape. An index corruption happens when following 2 conditions are met.
- File name or directory name has ':' (0x3A) or C0 control codes (0x01-0x1f) except \t(0x09), \n(0x0A) and \r(0x0d) at least (Let's call a percent encode trigger)
- File name or directory name has '%' (0x25)
That's because the percent encoder modified into 2.4.0.1 is incomplete and it doesn't encode '%' at all. In other words, '%' shall be encoded to "%25" be the percent encoder but '%' remains as '%' in the 2.4.0.1 encoder.
Corruption Variations
0-0. No percent encode triggers in the all filenames and directories on a tape
There is no corruption
0-1. There is percent triggers but no '%' in the all filenames and directories on a tape
There is no corruption
1. There is percent triggers and '%XX' which can be decoded to correct ASCII characters expect '/' or UNIT SEPARATOR
The index is corrupted but LTFS can mount the tape. Some file name or directory name may be modified automatically.
For example, file "aaa:%20" is written and unmount the tape. After that the tape is mounted, the file name may be "aaa: " instead of "aaa:%20"
The same thing happens "%XX%XX%XX" sequence is valid UTF-8 characters.
2. There is percent triggers and '%1f' or '%2f'
'%2f' is encoded to '%2f', so '%2f' is decoded to '/'. And '%2f' is encoded to '%2f', so '%2f' is decoded to a UNIT SEPARATOR.
Both '/' and UNIT SEPARATOR is invalid character for file name and directory name. As a result, the index reader detects an error on fine name or directory name.
In the recovery, the indices which has an invalid character is skipped. As a result, LTFS rolls back to the latest good index. In this time, LTFS overwrites the data or the indices after latest good index. So data loss may happen.
3. There is percent triggers and '%XX%XX%XX' which can'y be decoded to correct UTF-8 characters
Invalid UTF-8 character is not valid for file name or directory name. So same thing on case 2 above, mount failure and data loss at recovery, happens.
Original descriptions
Change Log:
- Supported TS1160 tape drive