We have a filer running 8.1.2 exporting/sharing a volume via NFS and CIFS.
If a CIFS client creates a sparse file the amount of space that df reports increase by the full size.
If an NFS client creates a sparse file the amount of space that df reports does NOT increase by the full size.
We mounted the same volume via NFS and CIFS on the same host (running CentOS 5) to make comparisons a little easier.
Running ls on the sparse files on the volume mounted via NFS shows the files are indeed "sparse" (size being greater than the blocks used). The exact same files viewed over the CIFS mount shows the files being the full size (regardless of how the files were created).
In discussion w/ Netapp support we learned about
What is interesting is the those numbers increase when the sparse files are created over CIFS but they do not increase when sparse files are created over NFS. As an aside, in both cases the amount of aggregate space (aggr show_space) in use indicates that the files are indeed sparse.
At best there is strongly inconsistent behavior here. Is this behavior documented somewhere?
We've tested a windows server with a windows client and sparse files behave on it as we expect (the amount reported on disk versus the sizes are as we expect).
A Windows client to talking to a Netapp incorrectly reports the "Size on disk" as being the same as "Size" on sparse files.