The commands du and ls show funny block counts on NFSv3 filesystems.

The commands du and ls show funny block counts on NFSv3 filesystems.



The first release of Solaris 2.5 NFS V3 has a bug in calculating
the block allocations returned by stat. The server returns a
value that is 16 times the right value and the client returns
a value 16 times smaller to stat().


The net effect is that unpatched Solaris 2.5 machines look like
they're having no problems with each other.


But on clients with the bug, files on servers returning the right value
will have a block count 16 times too small. This breaks NFS v3 swap
files in Solaris 2.5, as swap files will seem to have holes in them
and swap will refuse to use them. If you see this problem, your client
needs patching.


On correct clients served by buggy servers, files will appear to
have 16 times as many blocks allocated as they should have.
This will generally do no more damage than overly large du(1) or
"ls -s" output.


There are two ways to fix this: one is to upgrade to Solaris 2.5.1 or
later, the second way is to install a patch for bug #1234858.
The fix for that bug is current included in the 2.5 kernel
update patch (103093/SPARC, 103094/x86).


It is important that these patches are installed on clients and servers
alike, especially on 2.5 clients using NFS swap files.





Home
FAQ