diff options
author | Joe Thornber <ejt@redhat.com> | 2015-01-23 10:00:07 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-01-29 17:40:49 -0800 |
commit | 90e6c435b7f08718f7c5394bd18c42355ac70ec2 (patch) | |
tree | 8ccd84666e131fbc3e395b63cea115b0cba6689c /security | |
parent | e614e0c6e088c4066b3118a8c1d228b54fff33fb (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 'security')
0 files changed, 0 insertions, 0 deletions