Lines Matching +full:dev +full:- +full:active +full:- +full:grp

1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
51 #include <grp.h>
82 (dp)->dp1.field : (dp)->dp2.field)
133 while ((ch = getopt(argc, argv, "ac:guvl:")) != -1) {
159 argc -= optind;
172 (void) addid((u_long)gr->gr_gid, GRPQUOTA, gr->gr_name,
179 (void) addid((u_long)pw->pw_uid, USRQUOTA, pw->pw_name,
184 * The maxrun (-l) option is now deprecated.
187 warnx("the -l option is now deprecated");
193 if (((argnum = oneof(fs->fs_file, argv, argc)) >= 0 ||
194 (argnum = oneof(fs->fs_spec, argv, argc)) >= 0) &&
195 (name = blockcheck(fs->fs_spec))) {
224 "usage: quotacheck [-guv] [-c 32 | 64] [-l maxrun] -a",
225 " quotacheck [-guv] [-c 32 | 64] filesystem ...");
241 dev_t dev, userdev = 0, groupdev = 0;
259 "%s: cannot convert an active quota file",
270 "%s: cannot convert an active quota file",
284 dev = sb.st_dev;
316 bcopy(fs, &sblock, fs->fs_sbsize);
339 cp = &cg_inosused(&cgblk)[(inosused - 1) / CHAR_BIT];
340 for ( ; inosused > 0; inosused -= CHAR_BIT, cp--) {
343 for (i = 1 << (CHAR_BIT - 1); i > 0; i >>= 1) {
346 inosused--;
384 if ((ino == userino && dev == userdev) ||
385 (ino == groupino && dev == groupdev))
390 fup->fu_curinodes++;
393 fup->fu_curblocks += DIP(dp, di_blocks);
398 fup->fu_curinodes++;
401 fup->fu_curblocks += DIP(dp, di_blocks);
429 * Scan the on-disk quota file and record any usage changes.
437 if (fup->fu_curinodes || fup->fu_curblocks ||
441 if (dqbuf.dqb_curinodes == fup->fu_curinodes &&
442 dqbuf.dqb_curblocks == fup->fu_curblocks) {
443 fup->fu_curinodes = 0;
444 fup->fu_curblocks = 0;
448 dqbuf.dqb_curinodes = fup->fu_curinodes;
449 dqbuf.dqb_curblocks = fup->fu_curblocks;
451 fup->fu_curinodes = 0;
452 fup->fu_curblocks = 0;
456 * Walk the hash table looking for ids with non-zero usage
461 for (fup = fuhead[type][id]; fup != NULL; fup = fup->fu_next) {
462 if (fup->fu_id <= lastid)
464 if (fup->fu_curinodes == 0 && fup->fu_curblocks == 0)
467 if (fup->fu_id > highid)
468 highid = fup->fu_id;
469 printchanges(fsname, type, &dqbuf, fup, fup->fu_id);
470 dqbuf.dqb_curinodes = fup->fu_curinodes;
471 dqbuf.dqb_curblocks = fup->fu_curblocks;
472 (void) quota_write_usage(qf, &dqbuf, fup->fu_id);
473 fup->fu_curinodes = 0;
474 fup->fu_curblocks = 0;
501 return (-1);
513 return (gr->gr_gid);
514 return (-1);
527 for (fup = fuhead[type][id & (FUHASH-1)]; fup != NULL; fup = fup->fu_next)
528 if (fup->fu_id == id)
550 fhp = &fuhead[type][id & (FUHASH - 1)];
551 fup->fu_next = *fhp;
553 fup->fu_id = id;
555 bcopy(name, fup->fu_name, len + 1);
557 (void)sprintf(fup->fu_name, "%lu", id);
622 lastvalidinum = inum + sblock.fs_ipg - 1;
670 * Display updated block and i-node counts.
680 if (fup->fu_name[0] == '\0')
681 (void)printf("%-8lu fixed ", id);
683 (void)printf("%-8s fixed ", fup->fu_name);
698 if (dp->dqb_curinodes != fup->fu_curinodes)
699 (void)printf("\tinodes %lu -> %lu", (u_long)dp->dqb_curinodes,
700 (u_long)fup->fu_curinodes);
701 if (dp->dqb_curblocks != fup->fu_curblocks)
702 (void)printf("\tblocks %lu -> %lu",
703 (u_long)dp->dqb_curblocks,
704 (u_long)fup->fu_curblocks);