[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [dm-devel] [PATCH 5/7] dm core: reject I/O violating new queue limits



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 suse de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]