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-- 88 bytes
Kconfig -rw-r--r-- 14.1 KB
Makefile -rw-r--r-- 981 bytes
adummy.c -rw-r--r-- 4.0 KB
ambassador.c -rw-r--r-- 66.1 KB
ambassador.h -rw-r--r-- 15.8 KB
atmtcp.c -rw-r--r-- 11.4 KB
eni.c -rw-r--r-- 61.2 KB
eni.h -rw-r--r-- 4.6 KB
firestream.c -rw-r--r-- 54.0 KB
firestream.h -rw-r--r-- 14.6 KB
fore200e.c -rw-r--r-- 88.5 KB
fore200e.h -rw-r--r-- 38.6 KB
he.c -rw-r--r-- 75.9 KB
he.h -rw-r--r-- 19.8 KB
horizon.c -rw-r--r-- 83.8 KB
horizon.h -rw-r--r-- 16.7 KB
idt77105.c -rw-r--r-- 11.4 KB
idt77105.h -rw-r--r-- 3.7 KB
idt77252.c -rw-r--r-- 89.6 KB
idt77252.h -rw-r--r-- 33.6 KB
idt77252_tables.h -rw-r--r-- 44.9 KB
iphase.c -rw-r--r-- 108.0 KB
iphase.h -rw-r--r-- 53.4 KB
lanai.c -rw-r--r-- 81.0 KB
midway.h -rw-r--r-- 7.5 KB
nicstar.c -rw-r--r-- 74.6 KB
nicstar.h -rw-r--r-- 22.9 KB
nicstarmac.c -rw-r--r-- 6.0 KB
nicstarmac.copyright -rw-r--r-- 2.7 KB
solos-attrlist.c -rw-r--r-- 2.2 KB
solos-pci.c -rw-r--r-- 38.9 KB
suni.c -rw-r--r-- 9.8 KB
suni.h -rw-r--r-- 9.7 KB
tonga.h -rw-r--r-- 694 bytes
uPD98401.h -rw-r--r-- 11.7 KB
uPD98402.c -rw-r--r-- 6.5 KB
uPD98402.h -rw-r--r-- 4.4 KB
zatm.c -rw-r--r-- 43.3 KB
zatm.h -rw-r--r-- 3.5 KB
zeprom.h -rw-r--r-- 944 bytes

back to top