• Guangliang Zhao's avatar
    rbd: initial discard bits from Guangliang Zhao · 90e98c52
    Guangliang Zhao authored
    This patch add the discard support for rbd driver.
    
    There are three types operation in the driver:
    1. The objects would be removed if they completely contained
       within the discard range.
    2. The objects would be truncated if they partly contained within
       the discard range, and align with their boundary.
    3. Others would be zeroed.
    
    A discard request from blkdev_issue_discard() is defined which
    REQ_WRITE and REQ_DISCARD both marked and no data, so we must
    check the REQ_DISCARD first when getting the request type.
    
    This resolve:
    	http://tracker.ceph.com/issues/190
    
    [ Ilya Dryomov: This is incomplete and somewhat buggy, see follow up
      commits by Josh Durgin for refinements and fixes which weren't
      folded in to preserve authorship. ]
    Signed-off-by: default avatarGuangliang Zhao <lucienchao@gmail.com>
    Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
    Reviewed-by: default avatarAlex Elder <elder@linaro.org>
    90e98c52
rbd.c 145 KB