diff mbox

[08/11] rbd: make discard trigger copy-on-write

Message ID 64163d8bfafd6d576218cffe5687e23043b4f675.1396987789.git.josh.durgin@inktank.com (mailing list archive)
State New, archived
Headers show

Commit Message

Josh Durgin April 8, 2014, 8:42 p.m. UTC
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>
---
 drivers/block/rbd.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 4f6f48a..78433df 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2755,7 +2755,8 @@  static bool rbd_img_obj_request_simple(struct rbd_obj_request *obj_request)
 	obj_size = (u64) 1 << rbd_dev->header.obj_order;
 
 	/* Read requests didn't need special handling */
-	if (!img_request_write_test(img_request))
+	if (!img_request_write_test(img_request) &&
+		!img_request_discard_test(img_request))
 		return true;
 	/* No-layered writes are simple requests*/
 	if (!img_request_layered_test(img_request))