[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