I've got a case open with Netapp about the following, but it's making slow progress. I would welcome reports that other people can see the problem as well.
The scenario is NFS v3 mounts where the mount point is within a qtree, with both a block and inode quota set for it, and what the client sees when doing df(1) (at a lower level, statvfs(2), or lower still, the NFSPROC3_FSSTAT rpc to the filer) on it. Before upgrading to ONTAP 7.x both blocks and inodes used/available/total were taken from the qtree quota information. Now, running 7.0.1R1P2, the blocks info are still like that, but the inodes info comes from the data for the whole volume.
Example:
carina> quota report /vol/CUS/pub K-Bytes Files Type ID Volume Tree Used Limit Used Limit Quota Specifier ----- -------- -------- -------- --------- --------- ------- ------- --------------- tree 36 CUS pub 78440 153600 433 2500 /pub
carina> maxfiles CUS Volume CUS: maximum number of files is currently 9499991 (1466920 used).
client$ df -t /pub/. /usr/CUS/ftp/pub (carina-intracus:/vol/CUS/pub): 150320 blocks 8033071 files total: 307200 blocks 9499991 files
^^^^^^ ^^^^^^^ cf quota cf maxfiles output, output contrast quota output
I've been told that the algorithm used to be (and is probably still meant to be) that FSSTAT returns values based on the minimum (qtree quota info, volume info). In all cases I'm interested in, the qtree quota is much the smaller.