• Mike Snitzer's avatar
    dm thin: fix discard support for data devices · 0424caa1
    Mike Snitzer authored
    The discard limits that get established for a thin-pool or thin device
    may be incompatible with the pool's data device.  Avoid this by checking
    the discard limits of the pool's data device.  If an incompatibility is
    found then the pool's 'discard passdown' feature is disabled.
    
    Change thin_io_hints to ensure that a thin device always uses the same
    queue limits as its pool device.
    
    Introduce requested_pf to track whether or not the table line originally
    contained the no_discard_passdown flag and use this directly for table
    output.  We prepare the correct setting for discard_passdown directly in
    bind_control_target (called from pool_io_hints) and store it in
    adjusted_pf rather than waiting until we have access to pool->pf in
    pool_preresume.
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    0424caa1
dm-thin.c 75.8 KB