summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_sglist.c
Commit message (Collapse)AuthorAgeFilesLines
* This patch fixes two bugs in sglist(9) and improves robustness of the API viajhb2009-08-211-16/+74
| | | | | | | | | | | | | | | | better semantics if a request to append an address range to an existing list fails. - When cloning an sglist, properly set the length in the new sglist instead of leaving the new list empty. - Properly compute the amount of data added to an sglist via _sglist_append_buf(). This allows sglist_consume_uio() to properly update uio_resid. - When a request to append an address range to a scatter/gather list fails, restore the sglist to the state it had at the start of the function call instead of resetting it to an empty list. Requested by: np (3) Approved by: re (kib)
* Change the 'resid' parameter to sglist_consume_uio() from an int to ajhb2009-08-201-1/+1
| | | | | | | size_t to match the recent type change of the uio_resid member of struct uio. Approved by: re (kib)
* Add a simple API to manage scatter/gather lists of phyiscal addresses.jhb2009-06-011-0/+656
Each list describes a logical memory object that is backed by one or more physical address ranges. To minimize locking, the sglist objects themselves are immutable once they are shared. These objects may be used in the future to facilitate I/O requests using physically-addressed buffers. For the immediate future I plan to use them to implement a new type of VM object and pager. Reviewed by: jeff, scottl MFC after: 1 month
OpenPOWER on IntegriCloud