summaryrefslogtreecommitdiffstats
path: root/drivers/block/rbd.c
diff options
context:
space:
mode:
authorJosh Durgin <josh.durgin@inktank.com>2014-04-05 02:49:12 +0200
committerIlya Dryomov <idryomov@redhat.com>2014-10-14 19:03:34 +0200
commit1c220881e307b62cc2f77d911219de332aa3f61e (patch)
tree6ce1baba2f79c5560f2a531fa7b6560702787250 /drivers/block/rbd.c
parentrbd: tolerate -ENOENT for discard operations (diff)
downloadlinux-1c220881e307b62cc2f77d911219de332aa3f61e.tar.xz
linux-1c220881e307b62cc2f77d911219de332aa3f61e.zip
rbd: make discard trigger copy-on-write
Discard requests are a form of write, so they should go through the same process as plain write requests and trigger copy-on-write for layered images. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to '')
-rw-r--r--drivers/block/rbd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 835a96a09a6b..6fb93cd6957f 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2851,7 +2851,8 @@ static bool img_obj_request_simple(struct rbd_obj_request *obj_request)
rbd_dev = img_request->rbd_dev;
/* Reads */
- if (!img_request_write_test(img_request))
+ if (!img_request_write_test(img_request) &&
+ !img_request_discard_test(img_request))
return true;
/* Non-layered writes */