]> git.baikalelectronics.ru Git - kernel.git/commit
rbd: initial discard bits from Guangliang Zhao
authorGuangliang Zhao <lucienchao@gmail.com>
Tue, 1 Apr 2014 14:22:16 +0000 (22:22 +0800)
committerIlya Dryomov <idryomov@redhat.com>
Tue, 14 Oct 2014 17:03:31 +0000 (21:03 +0400)
commit0bed804a67b65b4a7e651f6a5ae14c2755a43dbd
treebf0b039cc39d8fbff1b69429d8dd9489df65e939
parenta05432f109177f7a725014066adb0a0563dd19f5
rbd: initial discard bits from Guangliang Zhao

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: Guangliang Zhao <lucienchao@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Alex Elder <elder@linaro.org>
drivers/block/rbd.c