forked from mirrors/linux
		
	dm thin: disable discard support for thin devices if pool's is disabled
If the pool is configured with 'ignore_discard' its discard support is
disabled.  The pool's thin devices should also have queue_limits that
reflect discards are disabled.
Fixes: 34fbcf62 ("dm thin: range discard support")
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org # 4.1+
			
			
This commit is contained in:
		
							parent
							
								
									6ff33f3902
								
							
						
					
					
						commit
						216076705d
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		|  | @ -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 */ | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Mike Snitzer
						Mike Snitzer