|| ||Nigel Cunningham <firstname.lastname@example.org>|
|| ||[Suspend2][ 00/32] Block i/o patches.|
|| ||Tue, 27 Jun 2006 08:37:06 +1000|
This set of patches contains routines in kernel/power/block_io.c.
The routines use struct block_device * pointers and lists of blocks
for each block_device. The blocks, in turn, are stored as chains
Multiple swap devices can thus be supported trivially, and the
position at which each part of the image starts can be described
in terms of which device/chain is used, what actual value we're
sitting on and (for optimisation) which extent in the chain is
On top of this, we implement support for asynchronous I/O and
readahead when synchronous I/O is required (ie when reading
compressed data at resume time).
The swapwriter and filewriter can then use a really simple
interface where they don't have to worry at all about what
device or block is the target.
Oh, and we handle variable blocksizes too.