OpenCloudOS-Kernel/drivers/md/persistent-data
Joe Thornber b0dc3c8bc1 dm btree: add ref counting ops for the leaves of top level btrees
When using nested btrees, the top leaves of the top levels contain
block addresses for the root of the next tree down.  If we shadow a
shared leaf node the leaf values (sub tree roots) should be incremented
accordingly.

This is only an issue if there is metadata sharing in the top levels.
Which only occurs if metadata snapshots are being used (as is possible
with dm-thinp).  And could result in a block from the thinp metadata
snap being reused early, thus corrupting the thinp metadata snap.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org
2015-08-12 10:50:37 -04:00
..
Kconfig kconfig: use bool instead of boolean for type definition attributes 2015-01-07 13:08:04 +01:00
Makefile dm persistent data: add bitset 2013-03-01 22:45:51 +00:00
dm-array.c dm array: if resizing the array is a noop set the new root to the old one 2014-12-01 11:30:07 -05:00
dm-array.h dm persistent data: add transactional array 2013-03-01 22:45:51 +00:00
dm-bitset.c dm bitset: only flush the current word if it has been dirtied 2014-03-27 16:56:23 -04:00
dm-bitset.h dm bitset: only flush the current word if it has been dirtied 2014-03-27 16:56:23 -04:00
dm-block-manager.c dm thin metadata: remove in-core 'read_only' flag 2015-05-29 14:18:59 -04:00
dm-block-manager.h dm thin metadata: remove in-core 'read_only' flag 2015-05-29 14:18:59 -04:00
dm-btree-internal.h dm btree: add ref counting ops for the leaves of top level btrees 2015-08-12 10:50:37 -04:00
dm-btree-remove.c dm btree: add ref counting ops for the leaves of top level btrees 2015-08-12 10:50:37 -04:00
dm-btree-spine.c dm btree: add ref counting ops for the leaves of top level btrees 2015-08-12 10:50:37 -04:00
dm-btree.c dm btree: add ref counting ops for the leaves of top level btrees 2015-08-12 10:50:37 -04:00
dm-btree.h dm btree: add dm_btree_remove_leaves() 2015-06-11 17:13:03 -04:00
dm-persistent-data-internal.h dm: add persistent data library 2011-10-31 20:19:11 +00:00
dm-space-map-common.c dm space map common: make sure new space is used during extend 2014-01-07 21:05:17 -05:00
dm-space-map-common.h dm persistent data: only commit space map if index changed 2012-07-27 15:08:06 +01:00
dm-space-map-disk.c dm space map disk: fix sm_disk_count_is_more_than_one() 2015-02-13 19:32:58 -05:00
dm-space-map-disk.h dm: add persistent data library 2011-10-31 20:19:11 +00:00
dm-space-map-metadata.c dm space map metadata: fix occasional leak of a metadata block on resize 2015-06-17 10:09:23 -04:00
dm-space-map-metadata.h dm thin: allow metadata space larger than supported to go unused 2014-02-27 11:49:08 -05:00
dm-space-map.h dm persistent data: add threshold callback to space map 2013-05-10 14:37:20 +01:00
dm-transaction-manager.c dm transaction manager: add support for prefetching blocks of metadata 2014-11-10 15:25:26 -05:00
dm-transaction-manager.h dm transaction manager: add support for prefetching blocks of metadata 2014-11-10 15:25:26 -05:00