[zfs-discuss] Unlistable files

Vladimir Brik vladimir.brik at icecube.wisc.edu
Thu Apr 5 16:34:46 EDT 2018


I have run into a strange issue where files don't show up in directory
listing but can be accessed by path directly. I wonder if somebody knows
what might have caused this.

# find dst/a/foo
(as expected)

# find dst/a/ -name foo
(no output)

# ls -l dst/a/foo
-rw-r--r-- 1 xxx xxx 5991051 Feb 22 13:35 dst/a/foo
(as expected)

# ls -l dst/a/ | grep foo
(no output)

# cp dst/a/foo bar
(this works; bar is created and can be listed)

The problem occurs when I run something like "cp -r src dst", where src
is a directory with 12 sub-directories with 6999 files each, about 84K
files total, 2.9TB. After copy finishes, dst is missing several thousand
files according to find. (Similar thing happened when I tarred src and
then unpacked it in a different location; according to tar --list the
tarball contained all files.)

The cp command reported "No space left on device" for a couple of files.
The filesystem has about 80TB free (zpool is about 50% full). The files
for which "No space left on device" error was generated just weren't
created, it seems, but other missing files are accessible by their full
path but did not show up in directory listings (as shown above).

ls is reporting some sub-directories of dst have 7000 hard links instead
of 7001 that the sub-directories in src have. All missing files seem to
be from such sub-directories.

After rebooting the server, the missing were no longer accessible by
full path.

It seems the problem is reproducible. Missing files are not always the same.

I am running ZFS 0.7.7, Scientific Linux release 6.8. No ZFS snapshots.

If anybody can shed light on this, I would really appreciate it :)


More information about the zfs-discuss mailing list