From 564ed5a8e2cbe2868f33e0e28e55aaac1e047b8e Mon Sep 17 00:00:00 2001 From: probe Date: Thu, 27 Oct 1994 17:10:10 +0000 Subject: [PATCH] Send zgrams if the disk usage is over 90% or the quota change, if used, would bring it to 90% --- incremental/afs_quota.pl | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/incremental/afs_quota.pl b/incremental/afs_quota.pl index de75feee..860f0835 100644 --- a/incremental/afs_quota.pl +++ b/incremental/afs_quota.pl @@ -1,7 +1,8 @@ #!/afs/athena/contrib/perl/perl # Usage: afs_quota path quota -require "/moira/bin/afs_utils.pl"; +$incdir = "/mit/moiradev/src/incremental"; +require "$incdir/afs_utils.pl"; die "Usage: $0 path quota\n" unless (@ARGV==2); @@ -34,17 +35,41 @@ chop(@tmp=); close(PROG); die "Unable to get volume information about $vname ($path)\n" if ($?); -shift(@tmp), $_ = shift(@tmp); +$_ = shift(@tmp); +($vusage, $vusage, $vusage, $vusage) = split(/\s+/,$_); +$_ = shift(@tmp); ($asrv,$asrv,$apart) = split(/\s+/,$_); +open(PROG,"$vos partinfo $asrv $apart -cell $cell|"); +chop($_ = ); +close(PROG); +die "Unable to get partition information about $asrv $apart\n" if ($?); + +@tmp = split(/\s+/,$_); +$dtotal = $tmp[11]; +$dusage = $dtotal - $tmp[5]; + system("$fs","sq",$path,$newq); die "Unable to change quota on $path\n" if ($?); &afs_quota_adj($cell,$asrv,$apart,$newq-$oldq); -system("$zwrite","-c","afsadm","-m", - "Changed quota on volume $vname ($asrv:$apart) from $oldq to $newq") - if (($newq-$oldq > 39999) || ($oldq-$newq > 39999)); +if ($dusage > (0.9 * $dtotal)) { + system("$zwrite","-c","afsadm","-m", + "WARNING: Disk usage on $asrv:$apart is greater than 90% +Used $dusage K out of $dtotal K"); +} +elsif (($dusage + ($newq-$vusage)) > (0.9 * $dtotal)) { + system("$zwrite","-c","afsadm","-m", + "Quota change on volume $vname, if used completely will cause +$asrv:$apart to be over 90% used. + +Current volume usage: $vusage, old quota $oldq, new quota $newq"); +} +elsif ($newq-$oldq > 39999) { + system("$zwrite","-c","afsadm","-m", + "Increased quota on volume $vname ($asrv:$apart) from $oldq to $newq"); +} #$stat_fs = $?; #$stat_qa = &afs_quota_adj($cell,$asrv,$apart,($stat_fs ? 0 : $newq-$oldq)); -- 2.45.1