summaryrefslogtreecommitdiff
path: root/usr.bin/quota
diff options
context:
space:
mode:
authorIan Dowse <iedowse@FreeBSD.org>2002-06-03 12:06:49 +0000
committerIan Dowse <iedowse@FreeBSD.org>2002-06-03 12:06:49 +0000
commitab5ff6a601957978b42333d2d807dbd25084119b (patch)
treef4a9bd2ac6f941dfb537e5311186d83a6b614aaa /usr.bin/quota
parent86a7fd100f5c7db1974e16be6792a90cd20ad8fe (diff)
downloadsrc-test2-ab5ff6a601957978b42333d2d807dbd25084119b.tar.gz
src-test2-ab5ff6a601957978b42333d2d807dbd25084119b.zip
Notes
Diffstat (limited to 'usr.bin/quota')
-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 046179ecbca0..342bdad38df5 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,