UNIX cpio problems

The cpio version should support 32-bit inode definition numbers

If you copy large amounts of data using the UNIX cpio utility, some files might be copied incorrectly. This happens in UNIX versions of cpio that still use a 16-bit inode definition number. Large file systems require a 32-bit inode definition number. The problem generally occurs only on file systems with a large number of hard links.

Why the problem occurs

Some versions of cpio work by copying each file with hard links once and then re-creating the hard links. Trouble occurs because the inode number is assumed to be 16 bits. If another file has a matching low-order 16 bits, an internal number collision occurs, which cpio does not recognize. The cpio utility then overwrites the first file and creates files that no longer contain the original data.

Ask UNIX provider whether cpio version supports 32-bit inode definition numbers

Check with your UNIX provider to see whether your version of cpio has this problem. If you use SunOS 4.x, ask for the Sun patch 100556-01. This patch works around the problem by requiring that the files have the same UID, GID, mode, mod time, inumber, and device before concluding that they are the same file.


Copyright © 1999, Network Appliance, Inc. All rights reserved.

Part No. 210-02334
File: trbl20.htm
Last updated: 04/26/99 08:11:58