"find" not traversing all directories on a single zfs file system
Robert Banfield
rbanfield at weogeo.com
Mon Feb 27 22:16:43 UTC 2012
Summary: I am executing the command "find . > ../file_list" and it is
not traversing all the subdirectories it encounters along the way.
There is no separate file system mounted along the path.
Long version: I'm new to FreeBSD and ZFS (many years of linux
experience though), so my apologies if I'm missing something
straightforward here. This is a tile server which has tens of millions
of mostly small files. I'm logged in as root, and there is no networked
file system anywhere in the mix. I'm using the version of find
installed with FreeBSD 9.0-RELEASE amd64.
cd /zfs_mount_point/mydir
find . &> ../file_list
I would presume that file_list contains a list of every file and
directory inside of /zfs_mount_point/mydir, however some directories
contain only the directory entry without any of the file and
subdirectories it contains.
As an example, file_list contains:
./dataset_tiles
./dataset_tiles/token1
./dataset_tiles/token1/kml
./dataset_tiles/token1/kml/kml.png
./dataset_tiles/token2
./dataset_tiles/token3
./dataset_tiles/token3/kml
...
The problem is "./dataset_tiles/token2" is a directory, and none of its
entries appear anywhere in the file_list. Yet if I do the following:
find ./dataset_tiles/token2
I get a list of everything that I would expect to have been in
file_list, but did not. "ls -l" shows the entry type character as 'd'.
token2 is just a subdirectory of dataset_tiles, not a separate mount
point. I should have all the requisite permissions to access the files
in that directory, and I can run find successfully if I specify any of
the directories which do not seem to be working. Here's an actual 'ls
-ld' on one of the directories not working:
ls -ld 967c4f32-8a9e-0459-8e94-c911e41be43b/
drwxr-xr-x 10 root wheel 10 Feb 4 21:45
967c4f32-8a9e-0459-8e94-c911e41be43b/
The only other tidbit of information I can think to add is I also tried
running "find -d ." with no overall change in output other than the
order the directories were searched.
Any idea what's going on?
Thanks!
More information about the freebsd-questions
mailing list