On Wed, Jun 04, 2014 at 09:08:12AM -0600, Jens Axboe wrote:
On 2014-06-04 09:05, Christoph Hellwig wrote:
On Wed, Jun 04, 2014 at 09:02:19AM -0600, Jens Axboe wrote:
OK strange, there hasn't been that much churn since the last rebase.
In my for-linus, there's a patch for a single queue crash, but that
should just hit for the removal case. And then there's the atomic
schedule patch, but that issue was actually in the code base for
about a month, so not a new one either.
You're request initializaion optimization doesn't set up req->cmd and
thus causes all BLOCK_PC I/O (including the SCSI LUN scan) to crash and
burn. The trivial fix is on your way.
OK. That'll arguably be a good cleanup as well, getting that
initialized in the right place. I hate the 'lets clear all the
memory' part of rq init, it's not super cheap to do.
What would the right place be? We don't really know if a request is
going to be used for BLOCK_PC purposes until it has been returned to
the caller.
I also found another issue when just initializing req->cmd instead
of blindly reverting the patch due to the lack of req->biotail
initialization. For now I'll got back to a revert of that patch
for my scsi-mq tree, and I'd prefer to keep that for mainline as well
until this has been throughoutly tested.