On Thu, Jul 01, 2010 at 04:31:58PM +0200, Kevin Wolf wrote: > Don't try to be clever by freeing all temporary data and calling all callbacks > when the return value (an error) is certain. Doing so has at least two > important problems: > > * The temporary data that is freed (qiov, possibly zero buffer) is still used > by the requests that have not yet completed. > * Calling the callbacks for all requests in the multiwrite means for the > caller > that it may free buffers etc. which are still in use. > > Just remember the error value and do the cleanup when all requests have > completed.
Looks good.