From: Mike Snitzer <snitzer@redhat.com>
To: Joe Thornber <ejt@redhat.com>
Cc: dm-devel@redhat.com
Subject: Re: [PATCH 5/8] [dm-thin] Fix a race condition between discard bios and ordinary bios.
Date: Fri, 14 Dec 2012 10:52:22 -0500 [thread overview]
Message-ID: <20121214155222.GA1145@redhat.com> (raw)
In-Reply-To: <1355429956-22785-6-git-send-email-ejt@redhat.com>
On Thu, Dec 13 2012 at 3:19pm -0500,
Joe Thornber <ejt@redhat.com> wrote:
> The deferred_set entries should not be incremented until the bio
> prison cells are held. Otherwise quiescing a block for discard may
> end up waiting for a bio that's held in the discard bios cell.
This patch's subject and header needs help. We've already fixed the
race with discards and normal bios in an earlier patch:
https://www.redhat.com/archives/dm-devel/2012-December/msg00010.html
This patch is purely about adapting dm-thin to use the new bio-prison
interface where the memory is now passed in rather than using a mempool
in bio-prison. Two preallocated cells are now included in struct
thin_c; this allows the map function to not block performing allocations
(we want to avoid the cell allocation that is done in bio_detain).
The thin_c is allocated once in the constructor (thin_ctr). Because the
thin_c is a shared resource, access to its cells must be serialized
using a new spinlock.
(NOTE: elevating the dm_bio_prison_cell structure from dm-bio-prison.c
to dm-bio-prison.h really should be part of this patch -- rather than
the previous patch).
next prev parent reply other threads:[~2012-12-14 15:52 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-13 20:19 Another cache target Joe Thornber
2012-12-13 20:19 ` [PATCH 1/8] [persistent-data] Fix a bug in btree_del, and another bug that was compensating for it Joe Thornber
2012-12-13 20:19 ` [PATCH 2/8] [persistent-data] dm_btree_walk Joe Thornber
2012-12-13 20:19 ` [PATCH 3/8] [persistent-data] tweak an error message Joe Thornber
2012-12-13 20:19 ` [PATCH 4/8] [dm-bio-prison] Change the bio-prison interface so the memory for the cells is passed in Joe Thornber
2013-01-14 10:02 ` Alasdair G Kergon
2013-01-14 14:06 ` thornber
2013-01-14 14:22 ` Alasdair G Kergon
2013-01-21 23:32 ` Alasdair G Kergon
2013-01-22 11:31 ` thornber
2013-01-22 12:10 ` Alasdair G Kergon
2012-12-13 20:19 ` [PATCH 5/8] [dm-thin] Fix a race condition between discard bios and ordinary bios Joe Thornber
2012-12-14 15:52 ` Mike Snitzer [this message]
2013-01-22 0:03 ` Alasdair G Kergon
2013-01-24 2:35 ` Alasdair G Kergon
2013-01-24 13:23 ` thornber
2013-02-06 0:11 ` Mikulas Patocka
2013-02-07 11:20 ` thornber
2012-12-13 20:19 ` [PATCH 6/8] [persistent-data] Add a transactional array Joe Thornber
2013-01-22 21:18 ` Alasdair G Kergon
2013-01-23 12:07 ` thornber
2013-01-25 20:11 ` Alasdair G Kergon
2013-01-28 13:06 ` thornber
2013-01-28 20:25 ` Alasdair G Kergon
2013-01-28 14:57 ` thornber
2013-01-28 20:22 ` Alasdair G Kergon
2012-12-13 20:19 ` [PATCH 7/8] [persistent-data] transactional bitset Joe Thornber
2013-01-22 21:59 ` Alasdair G Kergon
2012-12-13 20:19 ` [PATCH 8/8] [dm-cache] cache target Joe Thornber
2012-12-14 0:17 ` Darrick J. Wong
2012-12-14 10:09 ` thornber
2013-02-12 15:27 ` Alasdair G Kergon
2013-02-12 16:40 ` Alasdair G Kergon
2013-02-12 17:29 ` Alasdair G Kergon
2013-02-14 13:57 ` Joe Thornber
2013-02-14 14:05 ` Joe Thornber
2013-02-14 21:06 ` Alasdair G Kergon
2012-12-13 21:57 ` Another " Mike Snitzer
2012-12-14 1:16 ` Darrick J. Wong
2012-12-14 2:19 ` Mike Snitzer
2012-12-14 2:27 ` Mike Snitzer
2012-12-14 2:42 ` Darrick J. Wong
2012-12-14 4:23 ` Mike Snitzer
2012-12-14 2:34 ` Darrick J. Wong
2012-12-14 10:24 ` thornber
2012-12-14 12:11 ` thornber
2012-12-14 21:51 ` Darrick J. Wong
2012-12-15 8:23 ` Joe Thornber
2012-12-18 1:49 ` Darrick J. Wong
2012-12-18 2:31 ` Alasdair G Kergon
2013-01-08 0:19 ` Darrick J. Wong
2013-01-08 13:55 ` thornber
2012-12-22 18:50 ` Mark Hills
2012-12-17 16:54 ` Heinz Mauelshagen
2012-12-18 15:44 ` basic cache policy module fix [was: Re: Another cache target] Mike Snitzer
2012-12-20 1:14 ` Darrick J. Wong
2012-12-20 12:57 ` Heinz Mauelshagen
2012-12-20 13:24 ` Mike Snitzer
2012-12-20 16:10 ` Darrick J. Wong
2012-12-20 17:02 ` Heinz Mauelshagen
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=20121214155222.GA1145@redhat.com \
--to=snitzer@redhat.com \
--cc=dm-devel@redhat.com \
--cc=ejt@redhat.com \
/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.