Network and Storage Protocols

NFS rpc.quotad



I stumbled across a confusing problem using quotas over NFS. Running the quota command on a linux box (SLES 11 SP1 or Ubuntu 10.04.3) machine seems to show the correct quota of the logged in user but the username displayed is always the user that first logged in on the machine. I'm not sure whether this is actually an issue with the linux operatingsystem or the nfs implementation on the filer. No matter how many users are logged on the linux box it always shows the first user that has logged in:

tuser@gedappl01:~$ quota -s

Disk quotas for user tuser (uid 10000):

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace


                  65748    950M   1024M             156   4295m   4295m


                  65748    950M   1024M             156   4295m   4295m

It shows /vol/Home/oweinmann instead of /vol/Home/tuser. The homes are mounted via autofs nfs3.

Furthermore a user has mentioned that there used to be a way in Unix of letting the an application know that a write has failed because a quota hard limit has been reached. Usually if a write operation failed they get a error message saying permission denied.I doubt that this is possible. 





My best guess that quota tries to match FSID for NFS file systems to find the "correct" one; and as you apparently share the same volume, all mount point do have the same FSID. So it just displays the first one found.

It would be interesting to see

a) wire capture (with tcpdump or tshark) to know what exactly quota asks and gets back

b) strace of quota execution to know what it is accessing.

Would you be willing to collect them and make available?


I think you are right. It actually shows the correct quota of the user but it displays the wrong directory. Sorry but there is no tcpdump installed as this is a production system.