[dm-devel] dmcache RAID1 bug?

Joe Thornber thornber at redhat.com
Thu Nov 20 14:04:26 UTC 2014


On Wed, Nov 19, 2014 at 07:39:44PM -0200, Leonardo Santos wrote:
> After run regression tests using 'git bisect', I identify that the error
> was created after commit 8c081b52c6833a30a69ea3bdcef316eccc740c87
> 
> To reproduce this error just:
> - create a raid1 HDDs for origin device;
> - create a cache device with SSDs (could or not be raid)
> - create a metadata device with SSDs (could or not be raid)
> - create a cache device using prior devices
> - kernel crashes.
> 
> @@ -1115,8 +1142,7 @@ static void check_for_quiesced_migrations(struct cache *cache,
>  		return;
>  
>  	INIT_LIST_HEAD(&work);
> -	if (pb->all_io_entry)
> -		dm_deferred_entry_dec(pb->all_io_entry, &work);
> +	dm_deferred_entry_dec(pb->all_io_entry, &work);
>  
>  	if (!list_empty(&work))
>  		queue_quiesced_migrations(cache, &work);

This looks suspicious, I believe the all_io_entry is not set if the io
covers a complete block.  Any chance you could test with this fragment
backed out please?

- Joe




More information about the dm-devel mailing list