[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 01 Jan 2017 11:33:11 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: Bart.VanAssche@...disk.com
Cc: jejb@...ux.vnet.ibm.com, hch@...radead.org, jbaron@...mai.com,
linux-kernel@...r.kernel.org, sagi@...mberg.me,
sathya.prakash@...adcom.com, suganath-prabu.subramani@...adcom.com,
martin.petersen@...cle.com, hare@...e.de,
linux-scsi@...r.kernel.org, hch@....de,
Sreekanth.Reddy@...adcom.com, chaitra.basappa@...adcom.com,
dledford@...hat.com
Subject: Re: [PATCH] scsi: mpt3sas: fix hang on ata passthru commands
From: Bart Van Assche <Bart.VanAssche@...disk.com>
Date: Sun, 1 Jan 2017 14:22:11 +0000
> My recommendation is to revert commit 18f6084a989b ("scsi: mpt3sas: Fix
> secure erase premature termination"). Since the mpt3sas driver uses the
> single-queue approach and since the SCSI core unlocks the block layer
> request queue lock before the .queuecommand callback function is called,
> multiple threads can execute that callback function (scsih_qcmd() in this
> case) simultaneously. This means that using scsi_internal_device_block()
> from inside .queuecommand to serialize SCSI command execution is wrong.
But this causes a regression for the thing being fixed by that commit.
Why don't we figure out what that semantics that commit was trying to
achieve and implement that properly?
Powered by blists - more mailing lists