File tree Expand file tree Collapse file tree 1 file changed +6
-10
lines changed Expand file tree Collapse file tree 1 file changed +6
-10
lines changed Original file line number Diff line number Diff line change @@ -182,17 +182,13 @@ static int blk_validate_limits(struct queue_limits *lim)
182
182
return - EINVAL ;
183
183
184
184
/*
185
- * Devices that require a virtual boundary do not support scatter/gather
186
- * I/O natively, but instead require a descriptor list entry for each
187
- * page (which might not be identical to the Linux PAGE_SIZE). Because
188
- * of that they are not limited by our notion of "segment size".
185
+ * Stacking device may have both virtual boundary and max segment
186
+ * size limit, so allow this setting now, and long-term the two
187
+ * might need to move out of stacking limits since we have immutable
188
+ * bvec and lower layer bio splitting is supposed to handle the two
189
+ * correctly.
189
190
*/
190
- if (lim -> virt_boundary_mask ) {
191
- if (WARN_ON_ONCE (lim -> max_segment_size &&
192
- lim -> max_segment_size != UINT_MAX ))
193
- return - EINVAL ;
194
- lim -> max_segment_size = UINT_MAX ;
195
- } else {
191
+ if (!lim -> virt_boundary_mask ) {
196
192
/*
197
193
* The maximum segment size has an odd historic 64k default that
198
194
* drivers probably should override. Just like the I/O size we
You can’t perform that action at this time.
0 commit comments