fsync - Add sysctl to relax fsync requirements.
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 24 Aug 2009 15:16:14 +0000 (08:16 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 24 Aug 2009 15:16:14 +0000 (08:16 -0700)
commit6f3d87c0090b53820d5f8ea1a7b2bbb8fd476abb
tree71a673a5e232b4e6fb51f35a220649aeb2be1cb5
parent52174f7139d0f8a7dbe74d17c8a2b1f9a6711adb
fsync - Add sysctl to relax fsync requirements.

* sysctl vfs.hammer.fsync_mode (defaults to 0 == full fsync semantics).

0 - full fsync semantics
1 - asynchronous
2 - synchronous fsync on close if fsync called prior to close
3 - asynchronous fsync on close if fsync called prior to close
4 - ignore fsync (30-second system sync takes care of it)

* This is likely a temporary measure until HAMMER gets a REDO log.
  It is mainly to facilitate testing and to reduce the pounding
  disks take from pkgsrc bulk builds (pkg_add seems to insist on
  calling fsync() a lot for no reason).
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer/hammer_vnops.c