Kernel support for HAMMER:
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 14 Jul 2008 03:09:00 +0000 (03:09 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 14 Jul 2008 03:09:00 +0000 (03:09 +0000)
commitb77cfc40ba38182719933bf63e94906aee841cdb
treef037bb7db3334486e76189c8ae2aeccc3cfe3b14
parent34ba3f533a245e2226df05f3261aa00480ad94b7
Kernel support for HAMMER:

* Add another type to the bio->bio_caller_info1 union

* Add two new flags to getblk(), used by the cluster code.

  GETBLK_SZMATCH - Tell getblk() to fail and return NULL if a
  pre-existing buffer's size does not match
  the requested size (this prevents getblk()
  from doing a potentially undesired bwrite()
  sequence).

  GETBLK_NOWAIT - Tell getblk() to use a non-blocking lock.

* pop_bio() now returns the previous BIO (or NULL if there is no previous
  BIO).  This allows HAMMER to chain bio_done()'s

* Fix a bug in cluster_read().  The cluster code's read-ahead at the
  end could go past the caller-specified limit and force a block to
  the wrong block size.
sys/kern/vfs_bio.c
sys/kern/vfs_cluster.c
sys/sys/bio.h
sys/sys/buf.h