Menu

#41 Consider NFS exports without running rpc.rquotad as having disabled quotas

None
closed-accepted
nobody
None
5
2014-11-26
2014-10-23
No

I got a report that quota(1) print obtrusive warnings about "connection refused" for each NFS mount point whose server is not running rpc.rquotad (because there are no quotas employed).

While understand the user's complaint, I also understand there necessity to report network errors to the users. That's grounded on the premise that NFS client has no notion about quotas on the server, so the client has to query the server all the time.

Attached is a patch which recognizes special error state which is the RPC client is refused by the server's portmapper because no rpc.rquotad service is registered there. In this case the request is evaluated as no-quotas-enabled and thus no warning is reported to the user.

Please review the patch and if you consider it sane, please apply it to the development tree.

1 Attachments

Discussion

  • Petr Písař

    Petr Písař - 2014-10-23

    For more details, see the original report https://bugzilla.redhat.com/show_bug.cgi?id=1155584.

     
  • Jan Kara

    Jan Kara - 2014-11-26

    Thanks! I've merged the patch with some modifications (most notably to treat rpc_rquota_set() the same way as you did for rpc_rquota_get() - it currently doesn't make a difference to user but it makes the code symmetric and thus hopefully saves some surprises when I deal with the code in a few years ;)).

     
  • Jan Kara

    Jan Kara - 2014-11-26
    • status: open --> closed-accepted
    • Group: -->
     
  • Petr Písař

    Petr Písař - 2014-11-26

    Haven't you forgotten to push the changes?

    I haven't see your commit, but I worry that if an user asks for setting quotas, he wants to know that the request failed because the remote host is not running rpc.rquotad. In other words, attempt to set quotas on a file system with disabled quotas results into an error, so the same should apply to the RPC. Shouldn't?

     
  • Jan Kara

    Jan Kara - 2014-11-26

    You're too fast :) I was still doing some testing and pushed now...

    Regarding setting - we still do report error (ENOENT) when setting quotas without the rpc.rquotad present. It's just that for getting quotas ENOENT is treated specially (silently ignored by getprivs()) while for setting quotas we do report ENOENT as error from setprivs(). But it's upto the user of rpc_rquota_set() to decide whether he wants to treat ENOENT specially.

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.