RFC Reorganize libfcoe control interfaces
Get series with b4
b4 am 20120910225908.13140.97277.stgit@fritzVersions newest first
- v1 RFC Latest5 patches 16 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | libfcoe, fcoe: Allow user to set a ctlr's modeDocumentation/ drivers/ drivers/ +2 more | +91 | 3 replies | |
| 2/5 | libfcoe: Create new libfcoe control interfacesDocumentation/ drivers/ drivers/ +4 more | +250 | 1 reply | |
| 3/5 | fcoe: Use new fcoe_sysfs control interfacedrivers/ | +115 | 0 replies | |
| 4/5 | bnx2fc: Use new fcoe_sysfs control interfacedrivers/ | +60 | 1 reply | |
| 5/5 | libfcoe, fcoe: Remove libfcoe module parametersdrivers/ include/ | +1 | 0 replies |
Reviews trailers per patch
1 of 5 patches has a Reviewed-by or Acked-by.
| Patch | Greg Kroah-Hartman |
|---|---|
| 1/5 | A-b |
| 2/5 | |
| 3/5 | |
| 4/5 | |
| 5/5 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [RFC PATCH 0/5] Reorganize libfcoe control interfaces
The following series implements a move from using module parameters as control interfaces to /sys/bus/fcoe based interfaces. A sysfs infrastructure was added to the kernel a few cycles ago, this series builds on that work.
It moves the create, vn2vn_create, destroy, enable and disable interfaces from /sys/module/libfcoe/parameters/ to various places under /sys/bus/fcoe/. These interfaces simply are not module configurations- they are control interfaces.
A second goal of this series is to change the initialization sequence for a FCoE device. The result of this series is that interfaces created using libfcoe.ko interfaces (i.e. fcoe.ko or bnx2fc.ko) will have the following starting steps-
1) Create/alloc the port
- Allocate kernel memory and create per-instance sysfs devices
- No discovery or login
2) Configure the port
- Change mode, set ddp_min, etc...
3) Start the port
- Begins discovery and/or login (depending on mode)
4) Destroy the port
- Logout and free all memory
I'm looking for feedback on using sysfs files as control interfaces that the user (application) would write interface names to. I modeled this series off of the bonding sysfs interface, but it was suggested to me that it might not be a good example. I belive bonding uses two values per-file a '+' or a '-" to add or delete and then the ifname apended. I am simply writing the ifname to the ctlr_create or ctlr_destroy.
Series compiled and tested against v3.5. libfcoe.ko compile warning fixed upstream after v3.5, anyone who compiles this can ignore section mismatch warning. Also note that a modified fcoemon is needed to use the fcoe system service against this kernel modification. I'd be happy to provide that fcoemon code on request.
---
Robert Love (5):
libfcoe, fcoe: Allow user to set a ctlr's mode
libfcoe: Create new libfcoe control interfaces
fcoe: Use new fcoe_sysfs control interface
bnx2fc: Use new fcoe_sysfs control interface libfcoe, fcoe: Remove libfcoe module parameters
Documentation/ABI/testing/sysfs-bus-fcoe | 51 +++++++ drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 98 ++++++++----- drivers/scsi/fcoe/fcoe.c | 229 +++++++++++++++--------------- drivers/scsi/fcoe/fcoe.h | 9 + drivers/scsi/fcoe/fcoe_ctlr.c | 24 +++ drivers/scsi/fcoe/fcoe_sysfs.c | 139 ++++++++++++++++++ drivers/scsi/fcoe/fcoe_transport.c | 174 ++++------------------- include/scsi/fcoe_sysfs.h | 5 + include/scsi/libfcoe.h | 20 ++- 9 files changed, 445 insertions(+), 304 deletions(-)
Signature · 1 line
Thanks, //Rob