Am 30.01.2012 23:29, schrieb Alexander Graf:
> bdrv_aio_cancel() can trigger bdrv_aio_flush() which makes all aio
> that is currently in flight finish. So what we do is:
> 
>   port reset
>   detect ncq in flight
>   cancel ncq
>   delete ncq sg list
> 
> at which point we have double freed the sg list. Instead, with this
> patch we do:
> 
>   port reset
>   detect ncq in flight
>   cancel ncq
>   check if we are really still in flight
>   delete ncq sg list
> 
> which makes things work and gets rid of the race.
> 
> Signed-off-by: Alexander Graf <ag...@suse.de>

Thanks, applied to the block branch.

Kevin

Reply via email to