• Joe Thornber's avatar
    dm thin: replace dm_cell_release_singleton with cell_defer_except · b7ca9c92
    Joe Thornber authored
    Change existing users of the function dm_cell_release_singleton to share
    cell_defer_except instead, and then remove the now-unused function.
    
    Everywhere that calls dm_cell_release_singleton, the bio in question
    is the holder of the cell.
    
    If there are no non-holder entries in the cell then cell_defer_except
    behaves exactly like dm_cell_release_singleton.  Conversely, if there
    *are* non-holder entries then dm_cell_release_singleton must not be used
    because those entries would need to be deferred.
    
    Consequently, it is safe to replace use of dm_cell_release_singleton
    with cell_defer_except.
    
    This patch is a pre-requisite for "dm thin: fix race between
    simultaneous io and discards to same block".
    Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    b7ca9c92
dm-thin.c 67.6 KB