aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2015-09-11 10:56:17 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2015-09-11 10:56:17 +1000
commitde0ba0f18d48b24afbe6f1cc2782ba60313d8d74 (patch)
tree605085b4c24806aef32b508b0f515d18a4987b69
parent0c8c76df5eb17074a327b0232c3bd3a5bfe50db7 (diff)
parent9efb520a57f13b92b5a0f0e526caa32489657465 (diff)
Merge remote-tracking branch 'device-mapper/for-next'
-rw-r--r--drivers/md/dm-thin.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index 6578b7bc1fbb..6fcbfb063366 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -4249,6 +4249,10 @@ static void thin_io_hints(struct dm_target *ti, struct queue_limits *limits)
{
struct thin_c *tc = ti->private;
struct pool *pool = tc->pool;
+ struct queue_limits *pool_limits = dm_get_queue_limits(pool->pool_md);
+
+ if (!pool_limits->discard_granularity)
+ return; /* pool's discard support is disabled */
limits->discard_granularity = pool->sectors_per_block << SECTOR_SHIFT;
limits->max_discard_sectors = 2048 * 1024 * 16; /* 16G */