DragonFly BSD
DragonFly commits List (threaded) for 2011-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 7 Dec 2011 22:36:06 -0800 (PST)

commit 8f9ba07bf8fc82b831f5600141b0b039548764ee
Author: Matthew Dillon <dillon@apollo.backplane.com>
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
      function.
    
    * 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(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8f9ba07bf8fc82b831f5600141b0b039548764ee


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]