]> git.baikalelectronics.ru Git - kernel.git/commit
dm btree: add ref counting ops for the leaves of top level btrees
authorJoe Thornber <ejt@redhat.com>
Wed, 12 Aug 2015 14:12:09 +0000 (15:12 +0100)
committerMike Snitzer <snitzer@redhat.com>
Wed, 12 Aug 2015 14:50:37 +0000 (10:50 -0400)
commitd51e7fbe916b83dad7554fee4ce1979839aed906
treecce26617905afa50fd19066971f215baa4a19ca3
parent9b6ba2ed0451b1acbd9a4b2a57939352c64467d1
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
drivers/md/persistent-data/dm-btree-internal.h
drivers/md/persistent-data/dm-btree-remove.c
drivers/md/persistent-data/dm-btree-spine.c
drivers/md/persistent-data/dm-btree.c