cvs commit: src/sbin/newfs mkfs.c

Kirk McKusick mckusick at FreeBSD.org
Mon Nov 3 23:34:33 PST 2003


mckusick    2003/11/03 23:34:32 PST

  FreeBSD src repository

  Modified files:
    sbin/newfs           mkfs.c 
  Log:
  Create a .snap directory mode 770 group operator in the root of
  a new filesystem. Dump and fsck will create snapshots in this
  directory rather than in the root for two reasons:
  
  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.79      +45 -6     src/sbin/newfs/mkfs.c


More information about the cvs-src mailing list