DragonFly commits List (threaded) for 2011-12
git: kernel - Support bdwrite() on tmpfs buffer cache buffers
Author: Matthew Dillon <email@example.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
* 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