summaryrefslogtreecommitdiff
path: root/doc/quotas.ms
diff options
context:
space:
mode:
Diffstat (limited to 'doc/quotas.ms')
-rw-r--r--doc/quotas.ms318
1 files changed, 0 insertions, 318 deletions
diff --git a/doc/quotas.ms b/doc/quotas.ms
deleted file mode 100644
index 10e200c..0000000
--- a/doc/quotas.ms
+++ /dev/null
@@ -1,318 +0,0 @@
-.\" Copyright (c) 1983 The Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)quotas.ms 6.3 (Berkeley) 4/17/91
-.\"
-.EH 'SMM:4-%''Disc Quotas in a \s-2UNIX\s+2 Environment'
-.OH 'Disc Quotas in a \s-2UNIX\s+2 Environment''SMM:4-%'
-.ND 5th July, 1983
-.TL
-Disc Quotas in a \s-2UNIX\s+2\s-3\u*\d\s0 Environment
-.FS
-* UNIX is a trademark of Bell Laboratories.
-.FE
-.AU
-Robert Elz
-.AI
-Department of Computer Science
-University of Melbourne,
-Parkville,
-Victoria,
-Australia.
-.AB
-.PP
-In most computing environments, disc space is not
-infinite.
-The disc quota system provides a mechanism
-to control usage of disc space, on an
-individual basis.
-.PP
-Quotas may be set for each individual user, on any, or
-all filesystems.
-.PP
-The quota system will warn users when they
-exceed their allotted limit, but allow some
-extra space for current work.
-Repeatedly remaining over quota at logout,
-will cause a fatal over quota condition eventually.
-.PP
-The quota system is an optional part of
-\s-2VMUNIX\s0 that may be included when the
-system is configured.
-.AE
-.NH 1
-Users' view of disc quotas
-.PP
-To most users, disc quotas will either be of no concern,
-or a fact of life that cannot be avoided.
-The
-\fIquota\fP\|(1)
-command will provide information on any disc quotas
-that may have been imposed upon a user.
-.PP
-There are two individual possible quotas that may be
-imposed, usually if one is, both will be.
-A limit can be set on the amount of space a user
-can occupy, and there may be a limit on the number
-of files (inodes) he can own.
-.PP
-.I Quota
-provides information on the quotas that have
-been set by the system administrators, in each
-of these areas, and current usage.
-.PP
-There are four numbers for each limit, the current
-usage, soft limit (quota), hard limit, and number
-of remaining login warnings.
-The soft limit is the number of 1K blocks (or files)
-that the user is expected to remain below.
-Each time the user's usage goes past this limit,
-he will be warned.
-The hard limit cannot be exceeded.
-If a user's usage reaches this number, further
-requests for space (or attempts to create a file)
-will fail with an EDQUOT error, and the first time
-this occurs, a message will be written to the user's
-terminal.
-Only one message will be output, until space occupied
-is reduced below the limit, and reaches it again,
-in order to avoid continual noise from those
-programs that ignore write errors.
-.PP
-Whenever a user logs in with a usage greater than
-his soft limit, he will be warned, and his login
-warning count decremented.
-When he logs in under quota, the counter is reset
-to its maximum value (which is a system configuration
-parameter, that is typically 3).
-If the warning count should ever reach zero (caused
-by three successive logins over quota), the
-particular limit that has been exceeded will be treated
-as if the hard limit has been reached, and no
-more resources will be allocated to the user.
-The \fBonly\fP way to reset this condition is
-to reduce usage below quota, then log in again.
-.NH 2
-Surviving when quota limit is reached
-.PP
-In most cases, the only way to recover from over
-quota conditions, is to abort whatever activity was in progress
-on the filesystem that has reached its limit, remove
-sufficient files to bring the limit back below quota,
-and retry the failed program.
-.PP
-However, if you are in the editor and a write fails
-because of an over quota situation, that is not
-a suitable course of action, as it is most likely
-that initially attempting to write the file
-will have truncated its previous contents, so should
-the editor be aborted without correctly writing the
-file not only will the recent changes be lost, but
-possibly much, or even all, of the data
-that previously existed.
-.PP
-There are several possible safe exits for a user
-caught in this situation.
-He may use the editor \fB!\fP shell escape command to
-examine his file space, and remove surplus files.
-Alternatively, using \fIcsh\fP, he may suspend the
-editor, remove some files, then resume it.
-A third possibility, is to write the file to
-some other filesystem (perhaps to a file on /tmp)
-where the user's quota has not been exceeded.
-Then after rectifying the quota situation,
-the file can be moved back to the filesystem
-it belongs on.
-.NH 1
-Administering the quota system
-.PP
-To set up and establish the disc quota system,
-there are several steps necessary to be performed
-by the system administrator.
-.PP
-First, the system must be configured to include
-the disc quota sub-system.
-This is done by including the line:
-.DS
-options QUOTA
-.DE
-in the system configuration file, then running
-\fIconfig\fP\|(8)
-followed by a system configuration\s-3\u*\d\s0.
-.FS
-* See also the document ``Building 4.2BSD UNIX Systems with Config''.
-.FE
-.PP
-Second, a decision as to what filesystems need to have
-quotas applied needs to be made.
-Usually, only filesystems that house users' home directories,
-or other user files, will need to be subjected to
-the quota system, though it may also prove useful to
-also include \fB/usr\fR.
-If possible, \fB/tmp\fP should usually be free of quotas.
-.PP
-Having decided on which filesystems quotas need to be
-set upon, the administrator should then allocate the
-available space amongst the competing needs. How this
-should be done is (way) beyond the scope of this document.
-.PP
-Then, the
-\fIedquota\fP\|(8)
-command can be used to actually set the limits desired upon
-each user. Where a number of users are to be given the
-same quotas (a common occurrence) the \fB\-p\fP switch
-to edquota will allow this to be easily accomplished.
-.PP
-Once the quotas are set, ready to operate, the system
-must be informed to enforce quotas on the desired filesystems.
-This is accomplished with the
-\fIquotaon\fP\|(8)
-command.
-.I Quotaon
-will either enable quotas for a particular filesystem, or
-with the \fB\-a\fP switch, will enable quotas for each
-filesystem indicated in \fB/etc/fstab\fP as using quotas.
-See
-\fIfstab\fP\|(5)
-for details.
-Most sites using the quota system, will include the
-line
-.DS C
-/etc/quotaon -a
-.DE
-in \fB/etc/rc.local\fP.
-.PP
-Should quotas need to be disabled, the
-\fIquotaoff\fP(8)
-command will do that, however, should the filesystem be
-about to be dismounted, the
-\fIumount\fP\|(8)
-command will disable quotas immediately before the
-filesystem is unmounted.
-This is actually an effect of the
-\fIumount\fP\|(2)
-system call, and it guarantees that the quota system
-will not be disabled if the umount would fail
-because the filesystem is not idle.
-.PP
-Periodically (certainly after each reboot, and when quotas
-are first enabled for a filesystem), the records retained
-in the quota file should be checked for consistency with
-the actual number of blocks and files allocated to
-the user.
-The
-\fIquotacheck\fP\|(8)
-command can be used to accomplish this.
-It is not necessary to dismount the filesystem, or disable
-the quota system to run this command, though on
-active filesystems inaccurate results may occur.
-This does no real harm in most cases, another run of
-.I quotacheck
-when the filesystem is idle will certainly correct any inaccuracy.
-.PP
-The super-user may use the
-\fIquota\fP\|(1)
-command to examine the usage and quotas of any user, and
-the
-\fIrepquota\fP\|(8)
-command may be used to check the usages and limits for
-all users on a filesystem.
-.NH 1
-Some implementation detail.
-.PP
-Disc quota usage and information is stored in a file on the
-filesystem that the quotas are to be applied to.
-Conventionally, this file is \fBquotas\fR in the root of
-the filesystem.
-While this name is not known to the system in any way,
-several of the user level utilities "know" it, and
-choosing any other name would not be wise.
-.PP
-The data in the file comprises an array of structures, indexed
-by uid, one structure for each user on the system (whether
-the user has a quota on this filesystem or not).
-If the uid space is sparse, then the file may have holes
-in it, which would be lost by copying, so it is best to
-avoid this.
-.PP
-The system is informed of the existence of the quota
-file by the
-\fIsetquota\fP\|(2)
-system call.
-It then reads the quota entries for each user currently
-active, then for any files open owned by users who
-are not currently active.
-Each subsequent open of a file on the filesystem, will
-be accompanied by a pairing with its quota information.
-In most cases this information will be retained in core,
-either because the user who owns the file is running some
-process, because other files are open owned by the same
-user, or because some file (perhaps this one) was recently
-accessed.
-In memory, the quota information is kept hashed by user-id
-and filesystem, and retained in an LRU chain so recently
-released data can be easily reclaimed.
-Information about those users whose last process has
-recently terminated is also retained in this way.
-.PP
-Each time a block is accessed or released, and each time an inode
-is allocated or freed, the quota system gets told
-about it, and in the case of allocations, gets the
-opportunity to object.
-.PP
-Measurements have shown
-that the quota code uses a very small percentage of the system
-cpu time consumed in writing a new block to disc.
-.NH 1
-Acknowledgments
-.PP
-The current disc quota system is loosely based upon a very
-early scheme implemented at the University of New South
-Wales, and Sydney University in the mid 70's. That system
-implemented a single combined limit for both files and blocks
-on all filesystems.
-.PP
-A later system was implemented at the University of Melbourne
-by the author, but was not kept highly accurately, eg:
-chown's (etc) did not affect quotas, nor did i/o to a file
-other than one owned by the instigator.
-.PP
-The current system has been running (with only minor modifications)
-since January 82 at Melbourne.
-It is actually just a small part of a much broader resource
-control scheme, which is capable of controlling almost
-anything that is usually uncontrolled in unix. The rest
-of this is, as yet, still in a state where it is far too
-subject to change to be considered for distribution.
-.PP
-For the 4.2BSD release, much work has been done to clean
-up and sanely incorporate the quota code by Sam Leffler and
-Kirk McKusick at The University of California at Berkeley.