[dm-devel] dmcache RAID1 bug?

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


On Thu, Nov 20, 2014 at 02:04:26PM +0000, Joe Thornber wrote:
> 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?

Ignore me, there's another check for !pb->all_io_entry.




More information about the dm-devel mailing list