[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] block: Handle multiwrite errors only when a
From: |
Christoph Hellwig |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] block: Handle multiwrite errors only when all requests have completed |
Date: |
Fri, 2 Jul 2010 11:40:36 +0200 |
User-agent: |
Mutt/1.3.28i |
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.