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