* Venturing into HBA driver development
@ 2020-04-26 23:54 Aijaz Baig
2020-04-27 0:04 ` James Bottomley
0 siblings, 1 reply; 3+ messages in thread
From: Aijaz Baig @ 2020-04-26 23:54 UTC (permalink / raw)
To: linux-scsi
I'm a mid level developer with acceptable knowledge of OS internals
and some driver development but up until now, I've worked mostly on
the networking side of things
most searches online are leading me to open solaris which seems to be
the only guide available online for writing HBA drivers
Is there anything else (Besides reading the source), like a guide or
something, that I can read to help me get up to speed with it.
Do I really need to know SAN to become acceptably good. How much SCSI
(and other protocol(s)) knowledge is needed?
Keen to hear suggestions
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Venturing into HBA driver development
2020-04-26 23:54 Venturing into HBA driver development Aijaz Baig
@ 2020-04-27 0:04 ` James Bottomley
2020-04-27 0:26 ` Aijaz Baig
0 siblings, 1 reply; 3+ messages in thread
From: James Bottomley @ 2020-04-27 0:04 UTC (permalink / raw)
To: Aijaz Baig, linux-scsi
On Mon, 2020-04-27 at 05:24 +0530, Aijaz Baig wrote:
> I'm a mid level developer with acceptable knowledge of OS internals
> and some driver development but up until now, I've worked mostly on
> the networking side of things
>
> most searches online are leading me to open solaris which seems to be
> the only guide available online for writing HBA drivers
>
> Is there anything else (Besides reading the source), like a guide or
> something, that I can read to help me get up to speed with it.
This is a pretty good one
https://lwn.net/Kernel/LDD3/
And if you like it, you could buy the book.
> Do I really need to know SAN to become acceptably good. How much SCSI
> (and other protocol(s)) knowledge is needed?
It depends *what* driver you want to write. Obviously you have to
understand the protocol of both the host bus adapter and usually also
any devices attached to it, but the HBA protocol is usually highly
manufacturer dependent, it's only the device protocol that you'll find
in standards.
James
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Venturing into HBA driver development
2020-04-27 0:04 ` James Bottomley
@ 2020-04-27 0:26 ` Aijaz Baig
0 siblings, 0 replies; 3+ messages in thread
From: Aijaz Baig @ 2020-04-27 0:26 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-scsi
Hi James
I very well know the book. But the chapter on block devices is
targeted at, what I believe, are called 'target devices' in the
overall topology, isn't it? I am specifically looking at drivers for
HBAs, the host bus adapters. As you said, it is highly manufacturer
dependent, which is why perhaps there isn't a generic guide to it.
But I am looking at understanding the broader concepts associated with
writing HBA drivers. As far as I understand up until now, they talk
"scsi" to the target device (or its firmware to be more specific", who
then translates the scsi commands into actions to be taken on the
actual blocks (LBA/CHS). Am I right? So I believe I need some
familiarity with the SCSI "command set" as it is. Could you shed some
light on this?
On Mon, Apr 27, 2020 at 5:34 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Mon, 2020-04-27 at 05:24 +0530, Aijaz Baig wrote:
> > I'm a mid level developer with acceptable knowledge of OS internals
> > and some driver development but up until now, I've worked mostly on
> > the networking side of things
> >
> > most searches online are leading me to open solaris which seems to be
> > the only guide available online for writing HBA drivers
> >
> > Is there anything else (Besides reading the source), like a guide or
> > something, that I can read to help me get up to speed with it.
>
> This is a pretty good one
>
> https://lwn.net/Kernel/LDD3/
>
> And if you like it, you could buy the book.
>
> > Do I really need to know SAN to become acceptably good. How much SCSI
> > (and other protocol(s)) knowledge is needed?
>
> It depends *what* driver you want to write. Obviously you have to
> understand the protocol of both the host bus adapter and usually also
> any devices attached to it, but the HBA protocol is usually highly
> manufacturer dependent, it's only the device protocol that you'll find
> in standards.
>
> James
>
--
Best Regards,
Aijaz Baig
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-04-27 0:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-26 23:54 Venturing into HBA driver development Aijaz Baig
2020-04-27 0:04 ` James Bottomley
2020-04-27 0:26 ` Aijaz Baig
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.