#
3726f358 |
| 20-Jul-2010 |
Joe Eykholt <jeykholt@cisco.com> |
[SCSI] libfc: Add local port point-to-multipoint flag
For VN_port to VN_port mode, the transport sets the port_id and there's no lport FLOGI. This is similar to FC loop mode.
Add a point_to_multip
[SCSI] libfc: Add local port point-to-multipoint flag
For VN_port to VN_port mode, the transport sets the port_id and there's no lport FLOGI. This is similar to FC loop mode.
Add a point_to_multipoint flag that indicates the local port is in point-to-multipoint mode. This skips FLOGI and discovery. It also skips resetting the port_id on resets other than link down.
Add function fc_lport_set_local_id() that sets the local port_id. This is called by libfcoe on behalf of the low-level driver to set the port_id when the link comes up.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
Revision tags: v2.6.35-rc5, v2.6.35-rc4, v2.6.35-rc3 |
|
#
732bee7a |
| 11-Jun-2010 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
fix typos concerning "hierarchy"
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
Revision tags: v2.6.35-rc2, v2.6.35-rc1, v2.6.34, v2.6.34-rc7 |
|
#
7b2787ec |
| 07-May-2010 |
Robert Love <robert.w.love@intel.com> |
[SCSI] libfc: Move the port_id into lport
This patch creates a port_id member in struct fc_lport. This allows libfc to just deal with fc_lport instances instead of calling into the fc_host to get th
[SCSI] libfc: Move the port_id into lport
This patch creates a port_id member in struct fc_lport. This allows libfc to just deal with fc_lport instances instead of calling into the fc_host to get the port_id.
This change helps in only using symbols necessary for operation from the libfc structures. libfc still needs to change the fc_host_port_id() if the port_id changes so the presentation layer (scsi_transport_fc) can provide the user with the correct value, but libfc shouldn't rely on the presentation layer for operational values.
Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
1b80e0f9 |
| 07-May-2010 |
Robert Love <robert.w.love@intel.com> |
[SCSI] libfc: Remove unused fc_get_host_port_type
Remove this unused routine.
Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
|
Revision tags: v2.6.34-rc6, v2.6.34-rc5, v2.6.34-rc4 |
|
#
9f8f3aa6 |
| 09-Apr-2010 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc, fcoe: normalize format specifies for world wide names
Print all world wide node names (node, port and fabric) with the same format specifier of "%16.16llx". That makes sure they all p
[SCSI] libfc, fcoe: normalize format specifies for world wide names
Print all world wide node names (node, port and fabric) with the same format specifier of "%16.16llx". That makes sure they all print as a 16 character hex string, with lower case letters, no 0x prefix, and without stripping off any leading 0s.
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
ce8b5df0 |
| 09-Apr-2010 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc: set both precision and field with when printing FC IDs
Most of the prints of fabric IDs were specified as %6x, which will not print any leading 0s. It's nice to see leading 0s for ide
[SCSI] libfc: set both precision and field with when printing FC IDs
Most of the prints of fabric IDs were specified as %6x, which will not print any leading 0s. It's nice to see leading 0s for identifiers like this, which are a fixed length. This patch sets the precision modifier as well, making the specifier %6.6x, which forces the printing of leading 0s.
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
Revision tags: v2.6.34-rc3, v2.6.34-rc2 |
|
#
ccfc3098 |
| 12-Mar-2010 |
Joe Eykholt <jeykholt@cisco.com> |
[SCSI] libfc: send point-to-poin FLOGI LS_ACC to assigned D_DID
The method we've been using for point-to-point mode requires that the LS_ACC for the FLOGI uses the D_ID and S_ID assigned to the remo
[SCSI] libfc: send point-to-poin FLOGI LS_ACC to assigned D_DID
The method we've been using for point-to-point mode requires that the LS_ACC for the FLOGI uses the D_ID and S_ID assigned to the remote port and local port, not those in the exchange.
This is not the correct method, but for now, it's what works with the old target, as well as with new targets based on libfc.
This patch changes the addresses used accordingly.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
2f2ac4a0 |
| 12-Mar-2010 |
Joe Eykholt <jeykholt@cisco.com> |
[SCSI] libfc: fix oops in point-to-point mode
In point-to-point mode, if the PLOGI to the remote port times out, it can get deleted by the remote port module. Since there's no reference by the loca
[SCSI] libfc: fix oops in point-to-point mode
In point-to-point mode, if the PLOGI to the remote port times out, it can get deleted by the remote port module. Since there's no reference by the local port, lport->ptp_data points to a freed rport, and when the local port is reset and tries to logout again, an oops occurs in mutex_lock_nested().
Hold a reference count on the point-to-point rdata.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
5a0e3ad6 |
| 24-Mar-2010 |
Tejun Heo <tj@kernel.org> |
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being included when bu
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies.
percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion.
http://userweb.kernel.org/~tj/misc/slabh-sweep.py
The script does the followings.
* Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h.
* When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order.
* If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file.
The conversion was done in the following steps.
1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files.
2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files.
3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind.
4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually.
5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary.
6. percpu.h was updated not to include slab.h.
7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq).
* x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig
8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point.
Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch.
Signed-off-by: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
show more ...
|
Revision tags: v2.6.34-rc1, v2.6.33 |
|
#
696c1cff |
| 16-Feb-2010 |
Hugh Daschbach <hdasch@broadcom.com> |
[SCSI] libfc: Don't assume response request present.
Fix NULL pointer dereference crash occurs in fc_lport_bsg_request() for bsg requests that do not contain a response request. Specifically, FC_BSG
[SCSI] libfc: Don't assume response request present.
Fix NULL pointer dereference crash occurs in fc_lport_bsg_request() for bsg requests that do not contain a response request. Specifically, FC_BSG_HST_ADD_RPORT and FC_BSG_HST_DEL_RPORT bsg requests are not guaranteed to include a response request.
Signed-off-by: Hugh Daschbach <hdasch@broadcom.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
Revision tags: v2.6.33-rc8, v2.6.33-rc7, v2.6.33-rc6, v2.6.33-rc5 |
|
#
b248df30 |
| 21-Jan-2010 |
Hugh Daschbach <hdasch@broadcom.com> |
[SCSI] libfc: Don't assume response request present.
Fix NULL pointer dereference crash occurs in fc_lport_bsg_request() for bsg requests that do not contain a response request. Specifically, FC_BSG
[SCSI] libfc: Don't assume response request present.
Fix NULL pointer dereference crash occurs in fc_lport_bsg_request() for bsg requests that do not contain a response request. Specifically, FC_BSG_HST_ADD_RPORT and FC_BSG_HST_DEL_RPORT bsg requests are not guaranteed to include a response request.
Signed-off-by: Hugh Daschbach <hdasch@broadcom.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
Revision tags: v2.6.33-rc4, v2.6.33-rc3, v2.6.33-rc2, v2.6.33-rc1 |
|
#
55a66d3c |
| 10-Dec-2009 |
Vasu Dev <vasu.dev@intel.com> |
[SCSI] fcoe, libfc: adds enable/disable for fcoe interface
This is to allow fcoemon util to enable or disable a fcoe interface according to DCB link state change.
Adds sysfs module param enable and
[SCSI] fcoe, libfc: adds enable/disable for fcoe interface
This is to allow fcoemon util to enable or disable a fcoe interface according to DCB link state change.
Adds sysfs module param enable and disable for this and also updates existing other module param description to be consistent and more accurate since older description had double "fcoe" word with less meaningful netdev reference to user space.
Adds code to ignore redundant fc_lport_enter_reset handling for a already disabled fcoe interface by checking LPORT_ST_DISABLED or LPORT_ST_LOGO states, this also prevents lport state transition on link flap on a disabled interface.
Above changes required lport state transition to get out of disabled or logo state on call to fc_fabric_login.
Signed-off-by: Vasu Dev <vasu.dev@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
Revision tags: v2.6.32 |
|
#
70d919fb |
| 20-Nov-2009 |
Yi Zou <yi.zou@intel.com> |
[SCSI] libfc: fix payload size passed to fc_frame_alloc() in fc_lport_els_request
Frame header room is already incluced, just pass the length of payload.
Signed-off-by: Yi Zou <yi.zou@intel.com> Si
[SCSI] libfc: fix payload size passed to fc_frame_alloc() in fc_lport_els_request
Frame header room is already incluced, just pass the length of payload.
Signed-off-by: Yi Zou <yi.zou@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
Revision tags: v2.6.32-rc8, v2.6.32-rc7 |
|
#
b94f8951 |
| 03-Nov-2009 |
Joe Eykholt <jeykholt@cisco.com> |
[SCSI] libfc fcoe: increase ELS and CT timeouts
The FC-LS spec. says ELS timeouts should be 2 x R_A_TOV. The FC-GS spec. says CT timeouts should be 3 x R_A_TOV.
We've been using E_D_TOV for both of
[SCSI] libfc fcoe: increase ELS and CT timeouts
The FC-LS spec. says ELS timeouts should be 2 x R_A_TOV. The FC-GS spec. says CT timeouts should be 3 x R_A_TOV.
We've been using E_D_TOV for both of those.
Change for all ELS and CT requests except FLOGI, which we leave at 2 seconds (using E_D_TOV). One could argue that R_A_TOV is locally determined until after FLOGI succeeds.
This does change FLOGI for vports which becomes FDISC. This does not change the REC/SRR timeout which is 2 seconds.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
ab593b18 |
| 03-Nov-2009 |
Joe Eykholt <jeykholt@cisco.com> |
[SCSI] libfc: register FC4 features with the FC switch
Customers and certification tests have pointed out that we don't show up on the switch management software as an initiator.
On some MDS switch
[SCSI] libfc: register FC4 features with the FC switch
Customers and certification tests have pointed out that we don't show up on the switch management software as an initiator.
On some MDS switches 'show fcns database' command shows libfc initiators as 'fcp' not 'fcp:init' like other initiators.
On others switches, I think the switch gets the features by doing a PRLI, but it may be only certain models or under certain configurations.
Fix this by registering our FC4 features with the RFF_ID CT request after local port login and after the RFT_ID.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
e6d8a1b0 |
| 03-Nov-2009 |
Joe Eykholt <jeykholt@cisco.com> |
[SCSI] libfc: add host number to lport link up/down messages.
The libfc link up/down messages don't indicate which port is changing. The Port ID will often be 0.
Signed-off-by: Joe Eykholt <jeykhol
[SCSI] libfc: add host number to lport link up/down messages.
The libfc link up/down messages don't indicate which port is changing. The Port ID will often be 0.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
093bb6a2 |
| 03-Nov-2009 |
Joe Eykholt <jeykholt@cisco.com> |
[SCSI] libfc: add set_fid function to libfc template
This is to notify the LLD when an FC_ID is assigned to the local port.
The fnic driver needs to push the assigned FC_ID to firmware. It currentl
[SCSI] libfc: add set_fid function to libfc template
This is to notify the LLD when an FC_ID is assigned to the local port.
The fnic driver needs to push the assigned FC_ID to firmware. It currently does this by intercepting the FLOGI responses, and in order to make that code more common with FIP and NPIV, it makes more sense to wait until the local port has completely handled the FLOGI or FDISC response. Also, when we fix point-to-point FC_ID assignment, we'll need this callback as well.
Add a call to the libfc template, which is called whenever the local port FC_ID is being assigned. It defaults to fc_lport_set_fid(), supplied by libfc.
As additional benefit of this function, the LLD may determine the MAC address that caused the change by looking at the received frame.
We also print the assigned port ID as long as it isn't 0. Setting port ID to 0 happens often in reset while retrying FLOGI, and would be uninteresting. This replaces the previous message which didn't identify the host adapter instance.
patch v2 note: changed one word in a comment. "intercepted" -> "provided".
Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
3a3b42bf |
| 03-Nov-2009 |
Robert Love <robert.w.love@intel.com> |
[SCSI] libfc: Formatting cleanups across libfc
This patch makes a variety of cleanup changes to all libfc files.
This patch adds kernel-doc headers to all functions lacking them and attempts to bet
[SCSI] libfc: Formatting cleanups across libfc
This patch makes a variety of cleanup changes to all libfc files.
This patch adds kernel-doc headers to all functions lacking them and attempts to better format existing headers. It also add kernel-doc headers to structures.
This patch ensures that the current naming conventions for local ports, remote ports and remote port private data is upheld in the following manner.
struct instance (i.e. variable name) -------------------------------------------------- fc_lport lport fc_rport rport fc_rport_libfc_priv rpriv fc_rport_priv rdata
I also renamed dns_rp and ptp_rp to dns_rdata and ptp_rdata respectively.
I used emacs 'indent-region' and 'tabify' on all libfc files to correct spacing alignments.
I feel sorry for anyone attempting to review this patch.
Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
a51ab396 |
| 03-Nov-2009 |
Steve Ma <steve.ma@intel.com> |
[SCSI] libfc, fcoe: Add FC passthrough support
This is the Open-FCoE implementation of the FC passthrough support via bsg interface.
Passthrough support is added to both N_Ports and VN_Ports.
Sign
[SCSI] libfc, fcoe: Add FC passthrough support
This is the Open-FCoE implementation of the FC passthrough support via bsg interface.
Passthrough support is added to both N_Ports and VN_Ports.
Signed-off-by: Steve Ma <steve.ma@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
c914f7d1 |
| 03-Nov-2009 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc: combine name server registration request functions
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bo
[SCSI] libfc: combine name server registration request functions
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
7cccc157 |
| 03-Nov-2009 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc: combine name server registration response handlers
They all do the same thing, so combine them into a single function.
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-
[SCSI] libfc: combine name server registration response handlers
They all do the same thing, so combine them into a single function.
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
c9866a54 |
| 03-Nov-2009 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc: Register Symbolic Port Name (RSPN_ID)
Register the fc_host symbolic name as the symbolic port name with the fabric name server.
Signed-off-by: Chris Leech <christopher.leech@intel.com
[SCSI] libfc: Register Symbolic Port Name (RSPN_ID)
Register the fc_host symbolic name as the symbolic port name with the fabric name server.
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
5baa17c3 |
| 03-Nov-2009 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc: Register Symbolic Node Name (RSNN_NN)
Register the fc_host symbolic name as the symbolic node name with the fabric name server.
Signed-off-by: Chris Leech <christopher.leech@intel.com
[SCSI] libfc: Register Symbolic Node Name (RSNN_NN)
Register the fc_host symbolic name as the symbolic node name with the fabric name server.
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
c9c7bd7a |
| 03-Nov-2009 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc: RNN_ID may be required before RSNN_NN with some switches
One could interpret FC-GS-5 to say that an explicit RNN_ID is required before RSNN_NN is allowed to succeed, which is why RNN_I
[SCSI] libfc: RNN_ID may be required before RSNN_NN with some switches
One could interpret FC-GS-5 to say that an explicit RNN_ID is required before RSNN_NN is allowed to succeed, which is why RNN_ID was not obsoleted along with RPN_ID acording to this document: ftp://ftp.t11.org/t11/member/fc/gs-5/05-546v2.pdf
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|
#
28cc0e31 |
| 03-Nov-2009 |
Chris Leech <christopher.leech@intel.com> |
[SCSI] libfc: RPN_ID is obsolete and unnecessary
RPN_ID has been obsolete per FC-GS-5 for several years. The port name is registered implicitly as part of FLOGI, and it is undesirable for ports to
[SCSI] libfc: RPN_ID is obsolete and unnecessary
RPN_ID has been obsolete per FC-GS-5 for several years. The port name is registered implicitly as part of FLOGI, and it is undesirable for ports to change a registered port name using RPN_ID while logged into the fabric.
Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
show more ...
|