static char sccsid
[] = "@(#)quotaon.c 4.3 (Berkeley, Melbourne) %G%";
* Turn quota on/off for a filesystem.
* NEED TO REFLECT CURRENT STATUS IN MTAB.
int aflag
; /* all file systems */
char quotafile
[MAXPATHLEN
+ 1];
register struct fstab
*fs
;
int offmode
= 0, errs
= 0, i
;
whoami
= rindex(*argv
, '/') + 1;
if (strcmp(whoami
, "quotaoff") == 0)
else if (strcmp(whoami
, "quotaon") != 0) {
fprintf(stderr
, "Name must be quotaon or quotaoff not %s\n",
if (argc
> 0 && strcmp(*argv
, "-v") == 0) {
if (argc
> 0 && strcmp(*argv
, "-a") == 0) {
if (argc
<= 0 && !aflag
) {
fprintf(stderr
, "Usage:\n\t%s [-v] -a\n\t%s [-v] filesys ...\n",
while ((fs
= getfsent()) != NULL
) {
(fs
->fs_type
== 0 || strcmp(fs
->fs_type
, "rq") != 0))
!(oneof(fs
->fs_file
, argv
, argc
) ||
oneof(fs
->fs_spec
, argv
, argc
)))
if (setquota(fs
->fs_spec
, NULL
) < 0) {
fprintf(stderr
, "setquota: ");
printf("%s: quotas turned off\n", fs
->fs_file
);
(void) sprintf(quotafile
, "%s/%s", fs
->fs_file
, qfname
);
if (setquota(fs
->fs_spec
, quotafile
) < 0) {
fprintf(stderr
, "setquota: ");
printf("%s: quotas turned on\n", fs
->fs_file
);
for (i
= 0; i
< argc
; i
++)
if ((done
& (1 << i
)) == 0)
fprintf(stderr
, "%s not found in /etc/fstab\n",
if (strcmp(target
, list
[i
]) == 0) {