commit e0eca63e342124cff4307eafb43908cab5b3cf88 Author: Vinayak Holikatti Date: Mon Feb 25 21:44:33 2013 +0530 [SCSI] ufs: Separate PCI code into glue driver This patch separates PCI code from ufshcd.c and makes it as a core driver module and adds a new file ufshcd-pci.c as PCI glue driver. [jejb: strip __devinit and devexit_p()] Reviewed-by: Arnd Bergmann Reviewed-by: Namjae Jeon Reviewed-by: Subhash Jadavani Tested-by: Maya Erez Signed-off-by: Vinayak Holikatti Signed-off-by: Santosh Yaraganavi Signed-off-by: James Bottomley commit 3b1d05807a9a68c6d0580e9248247a774a4d3be6 Author: Vinayak Holikatti Date: Mon Feb 25 21:44:32 2013 +0530 [SCSI] ufs: Segregate PCI Specific Code This patch segregates the PCI specific code in ufshcd.c to make it ready for splitting into core ufs driver and PCI glue driver. Also copyright header modification to remove extra warranty disclaim. Reviewed-by: Arnd Bergmann Reviewed-by: Namjae Jeon Reviewed-by: Subhash Jadavani Tested-by: Maya Erez Signed-off-by: Vinayak Holikatti Signed-off-by: Santosh Yaraganavi Signed-off-by: James Bottomley commit bf07bdea0d6baea1c8ca9e2dbc278cb85fbc33e2 Author: Randy Dunlap Date: Fri Feb 22 10:23:54 2013 -0800 [SCSI] scsi: fix lpfc build when wmb() is defined as mb() On architectures where wmb() is defined as mb(), a build error happens since there is also a variable named 'mb' in lpfc_sli.c's lpfc_sli_issue_mbox_s3() function. Rename the variable to 'mbx' to prevent the build error. drivers/scsi/lpfc/lpfc_sli.c: error: called object 'mb' is not a function Reported-by: Geert Uytterhoeven Signed-off-by: Randy Dunlap Acked-by: James Smart Signed-off-by: James Bottomley commit 6781209e7621a900fe83b3c09b1a02ec1a947c75 Author: K. Y. Srinivasan Date: Thu Feb 21 12:04:53 2013 -0800 [SCSI] storvsc: Handle dynamic resizing of the device Handle LUN size changes by re-scanning the device. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang Signed-off-by: James Bottomley commit c50bd4481707cef2a81c648f6e28e7a0a5f21129 Author: K. Y. Srinivasan Date: Thu Feb 21 12:04:52 2013 -0800 [SCSI] storvsc: Restructure error handling code on command completion In preparation for handling additional sense codes, restructure and cleanup the error handling code in the command completion code path. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang Signed-off-by: James Bottomley commit 3e8f4f4065901c8dfc51407e1984495e1748c090 Author: Olaf Hering Date: Thu Feb 21 12:04:51 2013 -0800 [SCSI] storvsc: avoid usage of WRITE_SAME Set scsi_device->no_write_same because the host does not support it. Also blacklist WRITE_SAME to avoid (and log) accident usage. If the guest uses the ext4 filesystem, storvsc hangs while it prints these messages in an endless loop: ... [ 161.459523] hv_storvsc vmbus_0_1: cmd 0x41 scsi status 0x2 srb status 0x6 [ 161.462157] sd 2:0:0:0: [sda] [ 161.463135] Sense Key : No Sense [current] [ 161.464983] sd 2:0:0:0: [sda] [ 161.465899] Add. Sense: No additional sense information [ 161.468211] hv_storvsc vmbus_0_1: cmd 0x41 scsi status 0x2 srb status 0x6 [ 161.475766] sd 2:0:0:0: [sda] [ 161.476728] Sense Key : No Sense [current] [ 161.478284] sd 2:0:0:0: [sda] [ 161.479441] Add. Sense: No additional sense information ... This happens with a guest running on Windows Server 2012, but happens to work while running on Windows Server 2008. WRITE_SAME isnt really supported by both versions, so disable the command usage globally. Signed-off-by: Olaf Hering Signed-off-by: K. Y. Srinivasan Signed-off-by: James Bottomley commit 98f99a8ac8d92fef74b61e8dd25df934afbbf843 Author: Paul Bolle Date: Thu Feb 21 12:39:44 2013 +0100 [SCSI] aacraid: suppress two GCC warnings Building src.o for a 32 bit system triggers two GCC warnings: drivers/scsi/aacraid/src.c: In function ‘aac_src_deliver_message’: drivers/scsi/aacraid/src.c:410:3: warning: right shift count >= width of type [enabled by default] drivers/scsi/aacraid/src.c:434:2: warning: right shift count >= width of type [enabled by default] These warnings are caused by a right shift of 32. Use upper_32_bits() to suppress them. Signed-off-by: Paul Bolle Cc: Mahesh Rajashekhara Signed-off-by: James Bottomley commit bcc48ffa4beb0db52bdca42dc3e5ce765c2ed8b5 Author: Stephen M. Cameron Date: Wed Feb 20 11:24:57 2013 -0600 [SCSI] hpsa: check for dma_mapping_error in hpsa_passthru ioctls Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit c1f63c8fe85a63ccf308909237216f55711e5434 Author: Stephen M. Cameron Date: Wed Feb 20 11:24:52 2013 -0600 [SCSI] hpsa: reorganize error handling in hpsa_passthru_ioctl Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit e2bea6df3261dac1ae400452ddab07babb4fc5f3 Author: Stephen M. Cameron Date: Wed Feb 20 11:24:46 2013 -0600 [SCSI] hpsa: check for dma_mapping_error in hpsa_map_sg_chain_block Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit a2dac136c40fe07861f8146434917031a8c301b1 Author: Stephen M. Cameron Date: Wed Feb 20 11:24:41 2013 -0600 [SCSI] hpsa: Check for dma_mapping_error for all code paths using fill_cmd Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit eceaae187d3bd457b3dba29c4f23bccda374db63 Author: Shuah Khan Date: Wed Feb 20 11:24:34 2013 -0600 [SCSI] hpsa: Check for dma_mapping_error in hpsa_map_one Signed-off-by: Shuah Khan Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 208afec4f3be8c51ad6eebe6611dd6d2ad2fa298 Author: Dan Carpenter Date: Mon Feb 11 22:03:18 2013 +0300 [SCSI] dc395x: uninitialized variable in device_alloc() This bug was introduced back in bitkeeper days in 2003. We use "dcb->dev_mode" before it has been initialized. Signed-off-by: Dan Carpenter Acked-by: Oliver Neukum Cc: Signed-off-by: James Bottomley commit 4d24834dfd25f2dab5977241cd5a6662edde92f7 Author: Martin K. Petersen Date: Wed Sep 26 22:39:44 2012 -0400 [SCSI] Fix range check in scsi_host_dif_capable() The range checking from fe542396 was bad. We would still end up walking beyond the array as Type 3 is defined to be 4 in the protection bitmask. Instead use ARRAY_SIZE() for the range check. Reported-by: Dan Carpenter Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 9d2696e658ef4f209955ddaa987d43f1a1bd81a1 Author: K. Y. Srinivasan Date: Wed Feb 6 05:15:28 2013 -0800 [SCSI] storvsc: Initialize the sglist Properly initialize scatterlist before using it. Signed-off-by: K. Y. Srinivasan Cc: stable@vger.kernel.org Signed-off-by: James Bottomley commit 7887ea7f942770c2146dbcdfa2a85aa8de93df31 Author: Sreekanth Reddy Date: Fri Feb 1 21:49:30 2013 +0530 [SCSI] mpt2sas: Add support for OEM specific controller Defined SSDID & HW vendor brand strings. Added entries for SSDID within the function that prints the brand string. Signed-off-by: Sreekanth Reddy Signed-off-by: James Bottomley commit bfae7820b87c61c5065338b55405b304d9890085 Author: Brian King Date: Wed Jan 30 23:45:08 2013 -0600 [SCSI] ipr: Fix oops while resetting an ipr adapter When resetting an ipr adapter, we use scsi_block_requests to block any new commands from scsi core, and then unblock after the reset. When hotplug removing an adapter, we shut it down and go through this same code, but we've seen issues with scsi_unblock_requests running after the adapter's memory has been freed. There is really no need to block/unblock when the adapter is being removed, so this patch skips the block/unblock and will immediately fail any commands that happen to make it to queuecommand while the adapter is being shutdown. Signed-off-by: Brian King Signed-off-by: Wen Xiong Signed-off-by: James Bottomley commit 4d7007b49d523d8f954ae047118d82c130f673ce Author: Hiral Patel Date: Tue Feb 12 17:01:02 2013 -0800 [SCSI] fnic: Fnic Trace Utility Fnic Trace utility is a tracing functionality built directly into fnic driver to trace events. The benefit that trace buffer brings to fnic driver is the ability to see what it happening inside the fnic driver. It also provides the capability to trace every IO event inside fnic driver to debug panics, hangs and potentially IO corruption issues. This feature makes it easy to find problems in fnic driver and it also helps in tracking down strange bugs in a more manageable way. Trace buffer is shared across all fnic instances for this implementation. Signed-off-by: Hiral Patel Signed-off-by: James Bottomley commit 14eb5d905d16ecd33e5e3113eb44cfa2bb47e7d7 Author: Hiral Patel Date: Tue Feb 12 17:01:01 2013 -0800 [SCSI] fnic: New debug flags and debug log messages Added new fnic debug flags for identifying IO state at every stage of IO while debugging and also added more log messages for better debugging capability. Signed-off-by: Sesidhar Baddela Signed-off-by: Hiral Patel Signed-off-by: James Bottomley commit a0bf1ca27b644c1c4b1f0ea2d81f99471b2549e8 Author: Hiral Patel Date: Tue Feb 12 17:01:00 2013 -0800 [SCSI] fnic: fnic driver may hit BUG_ON on device reset The issue was observed when LUN Reset is issued through IOCTL or sg_reset utility. fnic driver issues LUN RESET to firmware. On successful completion of device reset, driver cleans up all the pending IOs that were issued prior to device reset. These pending IOs are expected to be in ABTS_PENDING state. This works fine, when the device reset operation resulted from midlayer, but not when device reset was triggered from IOCTL path as the pending IOs were not in ABTS_PENDING state. execution path hits panic if the pending IO is not in ABTS_PENDING state. Changes: The fix replaces BUG_ON check in fnic_clean_pending_aborts() with marking pending IOs as ABTS_PENDING if they were not in ABTS_PENDING state and skips if they were already in ABTS_PENDING state. An extra check is added to validate the abort status of the commands after a delay of 2 * E_D_TOV using a helper function. The helper function returns 1 if it finds any pending IO in ABTS_PENDING state, belong to the LUN on which device reset was issued else 0. With this, device reset operation returns success only if the helper funciton returns 0, otherwise it returns failure. Other changes: - Removed code in fnic_clean_pending_aborts() that returns failure if it finds io_req NULL, instead of returning failure added code to continue with next io - Added device reset flags for debugging in fnic_terminate_rport_io, fnic_rport_exch_reset, and fnic_clean_pending_aborts Signed-off-by: Narsimhulu Musini Signed-off-by: Hiral Patel Signed-off-by: James Bottomley commit cfe16d5da88896fc78d008c96d639cf9c90850a0 Author: Hiral Patel Date: Tue Feb 12 17:00:59 2013 -0800 [SCSI] fnic: Fix SGEs limit Driver allows IOs with more SGEs than max SGEs supported by Palo. The current max SGEs supported by the fnic driver is 1024. The current register settings on Palo supports a max of 256 only. Palo would return any IO with more than 256 SGEs with an error indicating INVALID_SGLS. Fnic driver should limit the max supported SGLs in the driver to 256 to avoid this error. Signed-off-by: Sesidhar Baddela Signed-off-by: Hiral Patel Signed-off-by: James Bottomley commit 03298552cba38f7c805ed338826dc76c405465c7 Author: Hiral Patel Date: Tue Feb 12 17:00:58 2013 -0800 [SCSI] fnic: fixing issues in device and firmware reset code 1. Handling overlapped firmware resets This fix serialize multiple firmware resets to avoid situation where fnic device fails to come up for link up event, when firmware resets are issued back to back. If there are overlapped firmware resets are issued, the firmware reset operation checks whether there is any firmware reset in progress, if so it polls for its completion in a loop with 100ms delay. 2. Handling device reset timeout fnic_device_reset code has been modified to handle Device reset timeout: - Issue terminate on device reset timeout. - Introduced flags field (one of the scratch fields in scsi_cmnd). With this, device reset request would have DEVICE_RESET flag set for other routines to determine the type of the request. Also modified fnic_terminate_rport_io, fnic_rport_exch_rset, completion routines to handle SCSI commands with DEVICE_RESET flag. 3. LUN/Device Reset hangs when issued through IOCTL using utilities like sg_reset. Each SCSI command is associated with a valid tag, fnic uses this tag to retrieve associated scsi command on completion. the LUN/Device Reset issued through IOCTL resulting into a SCSI command that is not associated with a valid tag. So fnic fails to retrieve associated scsi command on completion, which causes hang. This fix allocates tag, associates it with the scsi command and frees the tag, when the operation completed. 4. Preventing IOs during firmware reset. Current fnic implementation allows IO submissions during firmware reset. This fix synchronizes IO submissions and firmware reset operations. It ensures that IOs issued to fnic prior to reset will be issued to the firmware before firmware reset. Signed-off-by: Narsimhulu Musini Signed-off-by: Hiral Patel Signed-off-by: James Bottomley commit bfb4809f7fff2f2db3d0de41ea4f49fd3f2f0aa4 Author: Sakthivel K Date: Mon Feb 4 12:10:02 2013 +0530 [SCSI] pm80xx: fix for memory region free All memory regions are allocated based on variables total_len and alignment but free was based on element_size. Signed-off-by: Sakthivel K Signed-off-by: Anand Kumar S Signed-off-by: James Bottomley commit 5eca4a67b803172eeee7684282348652f9261c5c Author: adam radford Date: Sat Feb 9 15:29:25 2013 -0800 [SCSI] megaraid_sas: Version and Changelog update This patch updates the megaraid_sas driver version and updates Documentation/scsi/ChangeLog.megaraid_sas. Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit 9c5ebd09e5092fdeffd079efd2b40afaa69dafb7 Author: adam radford Date: Sat Feb 9 15:29:20 2013 -0800 [SCSI] megaraid_sas: Dont load DevHandle unless FastPath enabled The following patch for megaraid_sas will fix an issue where the driver should not be loading the DevHandle unless FastPath is enabled. If FastPath was not enabled, this means the hardware raid map validation failed for some reason, or the map was corrupted, which could mean the DevHandle could be invalid. Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit 046c9ec259d271e7988c7fbe80b8bddf3c8efdc4 Author: adam radford Date: Sat Feb 9 15:29:15 2013 -0800 [SCSI] megaraid_sas: Add 4k FastPath DIF support The following patch for megaraid_sas will allow Fastpath T10PI/DIF frame builds to work with 4k sector size. Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit f356bef134dda564fcbe3b41a5c7b932c1964326 Author: Chad Dupuis Date: Fri Feb 8 01:58:04 2013 -0500 [SCSI] qla2xxx: Wait for IDC complete event to finish loopback operation. Wait for the IDC complete AEN before returning the loopback operation back to the application to make sure the port is put back into normal operations. Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit fe52f6e121a8e6b66a608b79deb1c383e08aa32f Author: Joe Carnuccio Date: Fri Feb 8 01:58:03 2013 -0500 [SCSI] qla2xxx: Integrate generic card temperature with mezz card temperature. Give priority to I2C thermal. Signed-off-by: Joe Carnuccio Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 6c3943cdb87f68a9dbb6d586f40b84622e803574 Author: Saurav Kashyap Date: Fri Feb 8 01:58:02 2013 -0500 [SCSI] qla2xxx: Don't process state change aen for reset owner. Signed-off-by: Giridhar Malavali Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit bb4cf5b73b47fe78502b16bc3dc4af612aa37ad7 Author: Chad Dupuis Date: Fri Feb 8 01:58:01 2013 -0500 [SCSI] qla2xxx: Don't process RSCNs for a vport on the same physical adapter. Currently,the driver is processes RSCNs for each new NPIV ports that is created. Processing the RSCN includes a name server query to see what has changed at the name server side. The name server query is performed by the physical port and each virtual port on the physical adapter (since the RSCN is passed to each virtual port for processing). As the number of virtual ports being created increases, this causes a lot of traffic and busies the firmware. Processing the RSCN for a virtual port we already have a priori knowledge of is not necessary so check the 24-bit fabric ID of the RSCN entry and skip processing it if the RSCN is for a virtual port we already know about. Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 3a11711ad00caebee07e262d188cea66f3473c38 Author: Joe Carnuccio Date: Fri Feb 8 01:58:00 2013 -0500 [SCSI] qla2xxx: Add setting of driver version string for vendor application. Signed-off-by: Joe Carnuccio Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 90687a1e15b3c0361cdae1dcd3291907a7d34fe9 Author: Joe Carnuccio Date: Fri Feb 8 01:57:59 2013 -0500 [SCSI] qla2xxx: Correction of comment in MBC opcode defines. Signed-off-by: Joe Carnuccio Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 4ac8d4ca5d8d3bb98072be2961dd2e937e05bb11 Author: Andrew Vasquez Date: Fri Feb 8 01:57:58 2013 -0500 [SCSI] qla2xxx: Correct list-iteration bug in Report-ID Acquisition codes. Code in qla24xx_report_id_acquisition() incorrectly assumed that upon completion of list iteration (with no match), the 'pos' (vp) variable passed to list_for_each_entry() would be set to NULL. In this context, if the firmware were to return an unrecognized vp_idx, the follow-on assignments to vp-members could result in corruption of the structure. Signed-off-by: Andrew Vasquez Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 827210ba2a368058c72cf93e66d7d8aeb55922eb Author: Joe Carnuccio Date: Fri Feb 8 01:57:57 2013 -0500 [SCSI] Revert "[SCSI] qla2xxx: Optimize existing port name server query matching." This reverts commit c0822b63ccbf3b019059f384c290b080cae859f1. Signed-off-by: Joe Carnuccio Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit e452ceb636c416a517ec1b5d964491fd0bda503e Author: Joe Carnuccio Date: Fri Feb 8 01:57:56 2013 -0500 [SCSI] Revert "[SCSI] qla2xxx: Avoid losing any fc ports when loop id's are exhausted." This reverts commit 4dc77c36f86c2dc4e3f483146d33b64d12c0da3f. Signed-off-by: Joe Carnuccio Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit f24b697ba499f971e84478f531de77ede9a2aac1 Author: Paul Bolle Date: Fri Feb 8 01:57:55 2013 -0500 [SCSI] qla2xxx: silence two GCC warnings. Compiling qla_gs.o (part of the qla2xxx module) triggers two GCC warnings: drivers/scsi/qla2xxx/qla_gs.c: In function ‘qla2x00_fdmi_rhba’: drivers/scsi/qla2xxx/qla_gs.c:1339:7: warning: array subscript is above array bounds [-Warray-bounds] drivers/scsi/qla2xxx/qla_gs.c: In function ‘qla2x00_fdmi_register’: drivers/scsi/qla2xxx/qla_gs.c:1663:15: warning: array subscript is above array bounds [-Warray-bounds] It seems that the sequence of a strcpy followed by a strlen confuses GCC when it is keeping track of array bounds here. (It is not clear to me which array triggers this warning and by how much GCC thinks the subscript is above its bounds. Neither is it clear to me why comparable code in these two functions doesn't trigger this warning.) An easy way to silence these warnings is to use preprocessor macros and strncpy, as that apparently gives GCC enough information to keep track of array bounds. Signed-off-by: Paul Bolle Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 1e63395ce04f6d64f67c64d87762d2b6d48ec4d4 Author: Saurav Kashyap Date: Fri Feb 8 01:57:54 2013 -0500 [SCSI] qla2xxx: Update the copyright information. Signed-off-by: Giridhar Malavali Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 6c315553285533d6785ec313e437c3b3ab89ad47 Author: Saurav Kashyap Date: Fri Feb 8 01:57:53 2013 -0500 [SCSI] qla2xxx: Display the lock owner on lock acquire failure. Signed-off-by: Giridhar Malavali Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 992357c6514398ab874198f5059c5e5024480f8c Author: Chad Dupuis Date: Fri Feb 8 01:57:52 2013 -0500 [SCSI] qla2xxx: Move loopback mode reset after chip reset check. If we need to do a chip reset because of a serious loopback error don't try to reset the loopback mode on the port as the mailbox command will timeout. Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 67b2a31f517a43631af218d146e39f4e502b3e83 Author: Chad Dupuis Date: Fri Feb 8 01:57:51 2013 -0500 [SCSI] qla2xxx: Extra loopback error handling for ISP83xx. Add the following error handling for loopback diagnostic mode with ISP83xx: 1. If we do not receive an MBA_DCBX_COMPLETE after our initial set port configuration command, try to reset the port back into normal operation. If that fails, take a FCoE dump and then reset the chip. 2. After completing the loopback diagnostic operation, if the reset of the port back into normal operation fails then reset the port so we take a FCoE dump and then reset the chip. 3. When we receive an IDC notification and the requested operation is loopback extend the loop down timer so the link does not appear to down for an extended period of time. [jejb: fix checkpatch issue] Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit b00ee7d770abbe1e63df74eada0376c75ceb2daf Author: Chad Dupuis Date: Fri Feb 8 01:57:50 2013 -0500 [SCSI] qla2xxx: Unload hangs after issuing BSG commands to vport. BSG code path increments ref count in the send path, but does not decrement in the return path leading to hang during unload of the driver. Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 619d5a0ded06f6d46092205a68a92f7c3a01dd44 Author: Saurav Kashyap Date: Fri Feb 8 01:57:49 2013 -0500 [SCSI] qla2xxx: Do MPI reset only for ISP81xx. Signed-off-by: Giridhar Malavali Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 61e1b269be20f2bd81d0e6a2ccdc42eca3a6f059 Author: Joe Carnuccio Date: Fri Feb 8 01:57:48 2013 -0500 [SCSI] qla2xxx: Do link initialization on get loop id failure. To avoid continually doing ISP resets when get loop id fails to obtain the adapter loop id, first try to do a link initialization. Signed-off-by: Joe Carnuccio Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit e9454a883b3a26a63c3810f8e4f33c71e218728c Author: Giridhar Malavali Date: Fri Feb 8 01:57:47 2013 -0500 [SCSI] qla2xxx: Update the FTP site references in the driver sources. Signed-off-by: Giridhar Malavali Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 1bcc46cb74d3ba7471eac57af8931ca1a03e7b36 Author: Chad Dupuis Date: Fri Feb 8 01:57:46 2013 -0500 [SCSI] qla2xxx: Reject loopback request if one is already in progress. If another function on the port has initiated a loopback operation do not process the current request. Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 37f489b580929c542dddc4bb6389d3aeb9bd39be Author: Joe Carnuccio Date: Fri Feb 8 01:57:45 2013 -0500 [SCSI] qla2xxx: Print thermal unsupported message. When the Read SFP mailbox command fails on the thermal device, print a message explaining that thermal is not supported. Signed-off-by: Joe Carnuccio Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 552f3f9aca3b8aee5b1b52bece6771d3275ca744 Author: Masanari Iida Date: Fri Feb 8 01:57:44 2013 -0500 [SCSI] qla2xxx: Avoid null pointer dereference in shutdown routine. Signed-off-by: Masanari Iida Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit a865c50a64f1c0c27fc0be0652b6a352f537cb6f Author: Saurav Kashyap Date: Fri Feb 8 01:57:43 2013 -0500 [SCSI] qla2xxx: Get VPD information from common location for CNA. Signed-off-by: Giridhar Malavali Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 0b7e7c53307de217cfc7eeb036c9b8b013d67fcc Author: Andrew Vasquez Date: Fri Feb 8 01:57:42 2013 -0500 [SCSI] qla2xxx: Correct race in loop_state assignment during reset handling. There's a subtle race in the loop/bus-reset handling whereby a VHA's loop-state can get incorrectly set to 'down' after the loop-reset and firmware's completion of link re-negotiation. The original code incorrectly assumes that firmware AENs would arrive only after mailbox-command execution to initiate the link-flap. Here's a good case with the old code (AENs arrive after mailbox-command completion): qla2xxx [0000:03:00.1]-8012:91: BUS RESET ISSUED nexus=91:0:4. qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010100. qla2xxx [0000:03:00.1]-580e:91: Asynchronous P2P MODE received. qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010400. qla2xxx [0000:03:00.1]-802b:91: BUS RESET SUCCEEDED nexus=91:0:4. qla2xxx [0000:03:00.1]-480b:91: Reset marker scheduled. qla2xxx [0000:03:00.1]-5812:91: Port database changed ffff 0006 0000. qla2xxx [0000:03:00.1]-505f:91: Link is operational (4 Gbps). qla2xxx [0000:03:00.1]-480c:91: Reset marker end. qla2xxx [0000:03:00.1]-480f:91: Loop resync scheduled. qla2xxx [0000:03:00.1]-8837:91: F/W Ready - OK. qla2xxx [0000:03:00.1]-883a:91: fw_state=3 (7, 0, 0, 0) curr time=170b8f315. qla2xxx [0000:03:00.1]-280e:91: HBA in F P2P topology. qla2xxx [0000:03:00.1]-2812:91: qla2x00_configure_hba success qla2xxx [0000:03:00.1]-2814:91: Configure loop -- dpc flags = 0x5260. notice how the 'Port database changed' (8014) arrived after the bus-reset handler completed 'BUS RESET SUCCEEDED'. Now, here's a failing case with the old code (AENs arrive before mailbox-command completion): qla2xxx [0000:03:00.1]-8012:91: BUS RESET ISSUED nexus=91:0:0. qla2xxx [0000:03:00.1]-580e:91: Asynchronous P2P MODE received. qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010100. qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010400. qla2xxx [0000:03:00.1]-4800:91: DPC handler sleeping. qla2xxx [0000:03:00.1]-5812:91: Port database changed ffff 0006 0000. qla2xxx [0000:03:00.1]-505f:91: Link is operational (4 Gbps). qla2xxx [0000:03:00.1]-802b:91: BUS RESET SUCCEEDED nexus=91:0:0. qla2xxx [0000:03:00.1]-480b:91: Reset marker scheduled. qla2xxx [0000:03:00.1]-480c:91: Reset marker end. qla2xxx [0000:03:00.1]-480f:91: Loop resync scheduled. qla2xxx [0000:03:00.1]-8837:91: F/W Ready - OK. qla2xxx [0000:03:00.1]-883a:91: fw_state=3 (7, 0, 0, 0) curr time=170be9eb2. qla2xxx [0000:03:00.1]-280e:91: HBA in F P2P topology. qla2xxx [0000:03:00.1]-2812:91: qla2x00_configure_hba success qla2xxx [0000:03:00.1]-2814:91: Configure loop -- dpc flags = 0x5260. qla2xxx [0000:03:00.1]-281e:91: Needs RSCN update and loop transition. qla2xxx [0000:03:00.1]-286a:91: qla2x00_configure_loop *** FAILED ***. qla2xxx [0000:03:00.1]-4810:91: Loop resync end. qla2xxx [0000:03:00.1]-4800:91: DPC handler sleeping. This race would ultimately lead to devices go unexpectedly offline until another link-flap or chip-reset would cause driver re-discovery to take place. Signed-off-by: Andrew Vasquez Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 78d56df6174f6858f79620e0e06ece326a744353 Author: Saurav Kashyap Date: Wed Jan 30 03:34:42 2013 -0500 [SCSI] qla2xxx: Correction to the message ids. Signed-off-by: Giridhar Malavali Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 33c36c0a556c307a2430e92148d5e8d5a84d29df Author: Arun Easi Date: Wed Jan 30 03:34:41 2013 -0500 [SCSI] qla2xxx: Prevent enabling target mode for unsupported HBAs. Signed-off-by: Arun Easi Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit b8aa4bdfe13ac3ff51af5d8f79ae0adc20405215 Author: Arun Easi Date: Wed Jan 30 03:34:40 2013 -0500 [SCSI] qla2xxx: Allow ISP81xx to create ATIO queues. Signed-off-by: Arun Easi Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit aa230bc55c169b76a229ff3f927141edf02e7b3a Author: Arun Easi Date: Wed Jan 30 03:34:39 2013 -0500 [SCSI] qla2xxx: Enable target mode support for ISP83xx. Signed-off-by: Arun Easi Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 3c290d0b5f8ff7b0fd2c964c5ec2c14191a9e790 Author: Chad Dupuis Date: Wed Jan 30 03:34:38 2013 -0500 [SCSI] qla2xxx: Ramp down queue depth for attached SCSI devices when driver resources are low. Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 8d93f5502221cc8eb420da65dc86a5ef07b038d0 Author: Chad Dupuis Date: Wed Jan 30 03:34:37 2013 -0500 [SCSI] qla2xxx: Determine the number of outstanding commands based on available resources. Base the number of outstanding requests the driver will keep track of on the available resources instead of being hard-coded. Signed-off-by: Chad Dupuis Signed-off-by: Saurav Kashyap Signed-off-by: James Bottomley commit 6d1f6621fa12800fc84f62db9e0b7a6b623eb439 Author: Dan Carpenter Date: Wed Jan 30 10:06:02 2013 +0300 [SCSI] libosd: check for kzalloc() failure There wasn't any error handling for this kzalloc(). Signed-off-by: Dan Carpenter Acked-by: Boaz Harrosh Signed-off-by: James Bottomley commit 50e9291578886099888b8169459c6f97626ccbfc Author: Dan Carpenter Date: Wed Jan 30 10:07:31 2013 +0300 [SCSI] qla4xxx: don't free NULL dma pool The error path calls dma_pool_free() on this path but "chap_table" is NULL and "chap_dma" is uninitialized. It's cleaner to just return directly. Signed-off-by: Dan Carpenter Acked-by: Vikas Chaudhary Signed-off-by: James Bottomley commit 7c237c5f6d5c62724ccd82aecdcd1fd9bd71dc75 Author: Xiangliang Yu Date: Wed Jan 30 00:25:53 2013 +0800 [SCSI] mvsas: fixed timeout issue when removing module Root cause is libsas will clear asd_sas_port phy_mask value in sas_port_deform after triggering destruct workqueue, but the workqueue will send sync cmd and still need phy_mask value. Now, mvsas using asd_sas_phy setting instead of asd_sas_port setting. Signed-off-by: James Bottomley commit 1f953b0dbc2549318afcc0a70af5542dffbce34a Author: Bhanu Prakash Gollapudi Date: Mon Jan 28 11:43:03 2013 -0800 libfcoe: Check for unusable FCFs before looking for conflicting FCFs When there are multiple FCFs in the fabric, and one of them becomes unavailable, the fabric name for the unavailable FCF becomes 0 along with FIP_FL_AVAIL getting reset. In this case, FCF selection logic does not select any FCF as it first checks for conflicting FCFs (since fabric name is 0, it fails the condition), instead of first checking if it is usable or not. Fix it by first checking if FCF is usable and skip that FCF, and go to the next one in the list to check if it can be selected. Signed-off-by: Bhanu Prakash Gollapudi Signed-off-by: Robert Love commit a586069b0f56a700d6f6249a64cbc313dd4a97e0 Author: Krishna Mohan Date: Wed Feb 13 16:33:04 2013 -0800 libfc: XenServer fails to mount root filesystem. schedule_delayed_work() is using msec instead of jiffies. On PLOGI reject from target, remote port retry is scheduled @ 20 sec instead of 2sec(FC_DEF_E_D_TOV). XenServer dom0 kernel is configured with CONFIG_HZ=100Hz Signed-off-by: Krishna Mohan Signed-off-by: Robert Love commit b2593cbe18c4f50c9acacd88860b051f567654d7 Author: Bhanu Prakash Gollapudi Date: Mon Feb 4 23:00:20 2013 -0800 libfcoe: Handle CVL while waiting to select an FCF When a CVL is received while we wait to select best FCF, we drop it without handling it. This causes initiator and the switch to go out-of-sync. Initiator proceeds selecting one of the FCFs and tries to send FIP FLOGI. However the switch may reject the FLOGI, as it has cleared its internal state, and expects the initiator to start FIP discovery protocol. Fix this condition by resetting the fcoe controller. Signed-off-by: Bhanu Prakash Gollapudi Reviewed-by: Yi Zou Signed-off-by: Robert Love commit 94aa743a2af455ee3bd9fc3410dff82f6abf4522 Author: Neerav Parikh Date: Tue Jan 15 15:42:38 2013 -0800 fcoe: Fix deadlock while deleting FCoE interface with NPIV ports This patch fixes following deadlock caused by destroying of an FCoE interface with active NPIV ports on that interface. Call Trace: [] schedule+0x64/0x66 [] schedule_timeout+0x36/0xe3 [] ? update_curr+0xd6/0x110 [] ? hrtick_update+0x1b/0x4d [] ? dequeue_task_fair+0x1ca/0x1d9 [] ? need_resched+0x1e/0x28 [] wait_for_common+0x9b/0xf1 [] ? try_to_wake_up+0x1e0/0x1e0 [] wait_for_completion+0x1d/0x1f [] flush_workqueue+0x116/0x2a1 [] drain_workqueue+0x66/0x14c [] destroy_workqueue+0x1a/0xcf [] fc_remove_host+0x154/0x17f [scsi_transport_fc] [] fcoe_if_destroy+0x184/0x1c9 [fcoe] [] fcoe_destroy_work+0x2b/0x44 [fcoe] [] process_one_work+0x1a8/0x2a4 [] ? fcoe_if_destroy+0x1c9/0x1c9 [fcoe] [] worker_thread+0x1db/0x268 [] ? wake_up_bit+0x2a/0x2a [] ? manage_workers.clone.16+0x1f6/0x1f6 [] kthread+0x6f/0x77 [] kernel_thread_helper+0x4/0x10 [] ? kthread_freezable_should_stop+0x4b/0x4b Call Trace: [] schedule+0x64/0x66 [] schedule_preempt_disabled+0xe/0x10 [] __mutex_lock_common.clone.5+0x117/0x17a [] __mutex_lock_slowpath+0x13/0x15 [] mutex_lock+0x23/0x37 [] ? list_del+0x11/0x30 [] fcoe_vport_destroy+0x43/0x5f [fcoe] [] fc_vport_terminate+0x48/0x110 [scsi_transport_fc] [] fc_vport_sched_delete+0x1d/0x79 [scsi_transport_fc] [] process_one_work+0x1a8/0x2a4 [] ? fc_vport_terminate+0x110/0x110 [scsi_transport_fc] [] worker_thread+0x1db/0x268 [] ? manage_workers.clone.16+0x1f6/0x1f6 [] kthread+0x6f/0x77 [] kernel_thread_helper+0x4/0x10 [] ? kthread_freezable_should_stop+0x4b/0x4b [] ? gs_change+0x13/0x13 A prior attempt to fix this issue is posted here: http://lists.open-fcoe.org/pipermail/devel/2012-October/012318.html or http://article.gmane.org/gmane.linux.scsi.open-fcoe.devel/11924 Based on feedback and discussion with Neil Horman it seems that the above patch may have a case where the fcoe_vport_destroy() and fcoe_destroy_work() can race; hence that patch has been withdrawn with this patch that is trying to solve the same problem in a different way. In the current approach instead of removing the fcoe_config_mutex from the vport_delete callback function; I've chosen to delete all the NPIV ports first on a given root lport before continuing with the removal of the root lport. Signed-off-by: Neerav Parikh Tested-by: Marcus Dennis Acked-by: Neil Horman Signed-off-by: Robert Love commit f9184df3b99375964340c1a78e33f304bbf15f06 Author: Neil Horman Date: Tue Jan 15 14:34:40 2013 -0500 fcoe: close race on link speed detection in fcoe code When creating an fcoe interfce, we call fcoe_link_speed_update before we add the lports fcoe interface to the fc_hostlist. Since network device events like NETDEV_CHANGE are only processed if an fcoe interface is found with an underlying netdev that matches the netdev of the event. Since this processing in fcoe_device_notification is how link_speed changes get communicated to the libfc code (via fcoe_link_speed_update), we have a race condition - if a NETDEV_CHANGE event is sent after the call to fcoe_link_speed_update in fcoe_netdev_config, but before we add the interface to the fc_hostlist, we will loose the event and attributes like /sys/class/fc_host/hostX/speed will not get updated properly. Fix this by moving the add to the fc_hostlist above the serialized call to fcoe_netdev_config, ensuring that we catch netdev envents before we make a direct call to fcoe_link_speed_update. Also use this opportunity to clean up access to the fc_hostlist a bit by creating a fcoe_hostlist_del accessor and replacing the cleanup in fcoe_exit to use it properly. Tested by myself successfully [ Comment over 80 chars broken into multi-line by Robert Love to satisfy checkpatch.pl ] Signed-off-by: Neil Horman Reviewed-by: Yi Zou Signed-off-by: Robert Love commit cf02820041668b14cbfa0fbd2bab45ac79bd6174 Author: David Howells Date: Wed Dec 19 16:07:25 2012 +0000 UAPI: (Scripted) Disintegrate include/scsi/fc Signed-off-by: David Howells Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Michael Kerrisk Acked-by: Paul E. McKenney Acked-by: Dave Jones commit ee7afd717c26299c85675d84c7ff89a9c989f4fa Author: David Howells Date: Wed Dec 19 16:07:23 2012 +0000 UAPI: (Scripted) Disintegrate include/scsi Signed-off-by: David Howells Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Michael Kerrisk Acked-by: Paul E. McKenney Acked-by: Dave Jones commit 4f670ff8eb4cb3e9e6ae0c0c6976faa0a4503751 Author: Al Viro Date: Fri Dec 7 14:10:14 2012 +0000 debris left by "[SCSI] libfcoe: Remove mutex_trylock/restart_syscall checks" AFAICS, the situation for fcoe_transport_disable() seems to be the same as for fcoe_transport_enable(). IOW, shouldn't it have restart_syscall() removed as well? I don't see any in-tree ->disable() instances that could return -ERESTARTSYS, anyway... Signed-off-by: Al Viro Signed-off-by: Robert Love commit b8b3e697d15165090583bed850879b1f3b250db0 Author: Yi Zou Date: Thu Dec 6 06:24:59 2012 +0000 bnx2fc: use fcoe_get_lesb/fcoe_ctlr_get_lesb() directly from libfcoe Drop the bnx2fc_xxx versions as they are basically the same. Signed-off-by: Yi Zou Cc: Bhanu Prakash Gollapudi Tested-by: Marcus Dennis Signed-off-by: Robert Love commit 0e0f9cd6a80dc883dab4c82c17edc1abe485cbd9 Author: Yi Zou Date: Thu Dec 6 06:24:44 2012 +0000 bnx2fc: use fcoe_link_speed_update() from the exported symbol in libfcoe We have fcoe_link_speed_update() in libfcoe ready for use now, take out the bnx2fc version which is almost the same. Signed-off-by: Yi Zou Cc: Bhanu Prakash Gollapudi Tested-by: Marcus Dennis Signed-off-by: Robert Love commit c3d7909b865274ffa74fa2715c6663caa51a80e1 Author: Yi Zou Date: Thu Dec 6 06:24:29 2012 +0000 bnx2fc: add support to get_netdev for bnx2f_interface Adds support to fcoe_port's newly added get_netdev fucntion pointer for bnx2fc. Signed-off-by: Yi Zou Cc: Bhanu Prakash Gollapudi Tested-by: Marcus Dennis Signed-off-by: Robert Love commit 57c2728fa806aff08703e5739620454d723bc865 Author: Yi Zou Date: Thu Dec 6 06:24:13 2012 +0000 libfcoe, fcoe: consolidate the fcoe_ctlr_get_lesb/fcoe_get_lesb Similarly they can be moved into libfcoe instead of being private to fcoe now. Also add comments particularly on the term LESB to the corresponding function. Signed-off-by: Yi Zou Cc: Bhanu Prakash Gollapudi Tested-by: Marcus Dennis Signed-off-by: Robert Love commit 03702689fcc985e9cb45b57099ebd5066f674739 Author: Yi Zou Date: Thu Dec 6 06:23:58 2012 +0000 libfcoe, fcoe: move fcoe_link_speed_update() to libfcoe and export it With the previous patch, fcoe_link_speed_update() can be moved into libfcoe and exported to used by fcoe, bnx2fc, and etc. Signed-off-by: Yi Zou Cc: Bhanu Prakash Gollapudi Tested-by: Marcus Dennis Signed-off-by: Robert Love commit 66524ec9d0aeaa8bc59077c7c5f78d09ec9eeb9d Author: Yi Zou Date: Thu Dec 6 06:23:43 2012 +0000 fcoe: add support to the get_netdev() for fcoe_interface Adds support to fcoe_port's newly added get_netdev fucntion pointer. Signed-off-by: Yi Zou Cc: Bhanu Prakash Gollapudi Tested-by: Marcus Dennis Signed-off-by: Robert Love commit 8106fb4790c33547a034db53f7658bccd3cfbf6b Author: Yi Zou Date: Thu Dec 6 06:23:27 2012 +0000 fcoe: prep work to start consolidate the usage of fcoe_netdev Currently, in the default kernel fcoe driver, it is needed to get to the underlying private per fcoe transport's private structure, e.g., fcoe_interface in fcoe.ko, and returns the associated netdev. The similar logic exists in other fcoe drivers, e.g., bnx2fc, so we add a function pointer into the common fcoe_port struct to allow individual fcoe transport implementaion (fcoe and bnx2fc) to get the corresponding netdev associated with a give lport. Then a inline fcoe_get_netdev() is added as part of libfcoe for all underlying fcoe transport drivers to use regardless of its individual fcoe transport driver, and also allows move more common code such as fcoe_link_speed_update or fcoe_ctlr_get_lesb to be in libfcoe, rather than specific to fcoe. This patch is a prep work that adds aforementioned fucntion pointer, and followed by the actual code changes to make use of it. Signed-off-by: Yi Zou Cc: Bhanu Prakash Gollapudi Tested-by: Marcus Dennis Signed-off-by: Robert Love commit 8e6c5363dc52afbc60011c2c079bf4c4d26b1272 Author: Robert Love Date: Tue Dec 4 02:14:53 2012 +0000 libfc, libfcoe, fcoe: Convert debug_logging macros to pr_info Convert libfc, libfcoe and fcoe's debug_logging macros to use pr_info() instead of printk(KERN_INFO, ...). checkpatch.pl now complains about this, so convert libfcoe to preferred method. Signed-off-by: Robert Love Tested-by: Marcus Dennis commit 6e89ea3f1032d5c762f1ae9b0bd2039794596813 Author: Robert Love Date: Tue Nov 27 06:53:40 2012 +0000 bnx2fc: Use the fcoe_sysfs control interface This patch adds support for the new fcoe_sysfs control interface to bnx2fc.ko. It keeps the deprecated interface in tact and therefore either the legacy or the new control interfaces can be used. A mixed mode is not supported. A user must either use the new interfaces or the old ones, but not both. The fcoe_ctlr's link state is now driven by both the netdev link state as well as the fcoe_ctlr_device's enabled attribute. The link must be up and the fcoe_ctlr_device must be enabled before the FCoE Controller starts discovery or login. Signed-off-by: Robert Love Acked-by: Neil Horman commit 435c86679a24ead623c8a47ca31038e250a75e05 Author: Robert Love Date: Tue Nov 27 06:53:35 2012 +0000 fcoe: Use the fcoe_sysfs control interface This patch adds support for the new fcoe_sysfs control interface to fcoe.ko. It keeps the deprecated interface in tact and therefore either the legacy or the new control interfaces can be used. A mixed mode is not supported. A user must either use the new interfaces or the old ones, but not both. The fcoe_ctlr's link state is now driven by both the netdev link state as well as the fcoe_ctlr_device's enabled attribute. The link must be up and the fcoe_ctlr_device must be enabled before the FCoE Controller starts discovery or login. Signed-off-by: Robert Love Acked-by: Neil Horman commit 6a891b071b640e1de44c4a5117fa2c974dcfa84a Author: Robert Love Date: Tue Nov 27 06:53:30 2012 +0000 libfcoe, fcoe, bnx2fc: Add new fcoe control interface This patch does a few things. 1) Makes /sys/bus/fcoe/ctlr_{create,destroy} interfaces. These interfaces take an and will either create an FCoE Controller or destroy an FCoE Controller depending on which file is written to. The new FCoE Controller will start in a DISABLED state and will not do discovery or login until it is ENABLED. This pause will allow us to configure the FCoE Controller before enabling it. 2) Makes the 'mode' attribute of a fcoe_ctlr_device writale. This allows the user to configure the mode in which the FCoE Controller will start in when it is ENABLED. Possible modes are 'Fabric', or 'VN2VN'. The default mode for a fcoe_ctlr{,_device} is 'Fabric'. Drivers must implement the set_fcoe_ctlr_mode routine to support this feature. libfcoe offers an exported routine to set a FCoE Controller's mode. The mode can only be changed when the FCoE Controller is DISABLED. This patch also removes the get_fcoe_ctlr_mode pointer in the fcoe_sysfs function template, the code in fcoe_ctlr.c to get the mode and the assignment of the fcoe_sysfs function pointer to the fcoe_ctlr.c implementation (in fcoe and bnx2fc). fcoe_sysfs can return that value for the mode without consulting the LLD. 3) Make a 'enabled' attribute of a fcoe_ctlr_device. On a read, fcoe_sysfs will return the attribute's value. On a write, fcoe_sysfs will call the LLD (if there is a callback) to notifiy that the enalbed state has changed. This patch maintains the old FCoE control interfaces as module parameters, but it adds comments pointing out that the old interfaces are deprecated. Signed-off-by: Robert Love Acked-by: Neil Horman commit 3993de6183885a099163b9562a2ea9c07b994a0e Author: Robert Love Date: Tue Nov 27 06:53:24 2012 +0000 libfcoe: Add fcoe_sysfs debug logging level Add a macro to print fcoe_sysfs debug statements. Signed-off-by: Robert Love Acked-by: Neil Horman commit ef60f674344cdb6d1da199f6b8d7d7016813cc6f Author: Robert Love Date: Tue Nov 27 06:53:19 2012 +0000 libfcoe: Save some memory and optimize name lookups Instead of creating a structure with an enum and a pointer to a string, simply allocate an array of strings and use the enum values for the indicies. This means that we do not need to iterate through the list of entries when looking up a string name by its enum key. This will also help with a latter patch that will add more fcoe_sysfs attributes that will also use the fcoe_enum_name_search macro. One attribute will also do a reverse lookup which requires less code when the enum-to-string mappings are organized as this patch makes them to be. Signed-off-by: Robert Love Acked-by: Neil Horman commit 354d1123c16942b8a3ca9131b8fc2f8c06e2ed7f Author: Robert Love Date: Tue Oct 30 01:55:46 2012 +0000 Documentation: Add missing devices/ to devices path Add missing 'devices/ subdirectory to /sys/bus/fcoe/devices/ctlr_X and /sys/bus/fcoe/devices/fcf_X references. Signed-off-by: Robert Love Tested-by: Ross Brattain commit 5b97fabdc815b4b60bac2328b58c5c7274debf58 Author: Vasu Dev Date: Tue Oct 9 01:43:24 2012 +0000 libfc: fix REC handling Currently fc_fcp_timeout doesn't check FC_RP_FLAGS_REC_SUPPORTED flag first, this prevents REC request ever going out at all to the target having REC support. So this patches fixes the fc_fcp_timeout by checking FC_RP_FLAGS_REC_SUPPORTED flag first. The changed order won't cause any issue during clearing FC_RP_FLAGS_REC_SUPPORTED on failed IO with target not supporting FC_RP_FLAGS_REC_SUPPORTED, since retry on failed IO would succeed. Signed-off-by: Vasu Dev Tested-by: Ross Brattain Signed-off-by: Robert Love