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 of extents. 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 current. 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. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- [Suspend2][ 01/32] [Suspend2] Block I/O Header File
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 04/32] [Suspend2] Check the io stats.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 10/32] [Suspend2] Wait on readahead.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 09/32] [Suspend2] Wait on a particular page.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 08/32] [Suspend2] Finish and cleanup all outstanding I/O.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 07/32] [Suspend2] Wait for bio completion.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 18/32] [Suspend2] Prepare to do i/o on a page.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 06/32] [Suspend2] Cleanup some completed I/O
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 17/32] [Suspend2] Get an io_info struct.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 16/32] [Suspend2] Add page io to a batch.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 19/32] [Suspend2] Do i/o on a page.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 15/32] [Suspend2] Submit batched i/o.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 13/32] [Suspend2] Suspend bio completion.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 22/32] [Suspend2] Move forward extra blocks in a page.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 11/32] [Suspend2] Test whether readahead is ready.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 20/32] [Suspend2] Return memory needed for block io.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 12/32] [Suspend2] Prepare & cleanup readahead pages.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 27/32] [Suspend2] Init and cleanup routines for pageset i/o.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 28/32] [Suspend2] Write a page in the image proper.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 31/32] [Suspend2] Suspend block io ops.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 25/32] [Suspend2] Do io on a page in the image proper.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 26/32] [Suspend2] Read a page of the image.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 32/32] [Suspend2] Module ops for the block i/o functions.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 24/32] [Suspend2] Set extra page forward flag.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 23/32] [Suspend2] Advance one page in the extent state.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 30/32] [Suspend2] Finish writing an image header.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 29/32] [Suspend2] Read or write a chunk of the header.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 21/32] [Suspend2] Set device info.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 14/32] [Suspend2] Submit io on a page.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 05/32] [Suspend2] Cleanup one page.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 03/32] [Suspend2] Reset block io stats.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 02/32] [Suspend2] Block io c file header.
- From: Nigel Cunningham <[email protected]>
- [Suspend2][ 01/32] [Suspend2] Block I/O Header File
- Prev by Date: [Suspend2][ 10/32] [Suspend2] Wait on readahead.
- Next by Date: Re: [Suspend2][] [Suspend2] Dynamically allocated pageflags
- Previous by thread: [Suspend2][ 00/35] Filewriter
- Next by thread: [Suspend2][ 02/32] [Suspend2] Block io c file header.
- Index(es):