Commit 80ddf247c84fbd7f4371dd15bbbff0adb44a8708

Authored by Martin K. Petersen
Committed by Jens Axboe
1 parent 9f792d9f58

block: Set max_sectors correctly for stacking devices

The topology changes unintentionally caused SAFE_MAX_SECTORS to be set
for stacking devices.  Set the default limit to BLK_DEF_MAX_SECTORS and
provide SAFE_MAX_SECTORS in blk_queue_make_request() for legacy hw
drivers that depend on the old behavior.

Acked-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

Showing 1 changed file with 2 additions and 1 deletions Side-by-side Diff

block/blk-settings.c
... ... @@ -111,7 +111,7 @@
111 111 lim->max_hw_segments = MAX_HW_SEGMENTS;
112 112 lim->seg_boundary_mask = BLK_SEG_BOUNDARY_MASK;
113 113 lim->max_segment_size = MAX_SEGMENT_SIZE;
114   - lim->max_sectors = lim->max_hw_sectors = SAFE_MAX_SECTORS;
  114 + lim->max_sectors = lim->max_hw_sectors = BLK_DEF_MAX_SECTORS;
115 115 lim->logical_block_size = lim->physical_block_size = lim->io_min = 512;
116 116 lim->bounce_pfn = (unsigned long)(BLK_BOUNCE_ANY >> PAGE_SHIFT);
117 117 lim->alignment_offset = 0;
... ... @@ -164,6 +164,7 @@
164 164 q->unplug_timer.data = (unsigned long)q;
165 165  
166 166 blk_set_default_limits(&q->limits);
  167 + blk_queue_max_sectors(q, SAFE_MAX_SECTORS);
167 168  
168 169 /*
169 170 * If the caller didn't supply a lock, fall back to our embedded