Re: [Fwd: [RFT] major libata update]

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

 



--- James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote:
> On Tue, 2006-05-16 at 15:24 -0700, Luben Tuikov wrote:
> > "*after* the nexus is terminated"?
> > 
> > Are you saying that libata calls "done()" and then calls
> > "scsi_req_abort_cmd()" on the same command in succession?
> 
> no, I'm saying ata_qc_complete() is an indication from the driver that
> the nexus is terminated.

But this is completely out of SCSI Core's domain.

The nexus between the driver and SCSI Core is terminated only when
done() is called.  done() is the antagonist of queuecommand().

Until done() is called, if the LLDD/IC/SCSI Core want to request that
a command be aborted for whatever reason, it calls scsi_req_abort_cmd().

That is, until the nexus created by calling queuecommand(), is returned
to SCSI Core (by the driver calling done()), if either the driver or
SCSI Core want to request the command be aborted, they call
scsi_req_abort_cmd().

What scsi_req_abort_cmd() accomplishes is that both parties of the
nexus are "on the same page" wrt the state of the command, independently
of which party called scsi_req_abort_cmd().

    Luben

> 
> > I haven't looked in the code (which GIT tree is it?) but I don't
> > believe that Tejun would do such a thing.
> 
> It's in the libata-dev tree on www.kernel.org/git
> 
> James
> 
> 
> 

-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux