git: kernel - Support bdwrite() on tmpfs buffer cache buffers

Matthew Dillon dillon at
Wed Dec 7 22:36:29 PST 2011

commit 8f9ba07bf8fc82b831f5600141b0b039548764ee
Author: Matthew Dillon <dillon at>
Date:   Wed Dec 7 22:32:33 2011 -0800

    kernel - Support bdwrite() on tmpfs buffer cache buffers
    * tmpfs itself does not call bdwrite() when no swap space has been
      allocated but certain system side effects such as nvtruncbuf()
      when a file is truncated CAN cause bdwrite() to be called.
      This eventually causes the buffer to run through tmpfs's strategy
    * Adjust the strategy function to handle the no-swap case by marking
      the underlying pages dirty and valid and completing the I/O.
    * Also handle the case when swap exists but fills up.  If the
      swap_strategy() function fails with ENOMEM fall-back to again
      marking the pages dirty andvalid and completing the I/O.
      This allows tmpfs to fill up to the system's total memory+swap instead
      of just the system's swap.

Summary of changes:
 sys/vfs/tmpfs/tmpfs_vnops.c |   59 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 56 insertions(+), 3 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list