• Joe Thornber's avatar
    dm btree: add ref counting ops for the leaves of top level btrees · f738306b
    Joe Thornber authored
    commit b0dc3c8b upstream.
    
    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: default avatarJoe Thornber <ejt@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    [lizf: Backported to 3.4:
     - drop const
     - drop changes to remove_one()]
    Signed-off-by: default avatarZefan Li <lizefan@huawei.com>
    f738306b
dm-btree.c 17.8 KB