From: Christoph Hellwig <hch@lst.de>
To: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Fibre Channel state of the union
Date: Mon, 18 Apr 2005 17:40:07 +0200 [thread overview]
Message-ID: <20050418154007.GA32225@lst.de> (raw)
With the upcoming merge of the current SCSI development branch (probably
after the 2.6.12 release), Linux will have more advanced Fibre Channel
support than any currently available operating system.
The new Fibre Channel (FC) transport class offers two major advantages
over traditional standalone drivers:
(1) It provides an easy to use library to deal with most aspects of FC
remote port management and its integration into SAM and the Linux
SCSI layer.
- a remote port object that sits between the host and the target
in the Linux SCSI layer object model
- support for remote port based LUN scanning, including live
rescanning on fabric topology changes and stable remove port to
SCSI target id mappings
- a queue freeze facility to handle temporary cable unplugs without
generating I/O errors
(2) a common userspace interface to transport specific and management
information in sysfs. The information provided is based on a sane
subset of the SNIA HBA API specification.
This reduces the burden of writing and maintaining an FC HBA driver
substantially, for example the recent conversion of the qla2xxx driver to
use these facilities removes over 3000 lines of code (about 1/5 of the overall
driver size) while adding new features and a userspace management interface.
The FC transport class thus allows hardware vendors to concentrate on
interfacing with the hardware and support their unique features, freeing
them from the burden of reimplementing basic infrastructure in every driver
and designing ad hoc management interfaces.
We now have two drivers supporting this infrastructure fully:
- qla2xxx for Qlogic 2100/2200/23xx HBAs
- lpfc for all Emulex SLI2 HBAs
Two drivers for modern hardware don't fully use this infrastructure yet,
but we are working with the maintainers and expect the drivers to be
updated to take advantage of the new FC transport class soon.
- zfcp for the Fibre Channel attachment on the IBM zSeries mainframes
- mptfusion for the LSI "Fusion" 909/919(X)/929(X) HBAs
Still missing is an Open Source tool application utilizing our APIs.
The currently available proprietary applications are inflexible, available
only for very few of the architectures supported by Linux, and tied to
specific HBAs. The common API and hardware independence provide a great
opportunity for the Hardware vendors to collaborate on a single Open Source
management application and leverage the cost savings of an open development
method.
We are also looking forward to a bridge from the Linux
management interfaces to the "industry-standard" SNIA HBA API,
allowing various management applications to work out of the box with our
stack.
To make these new features available to Enterprise users and reduce the
fragmentation in driver and management space we will be working with the
major players in the Storage Industry and the Linux Distribution vendors
to support and certify this stack in the near future.
Special thanks go to Emulex and James Smart in particular for implementing
the majority of the new Fibre Channel transport class. We also want to
thank Andrew Vasquez at Qlogic for providing valuable input on the
transport class design and for updating the qla2xx driver to use the new
facilities quickly.
The Linux SCSI community plans to provide a similar framework for
Serial Attached SCSI (SAS) transports in the near future.
Thanks to Arjan van de Ven, Peter Jones, Randy Dunlap, Rik van Riel,
Nikita Danilov and James Bottomley for reviewing this document and
suggesting various improvements.
next reply other threads:[~2005-04-18 15:40 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-18 15:40 Christoph Hellwig [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-04-19 5:05 Fibre Channel state of the union James.Smart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050418154007.GA32225@lst.de \
--to=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox