IBM Support

IV96475: DATA LOSS WHEN USING "TAR" TO ARCHIVE FILES WITH "-S" OPTION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Users archived their files using tar command with -S
    option,
    then extracted files from the archive and found the data
    in
    files corrupted. This is because the tar command with -S
    option would check whether a file is a sparse file before
    archiving it and would handle sparse file efficiently by
    directly writing zero data into archive for holes. Here
    GPFS
    data-in-inode files are incorrectly determined as sparse
    files since the tar command is comparing the file size
    and
    stat() st_blocks, and file size is non-zero and st_blocks
    is
    zero for data-in-inode files, hence like a real sparse
    file.
    

Local fix

Problem summary

  • Users archived their files using tar command with -S option,
    then extracted files from the archive and found the data in
    files corrupted. This is because the tar command with -S option
    would check whether a file is a sparse file before archiving it
    and would handle sparse file efficiently by directly writing
    zero data into archive for holes. Here GPFS data-in-inode files
    are incorrectly determined as sparse files since the tar command
    is comparing the file size and stat() st_blocks, and file size
    is non-zero and st_blocks is zero for data-in-inode files,
    hence like a real sparse file.
    

Problem conclusion

  • Changed the stat() behavior to return fake block count on stat()
    st_blocks for data-in-inode files. Introduced an undocumented
    configuration parameter "showFakeBlockCountForDataInInodeOnStat"
    to give users an interface to revert to the old behavior on
    stat() st_blocks for data-in-inode file.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV96475

  • Reported component name

    SPECTRUM SCALE

  • Reported component ID

    5725Q01LX

  • Reported release

    420

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-05-23

  • Closed date

    2017-05-23

  • Last modified date

    2017-05-23

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IV96488

Fix information

  • Fixed component name

    SPECTRUM SCALE

  • Fixed component ID

    5725Q01LX

Applicable component levels

  • R420 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"STXKQY","label":"IBM Spectrum Scale"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"420","Edition":"","Line of Business":{"code":"LOB26","label":"Storage"}},{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSFKCN","label":"General Parallel File System"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"420","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
23 May 2017