Revision 9b1cc9f251affdd27f29fe46d0989ba76c33faf6 authored by Joe Thornber on 23 January 2015, 10:00:07 UTC, committed by Mike Snitzer on 23 January 2015, 15:57:15 UTC
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>
Cc: stable@vger.kernel.org
1 parent 5164bec
History
File Mode Size
.gitignore -rw-r--r-- 151 bytes
Kconfig -rw-r--r-- 2.9 KB
Makefile -rw-r--r-- 2.3 KB
gen_init_cpio.c -rw-r--r-- 12.7 KB
initramfs_data.S -rw-r--r-- 1.3 KB

back to top