Lines Matching +full:qup +full:- +full:memory
1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
63 ((off_t)(db) >> (10-DEV_BSHIFT))
66 ((off_t)(db) << (DEV_BSHIFT-10))
105 struct quotause *qup, *protoprivs, *curprivs; in main() local
123 while ((ch = getopt(argc, argv, "ughtf:p:e:")) != -1) { in main()
130 warnx("cannot specify both -e and -p"); in main()
151 warnx("cannot specify both -e and -p"); in main()
155 if ((qup = calloc(1, sizeof(*qup))) == NULL) in main()
156 errx(2, "out of memory"); in main()
161 *(cp - 1) = ':'; in main()
170 strlcpy(qup->fsname, cp, in main()
171 sizeof(qup->fsname)); in main()
175 qup->dqblk.dqb_bsoftlimit = in main()
181 qup->dqblk.dqb_bhardlimit = in main()
187 qup->dqblk.dqb_isoftlimit = in main()
193 qup->dqblk.dqb_ihardlimit = in main()
205 protoprivs = curprivs = qup; in main()
207 curprivs->next = qup; in main()
208 curprivs = qup; in main()
217 argc -= optind; in main()
221 if ((protoid = getentry(protoname, quotatype)) == -1) in main()
226 for (qup = protoprivs; qup; qup = qup->next) { in main()
227 qup->dqblk.dqb_btime = 0; in main()
228 qup->dqblk.dqb_itime = 0; in main()
231 for (; argc-- > 0; argv++) { in main()
232 if (strspn(*argv, "0123456789-") == strlen(*argv) && in main()
233 (cp = strchr(*argv, '-')) != NULL) { in main()
259 for (qup = protoprivs; qup; qup = qup->next) { in main()
261 qup->fsname); in main()
264 curprivs->dqblk = qup->dqblk; in main()
287 for ( ; argc > 0; argc--, argv++) { in main()
288 if ((id = getentry(*argv, quotatype)) == -1) in main()
307 "usage: edquota [-uh] [-f fspath] [-p username] username ...", in usage()
308 " edquota [-u] -e fspath[:bslim[:bhlim[:islim[:ihlim]]]] [-e ...]", in usage()
310 " edquota -g [-h] [-f fspath] [-p groupname] groupname ...", in usage()
311 " edquota -g -e fspath[:bslim[:bhlim[:islim[:ihlim]]]] [-e ...]", in usage()
313 " edquota [-u] -t [-f fspath]", in usage()
314 " edquota -g -t [-f fspath]"); in usage()
334 return (pw->pw_uid); in getentry()
340 return (gr->gr_gid); in getentry()
350 return (-1); in getentry()
361 struct quotause *qup, *quptail; in getprivs() local
367 if (fspath && *fspath && strcmp(fspath, fs->fs_spec) && in getprivs()
368 strcmp(fspath, fs->fs_file)) in getprivs()
370 if (strcmp(fs->fs_vfstype, "ufs")) in getprivs()
374 warn("cannot open quotas on %s", fs->fs_file); in getprivs()
377 if ((qup = (struct quotause *)calloc(1, sizeof(*qup))) == NULL) in getprivs()
378 errx(2, "out of memory"); in getprivs()
379 qup->qf = qf; in getprivs()
380 strlcpy(qup->fsname, fs->fs_file, sizeof(qup->fsname)); in getprivs()
381 if (quota_read(qf, &qup->dqblk, id) == -1) { in getprivs()
382 warn("cannot read quotas on %s", fs->fs_file); in getprivs()
383 freeprivs(qup); in getprivs()
387 quphead = qup; in getprivs()
389 quptail->next = qup; in getprivs()
390 quptail = qup; in getprivs()
391 qup->next = 0; in getprivs()
406 struct quotause *qup; in putprivs() local
408 for (qup = quplist; qup; qup = qup->next) in putprivs()
409 if (quota_write_limits(qup->qf, &qup->dqblk, id) == -1) in putprivs()
410 warn("%s", qup->fsname); in putprivs()
463 struct quotause *qup; in writeprivs() local
471 for (qup = quplist; qup; qup = qup->next) { in writeprivs()
472 fprintf(fd, "%s: in use: %s, ", qup->fsname, in writeprivs()
473 fmthumanvalblks(qup->dqblk.dqb_curblocks)); in writeprivs()
475 fmthumanvalblks(qup->dqblk.dqb_bsoftlimit)); in writeprivs()
477 fmthumanvalblks(qup->dqblk.dqb_bhardlimit)); in writeprivs()
479 fmthumanvalinos(qup->dqblk.dqb_curinodes)); in writeprivs()
481 fmthumanvalinos(qup->dqblk.dqb_isoftlimit)); in writeprivs()
483 fmthumanvalinos(qup->dqblk.dqb_ihardlimit)); in writeprivs()
523 struct quotause *qup; in readprivs() local
534 warnx("can't re-read temp file!!"); in readprivs()
556 * The next three check for old-style input formats. in readprivs()
592 * The next three check for old-style input formats. in readprivs()
619 for (qup = quplist; qup; qup = qup->next) { in readprivs()
620 if (strcmp(fsp, qup->fsname)) in readprivs()
629 qup->dqblk.dqb_curblocks >= dqblk.dqb_bsoftlimit && in readprivs()
630 (qup->dqblk.dqb_bsoftlimit == 0 || in readprivs()
631 qup->dqblk.dqb_curblocks < in readprivs()
632 qup->dqblk.dqb_bsoftlimit)) in readprivs()
633 qup->dqblk.dqb_btime = 0; in readprivs()
635 qup->dqblk.dqb_curinodes >= dqblk.dqb_isoftlimit && in readprivs()
636 (qup->dqblk.dqb_isoftlimit == 0 || in readprivs()
637 qup->dqblk.dqb_curinodes < in readprivs()
638 qup->dqblk.dqb_isoftlimit)) in readprivs()
639 qup->dqblk.dqb_itime = 0; in readprivs()
640 qup->dqblk.dqb_bsoftlimit = dqblk.dqb_bsoftlimit; in readprivs()
641 qup->dqblk.dqb_bhardlimit = dqblk.dqb_bhardlimit; in readprivs()
642 qup->dqblk.dqb_isoftlimit = dqblk.dqb_isoftlimit; in readprivs()
643 qup->dqblk.dqb_ihardlimit = dqblk.dqb_ihardlimit; in readprivs()
644 qup->flags |= FOUND; in readprivs()
647 (dqblk.dqb_curblocks == qup->dqblk.dqb_curblocks && in readprivs()
648 dqblk.dqb_curinodes == qup->dqblk.dqb_curinodes)) in readprivs()
658 for (qup = quplist; qup; qup = qup->next) { in readprivs()
659 if (qup->flags & FOUND) { in readprivs()
660 qup->flags &= ~FOUND; in readprivs()
663 qup->dqblk.dqb_bsoftlimit = 0; in readprivs()
664 qup->dqblk.dqb_bhardlimit = 0; in readprivs()
665 qup->dqblk.dqb_isoftlimit = 0; in readprivs()
666 qup->dqblk.dqb_ihardlimit = 0; in readprivs()
677 struct quotause *qup; in writetimes() local
687 for (qup = quplist; qup; qup = qup->next) { in writetimes()
689 qup->fsname, cvtstoa(qup->dqblk.dqb_btime)); in writetimes()
691 cvtstoa(qup->dqblk.dqb_itime)); in writetimes()
703 struct quotause *qup; in readtimes() local
712 warnx("can't re-read temp file!!"); in readtimes()
740 for (qup = quplist; qup; qup = qup->next) { in readtimes()
741 if (strcmp(fsp, qup->fsname)) in readtimes()
743 qup->dqblk.dqb_btime = bseconds; in readtimes()
744 qup->dqblk.dqb_itime = iseconds; in readtimes()
745 qup->flags |= FOUND; in readtimes()
754 for (qup = quplist; qup; qup = qup->next) { in readtimes()
755 if (qup->flags & FOUND) { in readtimes()
756 qup->flags &= ~FOUND; in readtimes()
759 qup->dqblk.dqb_btime = 0; in readtimes()
760 qup->dqblk.dqb_itime = 0; in readtimes()
923 struct quotause *qup, *nextqup; in freeprivs() local
925 for (qup = quplist; qup; qup = nextqup) { in freeprivs()
926 quota_close(qup->qf); in freeprivs()
927 nextqup = qup->next; in freeprivs()
928 free(qup); in freeprivs()