summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/quota/quota.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr.bin/quota/quota.c b/usr.bin/quota/quota.c
index 046179e..342bdad 100644
--- a/usr.bin/quota/quota.c
+++ b/usr.bin/quota/quota.c
@@ -449,7 +449,7 @@ getprivs(long id, int quotatype)
qup = quphead = (struct quotause *)0;
- nfst = getmntinfo(&fst, MNT_WAIT);
+ nfst = getmntinfo(&fst, MNT_NOWAIT);
if (nfst == 0)
errx(2, "no filesystems mounted!");
setfsent();
@@ -597,6 +597,13 @@ getnfsquota(struct statfs *fst, struct quotause *qup, long id, int quotatype)
return (0);
}
+ /* Avoid attempting the RPC for special amd(8) filesystems. */
+ if (strncmp(fst->f_mntfromname, "pid", 3) == 0 &&
+ strchr(fst->f_mntfromname, '@') != NULL) {
+ *cp = ':';
+ return (0);
+ }
+
gq_args.gqa_pathp = cp + 1;
gq_args.gqa_uid = id;
if (callaurpc(fst->f_mntfromname, RQUOTAPROG, RQUOTAVERS,
OpenPOWER on IntegriCloud