Hi.
I run today's CVS snapshot (three hours ago), but the problem I'm
experiencing has been with me as long as I've run XFS (about three
weeks).
My XFS filesystem:
/dev/hdc1 45030088 36350920 8679168 81% /mnt/guest
Sometimes, doing various operations on the file system leads to a freeze
which takes a *long time* to thaw. Usually a few hours(!).
After doing some stracing, I've found that the problem seems to be with
getdents(). I've not managed to correlate it to the number of files in
the directory, nor to the directory's depth in the directory tree.
The freeze seems to be bound to the particular directory: if one command
calling getdents() on a directory freezes, so will others when calling
getdents() for the same directory. Calling getdents() for sister or
parent directories works (ie, doesn't freeze).
I've not attempted calling getdents() for a child-directory of a frozen
directory.
I'm running this on an x86 SMP box; I've not seen any advisory about xfs
not being smp-safe. The kernel was built with gcc 2.95.2, which
according to the FAQ might be a problem.
If you don't manage to reproduce the problem, I'd be willing to rebuild
the kernel with egcs 2.91.66 just to eliminate that possibility.
Regards,
Karl T
|