[dm-devel] [PATCH] dm-writecache: validate block size against devices' logical block size

Mikulas Patocka mpatocka at redhat.com
Wed Apr 15 15:08:31 UTC 2020


Test if dm-writecache block size is smaller than devices' logical block
size and reject target load in that case.

Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>

---
 drivers/md/dm-writecache.c |    6 ++++++
 1 file changed, 6 insertions(+)

Index: linux-2.6/drivers/md/dm-writecache.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-writecache.c	2020-04-15 16:53:35.000000000 +0200
+++ linux-2.6/drivers/md/dm-writecache.c	2020-04-15 17:05:34.000000000 +0200
@@ -2128,6 +2128,12 @@ static int writecache_ctr(struct dm_targ
 		ti->error = "Invalid block size";
 		goto bad;
 	}
+	if (wc->block_size < bdev_logical_block_size(wc->dev->bdev) ||
+	    wc->block_size < bdev_logical_block_size(wc->ssd_dev->bdev)) {
+		r = -EINVAL;
+		ti->error = "Block size is smaller than device logical block size";
+		goto bad;
+	}
 	wc->block_size_bits = __ffs(wc->block_size);
 
 	wc->max_writeback_jobs = MAX_WRITEBACK_JOBS;




More information about the dm-devel mailing list