diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | utils/rquotad/rquota_server.c | 14 |
2 files changed, 12 insertions, 7 deletions
@@ -1,5 +1,10 @@ 2001-06-27 H.J. Lu <hjl@lucon.org> + * utils/rquotad/rquota_server.c: Don't call statfs () for + the block size. Use BLOCK_SIZE instead. + +2001-06-27 H.J. Lu <hjl@lucon.org> + * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC. (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@. diff --git a/utils/rquotad/rquota_server.c b/utils/rquotad/rquota_server.c index 8494790..2832974 100644 --- a/utils/rquotad/rquota_server.c +++ b/utils/rquotad/rquota_server.c @@ -26,7 +26,7 @@ #include <sys/stat.h> #include <sys/param.h> #include <sys/quota.h> -#include <sys/vfs.h> +#include <sys/mount.h> #include <dirent.h> #include <paths.h> #include <stdio.h> @@ -42,6 +42,10 @@ #define MNTTYPE_AUTOFS "autofs" #endif +#ifndef BLOCK_SIZE +#define BLOCK_SIZE 1024 +#endif + /* * Global unix authentication credentials. */ @@ -72,7 +76,6 @@ getquota_rslt *getquotainfo(int flags, caddr_t *argp, struct svc_req *rqstp) char *pathname, *qfpathname; int fd, err, id, type; struct stat stm, stn; - struct statfs stf; /* * First check authentication. @@ -122,11 +125,8 @@ getquota_rslt *getquotainfo(int flags, caddr_t *argp, struct svc_req *rqstp) || strcasecmp (mnt->mnt_type, MNTTYPE_IGNORE) == 0) break; - if (statfs(pathname, &stf) == -1) { - result.status = Q_EPERM; - return (&result); - } - result.getquota_rslt_u.gqr_rquota.rq_bsize = stf.f_bsize; + /* All blocks reported are in BLOCK_SIZE. */ + result.getquota_rslt_u.gqr_rquota.rq_bsize = BLOCK_SIZE; if (hasquota(mnt, type, &qfpathname)) { if ((err = quotactl(QCMD(Q_GETQUOTA, type), mnt->mnt_fsname, |