• J
    dm thin: support discards · 104655fd
    Joe Thornber 提交于
    Support discards in the thin target.
    
    On discard the corresponding mapping(s) are removed from the thin
    device.  If the associated block(s) are no longer shared the discard
    is passed to the underlying device.
    
    All bios other than discards now have an associated deferred_entry
    that is saved to the 'all_io_entry' in endio_hook.  When non-discard
    IO completes and associated mappings are quiesced any discards that
    were deferred, via ds_add_work() in process_discard(), will be queued
    for processing by the worker thread.
    Signed-off-by: NJoe Thornber <ejt@redhat.com>
    Signed-off-by: NMike Snitzer <snitzer@redhat.com>
    Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
    
    drivers/md/dm-thin.c |  173 ++++++++++++++++++++++++++++++++++++++++++++++----
     drivers/md/dm-thin.c |  172 ++++++++++++++++++++++++++++++++++++++++++++++-----
     1 file changed, 158 insertions(+), 14 deletions(-)
    104655fd
dm-thin.c 63.1 KB