cvs commit: src/sbin/fsck_ffs main.c
Kirk McKusick
mckusick at FreeBSD.org
Tue Oct 7 19:14:04 PDT 2003
mckusick 2003/10/07 19:14:03 PDT
FreeBSD src repository
Modified files:
sbin/fsck_ffs main.c
Log:
Create a .snap directory mode 770 group operator in the root of each
filesystem that is checked in background. Create the snapshot in this
directory rather than in the root. There are two benefits:
1) For terabyte-sized filesystems, the snapshot may require many
minutes to build. Although the filesystem will not be suspended
during most of the snapshot build, the snapshot file itself is
locked during the entire snapshot build period. Thus, if it is
accessed during the period that it is being built, the process
trying to access it will block holding its containing directory
locked. If the snapshot is in the root, the root will lock and
the system will come to a halt until the snapshot finishes. By
putting the snapshot in a subdirectory, it is out of the likely
path of any process traversing through the root and hence much
less likely to cause a lock race to the root.
2) The dump program is usually run by a non-root user running with
operator group privilege. Such a user is typically not permitted
to create files in the root of a filesystem. By having a directory
in group operator with group write access available, such a user
will be able to create a snapshot there. Having the dump program
create its snapshot in a subdirectory below the root will benefit
from point (1) as well.
Sponsored by: DARPA & NAI Labs.
Revision Changes Path
1.39 +30 -1 src/sbin/fsck_ffs/main.c
More information about the cvs-src
mailing list