Skip to content

Equivalent of IBM Spectrum Archive SDE 2.4.1.1 (10227)

Compare
Choose a tag to compare
@piste-jp piste-jp released this 15 Feb 04:19

IBM released IBM Spectrum Archive 2.4.1.1 (10227) at 6adff9f. So the LTFS project releases new version 2.4.1.1.

Change Log:

  • Fix the percent encoder
  • ltfsck writes down new index at the end of data stream

Detail description of

  • The percent encoder patch
    • Fix a percent encoder bug for '%' in the filename, fixed encoder can encode '%' '%25' correctly
    • Relax the index reader for indices written by previous buggy encoder
    • Do not follow previous index backward when an index is unpersable because of invalid name at ltfsck
    • ltfsck writes down new index at the end of data stream (not the end of previous good index) to keep data salvage possibility

Symptom of new index parser against bad encoding in the previous index generator

0-0. No percent encode triggers in the all filenames and directories on a tape

Mountable and recoverable

0-1. There is percent triggers but no '%' in the all filenames and directories on a tape

Mountable and recoverable

1. There is percent triggers and '%XX' which can be decoded to correct ASCII characters expect '/' or UNIT SEPARATOR

Mountable and recoverable.

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'

Mountable and recoverable.

'%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. So new index reader revert them to '%2f' or '%1f'.

3. There is percent triggers and '%XX%XX%XX' which can't be decoded to correct UTF-8 characters

Mount fail and recovery fail.

Invalid UTF-8 character is not valid for file name or directory name. So mount failure happens. At recovery process, index seeking is stopped when this type of error happens, so this kind of tape cannot be recovered in this version. (We will handle this on a future release.)