]> git.baikalelectronics.ru Git - kernel.git/commit
dm cache: submit writethrough writes in parallel to origin and cache
authorMike Snitzer <snitzer@redhat.com>
Thu, 19 Oct 2017 21:16:54 +0000 (17:16 -0400)
committerMike Snitzer <snitzer@redhat.com>
Fri, 10 Nov 2017 20:44:47 +0000 (15:44 -0500)
commit5e5801af9c35e533f96207485beb322706a9bd9a
treec6f6fc8506e3d0cc38f882de23497f3961f70e4e
parent1daab7bc299da9e3d914d8f625819315a94996d1
dm cache: submit writethrough writes in parallel to origin and cache

Discontinue issuing writethrough write IO in series to the origin and
then cache.

Use bio_clone_fast() to create a new origin clone bio that will be
mapped to the origin device and then bio_chain() it to the bio that gets
remapped to the cache device.  The origin clone bio does _not_ have a
copy of the per_bio_data -- as such check_if_tick_bio_needed() will not
be called.

The cache bio (parent bio) will not complete until the origin bio has
completed -- this fulfills bio_clone_fast()'s requirements as well as
the requirement to not complete the original IO until the write IO has
completed to both the origin and cache device.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-cache-target.c