HAMMER 51/Many: Filesystem full casework, nohistory flag.
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 2 Jun 2008 20:19:03 +0000 (20:19 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 2 Jun 2008 20:19:03 +0000 (20:19 +0000)
commite63644f0d955ff1b0508649075b638defb02cafa
tree10b83b442b19ea0159650121890e8867dabd1c34
parentf68053a2fd02ffce7452ed03caf87d5ec72c40d1
HAMMER 51/Many: Filesystem full casework, nohistory flag.

* Track the amount of unsynced information and return ENOSPC if the
  filesystem would become full.  The idea here is to detect that the
  filesystem is full and yet still give the flusher enough runway to
  flush cached dirty data and inodes.

* Implement the NOHISTORY flag.  Implement inheritance of NOHISTORY and
  NODUMP.

  The NOHISTORY flag tells HAMMER not to retain historical information on
  a filesystem object.  If set on a directory any objects created in that
  directory will also inherit the flag.  For example, it could be set
  on /usr/obj.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_flusher.c
sys/vfs/hammer/hammer_freemap.c
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_subs.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer/hammer_vnops.c