| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Use kenv 'dumpdev' in the same way as etc/rc.d/dumpon
Sponsored by: Multiplay
|
| |
|
| |
|
|
|
|
| |
firmware_register() already reports errors.
|
|
|
|
|
|
|
| |
- Make scan aborted by event restart immediately and infinitely.
- Improve handling of some loop events from firmware.
- Remove loop down timer, adding its functionality to scanner thread.
- Some more unification and simplification.
|
|
|
|
| |
New name better repsents its meaning for modern chips.
|
| |
|
|
|
|
|
| |
Now target mode works for all supported FC adapters except ancient 2100,
which is not tested.
|
|
|
|
|
|
|
| |
Hacks to enable target mode there complicated code, while didn't really
work. And for outdated hardware fixing it is not really interesting.
Initiator mode tested with Qlogic 1080 adapter is still working fine.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Explicitly call SEND CHANGE REQUEST for pre-24xx chips in target mode.
While later firmware always registers for RSCN requests, older one does
it only in initiator mode. But in target mode there RSCN can be the only
way to detect gone intiator.
|
|
|
|
| |
This makes port scanner fix absent port ID for added initiator.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I am not sure this value is really viable yet, but that is what chips
officially support in NPIV mode (in loop mode maximum is 125).
|
|
|
|
|
|
|
| |
For those chips we are not receiving login events, adding initiators
based on ATIO requests. But there is no port ID in that structure, so
in fabric mode we have to explicitly fetch it from firmware to be able
to do normal scan after that.
|
| |
|
|
|
|
| |
Now with present 4K of scratch we can fetch up to 508 ports (16 more).
|
|
|
|
|
|
| |
This change simplifies and unifies port adding/updating for loop and
fabric scanners. It also fixes problems with scanning restarts due to
concurrent port databases changes. It also fixes many cosmetic issues.
|
|
|
|
|
| |
Except cosmetic changes this removes fabric ports from our port database.
It is always firmware duty to manage them, so driver don't need to worry.
|
|
|
|
|
|
|
|
| |
Modern cards in most cases operate abstract port handles, that have no
any relation to real loop IDs. Leave loopid used only where it really
goes about local loop IDs.
While there, fix few more cases where LUNs were still printed in decimal.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
While there, simplify the wait logic.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Without docs I am not completely sure about this, but on my tests new
method works better then previous, at least with our latest firmware.
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the most of chips (except anscient ones) port handlers have no relation
to port IDs. In such situation old code scanning first 125 handlers was
quite naive. Instead of doing that, send to chip single request to get full
list of port handlers available on specific virtual port and scan only them.
Old code had problems with case of several virtual ports enabled, when port
handlers allocated from global address space could easily go above 125.
This change was successfully tested on 23xx, 24xx and 25xx chips in loop
mode with 4 virtual initiator ports, each seing 50 virtual target ports.
|
| |
|
|
|
|
| |
Handle unsupported commands as not conflicting/blocking.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the smbfs iod thread (smb_iod_thread()) is shutting down, smb_iod_destroy()
would call smb_iod_request(). This call could return as soon as the
wakeup(evp) in smb_iod_main() call is done and then could destroy
the mutexes. This caused a race with the rest of smb_iod_main()s
use of these mutexes.
A crash reported on freebsd-stable@ by Christian Kratzer was
diagnosed as a use of one of these mutexes after it was destroyed.
This patch moves destruction of the mutexes from smb_iod_destroy()
to the end of smb_iod_thread(), so that they aren't destroyed before
the thread is done with them. Christian comfirmed that the patch
stopped the crashes from happening.
|
|
|
|
|
|
| |
Fix dumpon compatibility with dumpdev kenv
Sponsored by: Multiplay
|
|
|
|
|
|
|
|
|
| |
On my own tests I see no effect from this change, but I also can't
reproduce the reported problem in general.
PR: 127391
PR: 204554
Submitted by: satz@iranger.com
|
|
|
|
|
|
|
|
|
|
|
| |
Reduce the amount of calls to VOP_BMAP() made from the local vnode
pager.
MFC r291157, r291158:
Include the pages before/after the requested page, that fit into the
reqblock, into the calculation of the size of run of pages.
Tested by: pho
|
|
|
|
|
|
|
|
|
|
| |
Add API to obtain primary enclosure name and ID for /dev/sesX devices.
sesX device number may change between reboots, so to properly identify
the instance we need more data. Name and ID reported here may mach ones
reported by SCSI device, but that is not really required by specs.
Sponsored by: iXsystems, Inc.
|
|
|
|
|
|
| |
Fix tmpfs(5) '/tmp' mount point.
Sponsored by: The FreeBSD Foundation
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Introduce "ha_shared" port option, which being set to "on" moves the
port into separate port group, shared between HA nodes. This allows to
better handle cases when iSCSI portals are bound to CARP address that can
dynamically move between nodes. Some initiators (at least VMware) don't
detect that after iSCSI reconnect they've attached to different SCSI port
from different port group, that totally breakes ALUA status parsing.
In theory, I believe, it should be enough to have different iSCSI portal
group tags on different nodes to make initiators detect this condition,
but it seems like VMware ignores those values, and even full LUN retaste
forced by UA does not help.
- Make CTL report up to three port groups: 1 -- non-HA mode or ports
with "ha_shared" option set, 2 -- HA node 1, 3 -- HA node 2.
- Report Transitioning state for all port groups when HA interlink is
connected, but neither of nodes is primary for the LUN.
|
|
|
|
|
|
| |
While CTL has concept of port options, used at least for iSCSI ports now,
before this change it was impossible to set them manually. There still
no user-configurable port options now, but I am planning to change that.
|
| |
|
|
|
|
| |
Don't truncate an interface name when -W option is specified.
|