On Wed, Apr 29 2015 at 9:00am -0400, Christoph Hellwig <hch@xxxxxx> wrote: > On Tue, Apr 28, 2015 at 08:59:13PM -0400, Mike Snitzer wrote: > > Commit bfebd1cdb4 ("dm: add full blk-mq support to request-based DM") > > didn't properly account for the need to short-circuit re-initializing > > DM's blk-mq request_queue if it was already initialized. > > > > Fix dm_init_request_based_blk_mq_queue() to return early if the > > mapped_device's tag_set already has its driver_data set to the > > mapped_device pointer. > > I'm not quite up to speed with this area of code, but shouldn't > we always tear the queue fully down before trying to reinitialize it? No, the same request_queue should be used for the lifetime of a DM device. I'm not interested in reinitializing the queue. A DM table reload has no need to destroy and recreate the request_queue associated with the DM device. It would be bad to do so too because we actually use the queue across table reloads in the case of dm-multipath with no paths (see: map_request's handling of DM_MAPIO_REQUEUE which triggers dm_requeue_request). -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel