summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2015-01-23 10:00:07 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-01-29 17:40:55 -0800
commit5b39b457f9d9fda92ddbebf92d1bb94213ae1c5a (patch)
tree4bb6e5fbd4e12510b7c5d638661d05917bd74e1d /include
parent7f8e9beb905e75b5c2baeb0b88d6e417610634c3 (diff)
dm cache: share cache-metadata object across inactive and active DM tables
commit 9b1cc9f251affdd27f29fe46d0989ba76c33faf6 upstream. If a DM table is reloaded with an inactive table when the device is not suspended (normal procedure for LVM2), then there will be two dm-bufio objects that can diverge. This can lead to a situation where the inactive table uses bufio to read metadata at the same time the active table writes metadata -- resulting in the inactive table having stale metadata buffers once it is promoted to the active table slot. Fix this by using reference counting and a global list of cache metadata objects to ensure there is only one metadata object per metadata device. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions