]> git.proxmox.com Git - mirror_ubuntu-bionic-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)
commit2df3bae9a6543e90042291707b8db0cbfbae9ee9
treec6f6fc8506e3d0cc38f882de23497f3961f70e4e
parent8e3c3827776fc93728c0c8d7c7b731226dc6ee23
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