Hi Kiyoshi, Kiyoshi Ueda wrote: > This patch detects requests violating the queue limitations > and rejects them. > > The same limitation checks are done when requests are submitted > to the queue by blk_insert_cloned_request(). > However, such violation can happen if a table is swapped and > the queue limitations are shrunk while some requests are > in the queue. > > Since struct request is a reliable one in the block layer and > device drivers, dispatching such requests is pretty dangerous. > (e.g. it may cause kernel panic easily.) > So avoid to dispatch such problematic requests in request-based dm. > This patch actually triggers accidentally during a no-paths scenario; multipathing seems to flush all device details once all paths are gone, so it'll fall back to the system defaults. And then this check will trigger and kill all queued I/Os. Not good. So either we fix device-mapper to keep the device details even for the all-paths down scenario (basically we'd have to copy the device details into the target_io structures and use that for comparison) or we should rather not check here. Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel