IBM Storage Archive Single Drive Edition Version 2.4.8.4 (2.4.8.4-10522)

Licensed Materials - Property of IBM

Copyright 2010, 2026 IBM Corp. 

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions, and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

-----------------------------------------
 README for Linux 
------------------------------------------

This README file applies to IBM Storage Archive Single Edition for Linux
Version 2.4.8.4, and to all subsequent releases, modifications, and service 
refreshes, until otherwise indicated in a new README file.

Online user's guidance
======================
You can find information about IBM Storage Archive Single Edition on 
IBM Documentation:
  https://www.ibm.com/docs/en/storage-archive-sde

Usage example:
==============

IBM Storage Archive Single Edition uses the sg driver. A user to execute ltfs 
command need R/W permission against the sg device of the changer and the tape 
drives under /dev in Linux.

1. Add the binary path to the command search path.

  Linux
     The LTFS package is installed under /opt/ibm/ltfssde in Linux.
     Add /opt/ibm/ltfssde/bin to your command search path by issuing the following command:

     $ export PATH="$PATH:/opt/ibm/ltfssde/bin"

2. List the available tape drives by issuing the following command for your platform:

   Linux
      $ ltfs -o device_list

3. Format the tape cartridge in the LTFS format by issuing the following command for your platform:

   Linux
      $ mkltfs -d /dev/sg6

4. Mount the formatted tape cartridge by issuing the following commands for your platform:

   Linux
     $ mkdir /mnt/ltfs
     $ ltfs /mnt/ltfs -o devname=/dev/sg6

5. Unmount the tape cartridge by issuing the following command.
   (This command empties the data buffer of the file system to the tape cartridge and prepares to eject the cartridge.)

  $ umount /mnt/ltfs
    OR
  $ fusermount -u /mnt/ltfs

Changes in this version (from 2.4.8.3 to 2.4.8.4):
==================================================
  - Improved handling of memory allocation failures.

Change Log:
==================================================
(from 2.4.8.2 to 2.4.8.3)
==================================================
  - New OS support:
     - RHEL 9.7.
  - Fixed an error formatting tape using 'leadm tape format' with option -b to specify
    blocksize.
  - Fixed extra memory consumption that could let to ltfs to crash more frequently. 
    This extra consumption is present from LE/SDE 2.4.8.0.
  - Updated UThash library. 

(from 2.4.8.1 to 2.4.8.2)
  - New OS support:
     - RHEL 9.6.
  - Added a tape position check routine to avoid writing the index if the current position
    reported by LTFS is not the same as the real reported by the drive. Caught SIGCONT and do the tape position check before writes. This prevents the start_block misalignment within index, preventing error LTFS11089E.

(from 2.4.8.0 to 2.4.8.1):
  - Updated libxml2 to version 2.13.8 to address security vulnerability CVE-2025-32415

(from 2.4.7.2 to 2.4.8.0): 
  - Support LTO10 drive.
  - New OS support:
     - RHEL 9.4.

(from 2.4.7.1 to 2.4.7.2):
  - Fixed memory issue preventing the deallocation of tape-related resources after unmounting.
    (#87479 and #87570).

(from 2.4.7.0 to 2.4.7.1):
  - Fixed the issue where a tape cartridge with a write-permanent error failed to be mounted, displaying 
    the error message: "LTFS17285E Failed to search the final index in IP (1)", despite LTFS being capable 
    of searching the index on the Data Partition (DP).

(from 2.4.6.2 to 2.4.7.0):
  - New OS support:
     - RHEL 8.10

(from 2.4.6.1 to 2.4.6.2):
  - New OS support:
     - RHEL 8.9
  - End of support:
    - RHEL 7
  - Fixed potential "use after free" issues in CodeQL on GitHub by updating to delete-safe iteration logic.

(from 2.4.6.0 to 2.4.6.1):
  - New OS support:
     - RHEL 8.8
  - Fixed TS1170 issue related to backward compatibility.

(from 2.4.5.2 to 2.4.6.0):
  - New OS support:
     - RHEL 8.7. 
  - Supported TS1170 tape drive and JF tape.
  - Log enhance to show fuse_main errors (#86376).
  - Drive path failover enhancement capturing a stable TUR (#86745).
  - Rebranding of the product from Spectrum Archive to Storage Archive.
  - Sunset of Windows Operating System Support.

(from 2.4.5.1 to 2.4.5.2):
  - New OS support:
    - RHEL 8.6
  - Fixed the issue for the "leadm drive show" command with the -o (--output) option with XML as 
    the output type was not working.

(from 2.4.5.0 to 2.4.5.1):
  - Fixed the issue, where the tape position is detected incorrectly when a permanent write 
    error occurs, also known as write perm handling tape error. (#85755)

(from 2.4.4.0 to 2.4.5.0)
  - For problem fixes that were reported in the previous versions:
    - See 3287850..3b26f03 on GitHub

(from 2.4.3.1 to 2.4.4.0)
  - Support LTO9 drive
  - Fixed and improved MAM handling in cases where MAM might not update correctly during write errors,
    so that LTFS correctly searches for the latest index position of the tape for these cases.
  - For problem fixes that were reported in the previous versions:
    - See cdf782f..3287850 on GitHub

(from 2.4.3.0 to 2.4.3.1)
<Critical fix>
******************
 IMPORTANT NOTICE
******************
For the users of IBM Spectrum Archive Single Drive Edition from version 2.4.0
or above, it is highly recommended to upgrade the software to version 2.4.3.1
immediately.
IBM is preparing the TechNote for more detail of issues.

  - Fixed the issue that IBM Spectrum Archive may truncate the previously written files on tape on
    the hardware failure during the SCSI LOCATE command, and the file may appear as 0-byte length on
    tape which could lead to undetected data corruption (fffa125 on GitHub)

(from 2.4.2.0 to 2.4.3.0)
  - New OS support:
    - RHEL 8
  - For problem fixes that were reported in the previous versions:
    - See 7eed987..aa181ad on GitHub

(from 2.4.1.2 to 2.4.2.0)
  - Allow the installation of both IBM Spectrum Archive LE and SDE on the system at the same time.
  - Introduce port load balancing on the sg backend.
    - Handle the SCSI address in the sg backend.
  - Enhance path failover on the sg backend.
  - For problem fixes that were reported in the previous versions:
    - See e3021cd..7eed987
    - e3021cd is the equivalent of 39d0eaf on the v2.4.1 branch.

(from 2.4.1.1 to 2.4.1.2)
  - Make the sg backend default
    - Device file to specify at start is changed from /dev/IBMtapeX to /dev/sgX
  - Problem fixes reported in the previous versions
    - See 1b33d9a..576cc64
    - 114c840 is the equivalent of 6adff9f on v2.4.1 branch

(from 2.4.1.0 to 2.4.1.1)
  - Fixed the problem where filenames with certain special characters can
    cause recall failures or LTFS file system mount failures, resulting
    in an invalid LTFS tape.
    This condition is caused by any filename containing the percent
    character (0x25) and also contains the colon character (0x3A)
    or a C0 control characters (the character code ranging from 0x01 to
    0x1F except for 0x09, 0x0A, or 0x0D).
    Subsequently a LTFS check operation performed on the invalid LTFS tape
    will roll back to the prior LTFS index, removing all new files written
    to tape after that prior LTFS index.  This problem occurs with
    IBM Spectrum Archive Single Drive Edition from 2.4.0.1 to 2.4.1.0,
    and all prior SDE versions are NOT affected.
  - Problem fixes reported in the previous versions
    - See fd4bbe7..6adff9f on GitHub

(from 2.4.0.2 to 2.4.1.0):
  - Supported TS1160 tape drive
  - Problem fixes reported in the previous versions
    - See 9bceaf8..fd4bbe7 on GitHub

(from 2.4.0.1 to 2.4.0.2)
  - Handle read-only combination between tape and drive correctly
  - Problem fixes reported in the previous versions
    - See fc26267..9bceaf8 on GitHub

(from 2.4.0.0 to 2.4.0.1)
  - New OS support:
    - RHEL 7.4
    - OSX 10.13
  - End of support:
    - OSX 10.11
  - Supported initialized LTO 8 Type M cartridge
  - Move the source code base to GitHub (https://github.com/LinearTapeFileSystem/ltfs)
  - Problem fixes reported in the previous versions
    - See 186511e..fc26267 on GitHub

(from 2.2.2.0 to 2.4.0.0)
  - Supported LTFS format specifications 2.4
  - Supported LTO8 drive
  - New OS support:
    - RHEL 7 (ppc64le)
    - OSX 10.12
  - End of support:
    - RHEL 6
    - SLES 11
    - OSX 10.10
  - Problem fixes reported in the previous versions
  - Launch the LTFS project on GitHub (https://github.com/LinearTapeFileSystem/ltfs)
    - The initial code is put based on IBM Spectrum Archive SDE 2.4.0.0
    - The equivalent source code of IBM Spectrum Archive SDE 2.4.0.0 can be accessed
      at https://github.com/LinearTapeFileSystem/ltfs/releases/tag/v2.4.0.0-10022

(from 2.2.1.1 to 2.2.2.0)
  - New OS support:
    - RHEL 7 (x86_64)
    - SLES 11.4
    - OSX 10.10, 10.11
  - End of support:
    - RHEL 5
    - SLES 11.3 or earlier
    - OSX 10.9 or earlier
  - Problem fixes reported in the previous versions

(from 2.2.1.0 to 2.2.1.1):
  - Problem fixes reported in the previous versions

(from 2.2.0.2 to 2.2.1.0)
  - Changed its program name from IBM Linear Tape File System (LTFS)
  - Improved the handling of a false write error
  - Fixed the problem that the file creation time is incorrectly displayed on Mac OS X
  - Support LTO7 tape drives
  - Fixed the illegal instruction problem on OS X 10.7

(from 2.2.0.1 to 2.2.0.2)
  - Support for TS1150 tape drives (Linux Only)
  - Support for CRC32C logical block protection for TS1150 tape drives with SSE 4.2 instruction set (Linux Only)

(from 2.2.0.0 to 2.2.0.1)
  - Supported USB LTO tape drives

(from 1.3.0.2 to 2.2.0.0)
  - New OS support:
    - OS X 10.9 Mavericks
  - Change version number rule
    - First 3 digits indicate supported version of the LTFS format specifications
  - Improved sparse file handling
    - Write sparse file data in order to improve read back performance
  - Improved performance of writing index
  - Improved performance of writing small files
  - Problem fixes reported in the previous versions
  - (Linux Only) Implemented the capability of SNMP
  - Change OSXFUSE bundling from 2.5.6 to 2.6.2

(from 1.3.0.1 to 1.3.0.2)
  - Problem fixes reported in 1.3.0.1
  - Supported LTFS format specifications 2.2.0
  - New OS support:
    - OS X 10.8 Mountain Lion (64 bit only)
  - New architecture support:
    - Power PC (64 bit only, RHEL 5.9 and 6.2 only)
  - Change OSXFUSE bundling from 2.3.9 to 2.5.6

(From 1.3.0 to 1.3.0.1)
  - Improved memory footprint on the cartridge mount operation
  - (Mac OS X only) Fix the handling of voice sound marks of Japanese characters in file names

(From 1.2.5 to 1.3.0)
  - Supported IBM TS1140 tape drive
  - Supported IBM LTO6 tape drive
  - Supported LTFS format specifications 2.1.0
    - Supported symbolic link
    - Added VEAs to the ltfs.software category
    - Supported vendor unique VEAs
  - Supported rollback mounts
  - Supported an eject when ltfs is unmounted
  - Supported to list available devices
  - Supported to release a reserved device to recover from an unexpected shutdown
  - Improved file creation time when a directory has many files
  - Enhanced the ability to recover from a sudden cable pull
  - Supported the logical block protection feature on IBM tape drives
  - Add the I/F to pass a data encryption key to the tape drive with AME
  - Changed OSXFUSE bundling from 2.3.8 to 2.3.9

(From 1.2.0 to 1.2.5)
  New Platform Support:
    - Added support for Mac OS X 10.7 Lion, either in 32-bit or 64-bit kernel mode,
      by bundling OSXFUSE 2.3.8 as the replacement of MacFUSE

  RAS enhancements:
    - Improved the handling of a cartridge that was not unmounted properly
    - Improved the handling of a full data cartridge
    - Improved the process for storing a file on the index partition when the data placement
      policy is specified

  Usability enhancements:
    - Added support for the -f option with the mkltfs command to prevent the user from overwriting
      the LTFS-formatted cartridge by accident
    - Added four new virtual extended attributes (VEAs) for identifying the software version
      information from the command line
       - ltfs.softwareVendor, ltfs.softwareProduct, ltfs.softwareVersion, ltfs.softwareFormatSpec
    - Modified to update the change time of a file or directory when ltfs.modifyTime VEA is written
    - (Mac OS X only) Changed to display the cartridge's volume name below its icon, as specified
      by the -n option of the mkltfs command
    - (Mac OS X only) Added the ability for LTFS to run in the background, the same as the Linux version,
      if -f option is not specified

  Fixes:
  - Fixed the problem that ltfs.mediaStorageAlert VEA is cleared when other VEA is read

(From 1.0.1 to 1.2.0)
  - Changed its program name from Linear Tape File System
    to Linear Tape File System
  - Enhanced the ability to recover the tapes in the inconsistent state,
    which was caused by an unexpected power outage
  - Added a new function to empty the in-memory user data to the tape medium
    at pre-defined timing; either sync at file close or sync periodically (default)
  - Conforms with the new LTFS Format Specification 2.0.0
    - Backward compatibility with Version 1.0 formatted tapes, and a built-in
      automatic migration mechanism to the Version 2.0.0 format
    - Improved the parsing and handling of the index information
    - Supports standardized virtual extended attribute (VEA) names
      VEA names used in previous releases of LTFS become obsolete and
      no longer available
  - Changed the default block size to 512KB
    - Backward read/write compatibility with 1MB blocksize tapes
  - Changed the command line syntax of ltfs and mkltfs commands for
    specifying the data placement rules

(From 1.00 to 1.0.1)
    - Support virtual extended attributes
    - Added a new eject-on-unmount option (-o eject) to the ltfs command for ejecting
      the cartridge automatically after completing the unmount operation
    - Improved the format time by reducing the number of partition switches during
      volume format in mkltfs
    - Improved the mount time by swapping the physical IDs of the index and
      data partitions
    - Improved the backward read access performance for the files smaller than 1MB
    - Improved the index parse time
    - Changed to not load the tape cartridge into the LTO drive when an
      LTO-4 drive or older is attached (Mac OS X only)
    - Corrected error messages for the partition full condition
    - Corrected error messages when a drive encounters errors during mount
    - Fixed ltfsck to list rollback points when the drive returns an unexpected
      error
    - Fixed to store files to an index partition when the files stored into an
      index partition are overwritten
    - Removed an incorrect syntax example for rules from a mkltfs help message

Note to users:
==============

  General Notice
  --------------
  - Refer to the documents distributed with the tape drive and IBM Storage Archive.
  - The IBM LTO and enterprise tape drives provide the hardware for data compression. The amount of
    written data on a tape can vary from the original data size.


Known Issues:
==============

  1. On Mac OS X: IBM Storage Archive does not support moving a folder within an LTFS-formatted cartridge.
     Any attempt to move a folder in such a manner will result in an "operation not permitted" error,
     and the operation is ignored. The user can still move a file within an LTFS-formatted cartridge,
     and the user can also move a folder from an LTFS-formatted cartridge to a non-LTFS file system or vice versa.
  2. On Mac OS X: Mac OS X's Spotlight will not display the files on an LTFS-formatted cartridge as a result of a search.
