From: Mike Snitzer <snitzer@redhat.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: device-mapper development <dm-devel@redhat.com>,
Heinz Mauelshagen <heinzm@redhat.com>,
Randy Dunlap <rdunlap@infradead.org>,
linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
Joe Thornber <ejt@redhat.com>,
Mikulas Patocka <mpatocka@redhat.com>,
Paul Taysom <taysom@chromium.org>
Subject: Re: dm: dm-cache fails to write the cache device in writethrough mode
Date: Fri, 22 Mar 2013 23:27:16 -0400 [thread overview]
Message-ID: <20130323032715.GA7692@redhat.com> (raw)
In-Reply-To: <20130322231600.GD5357@blackbox.djwong.org>
On Fri, Mar 22 2013 at 7:16pm -0400,
Darrick J. Wong <darrick.wong@oracle.com> wrote:
> On Fri, Mar 22, 2013 at 06:34:28PM -0400, Mike Snitzer wrote:
> > On Fri, Mar 22 2013 at 4:11pm -0400,
> > Darrick J. Wong <darrick.wong@oracle.com> wrote:
> >
> > > The new writethrough strategy for dm-cache issues a bio to the origin device,
> > > remaps the bio to the cache device, and issues the bio to the cache device.
> > > However, the block layer modifies bi_sector and bi_size, so we need to preserve
> > > these or else nothing gets written to the cache (bi_size == 0). This fixes the
> > > problem where someone writes a block through the cache, but a subsequent reread
> > > (from the cache) returns old contents.
> >
> > Your writethrough blkid test results are certainly strange. But I'm not
> > aware of where the block layer would modify bi_size and bi_sector;
> > please elaborate.
> >
> > I cannot reproduce your original report. I developed
> > 'test_writethrough_ext4_uuids_match', apologies for the ruby code:
>
> Hmm... I'm building my kernels off 0a7e453103b9718d357688b83bb968ee108cc874 in
> Linus' tree (post 3.9-rc3). This is the full output of dmsetup table:
>
> moocache-blocks: 0 1039360 linear 8:16 9088
> moocache-metadata: 0 8704 linear 8:16 384
> moocache: 0 67108864 cache 253:0 253:1 8:0 512 1 writethrough default 4 random_threshold 4 sequential_threshold 32768
>
> 253:0 -> moocache-metadata and 253:1 -> moocache-blocks.
>
> I'm curious what your setup is...
Here are the tables:
test-dev-238267: 0 8192 linear /dev/stec/metadata 0
test-dev-255913: 0 2097152 linear /dev/stec/metadata 8192
test-dev-655144: 0 20480 linear /dev/spindle/data 0
0 20480 cache /dev/mapper/test-dev-238267 /dev/mapper/test-dev-255913 /dev/mapper/test-dev-655144 512 1 writethrough default 0
And I tweaked 'test_writethrough_ext4_uuids_match' to make sure to use the
same thresholds you're using, full status output:
0 20480 cache 15/1024 0 19 0 0 0 0 0 0 1 writethrough 2 migration_threshold 32768 4 random_threshold 4 sequential_threshold 512
So the big difference is the thinp-test-suite uses intermediate linear
DM layers above the slower sd device (spindle/data) -- whereas in your
setup the origin device is direct to sd (8:0).
I'll re-run with the origin directly on sd in the morning and will
report back.
next prev parent reply other threads:[~2013-03-23 3:27 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-22 20:11 [PATCH] dm: dm-cache fails to write the cache device in writethrough mode Darrick J. Wong
2013-03-22 20:21 ` Ben Hutchings
2013-03-22 20:50 ` Darrick J. Wong
2013-03-22 21:35 ` Mike Snitzer
2013-03-22 22:34 ` Mike Snitzer
2013-03-22 23:16 ` [dm-devel] " Darrick J. Wong
2013-03-23 3:27 ` Mike Snitzer [this message]
2013-03-23 3:48 ` Alasdair G Kergon
2013-03-23 5:15 ` Darrick J. Wong
2013-03-23 21:08 ` Mike Snitzer
2013-03-23 22:56 ` Mike Snitzer
2013-03-25 23:59 ` [PATCH v2] dm cache: fix writes to " Mike Snitzer
2013-03-23 21:13 ` [dm-devel] dm: dm-cache fails to write the " Alasdair G Kergon
2013-03-23 3:00 ` [dm-devel] [PATCH] " Alasdair G Kergon
2013-03-25 10:28 ` Joe Thornber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130323032715.GA7692@redhat.com \
--to=snitzer@redhat.com \
--cc=darrick.wong@oracle.com \
--cc=dm-devel@redhat.com \
--cc=ejt@redhat.com \
--cc=heinzm@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=rdunlap@infradead.org \
--cc=taysom@chromium.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.