Up to [local] / src / sys / scsi
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.26 / (download) - annotate - [select for diffs], Sat Jul 2 08:50:42 2022 UTC (23 months, 1 week ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4,
OPENBSD_7_3_BASE,
OPENBSD_7_3,
OPENBSD_7_2_BASE,
OPENBSD_7_2,
HEAD
Changes since 1.25: +1 -3 lines
Diff to previous 1.25 (colored)
Remove unused device poll functions. Also remove unneeded includes of <sys/poll.h> and <sys/select.h>. Some addenda from jsg@. OK miod@ mpi@
Revision 1.25 / (download) - annotate - [select for diffs], Sun Oct 24 16:57:30 2021 UTC (2 years, 7 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE,
OPENBSD_7_1
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)
Constify struct cfattach. ok visa@ a long time ago, ok krw@
Revision 1.24 / (download) - annotate - [select for diffs], Sat Sep 5 14:21:52 2020 UTC (3 years, 9 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE,
OPENBSD_7_0,
OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)
Rename SID_INQUIRY_HDR (a.k.a. 5) to more explicit SID_SCSI2_HDRLEN and use it to replace various uses of '5' when calculating the amount of data in the INQUIRY response. Matches up more naturally with SID_SCSI2_ALEN. Also use to fix SCSIDEBUG display of INQUIRY responses to show correct count of bytes received/available.
Revision 1.23 / (download) - annotate - [select for diffs], Tue Jun 30 18:43:37 2020 UTC (3 years, 11 months ago) by krw
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)
Nuke unneeded 'sa_inqbuf' member of struct scsi_attach_args. It always points to the inquiry data contained in the struct scsi_link pointed to by the other member, sa_sc_link.
Revision 1.22 / (download) - annotate - [select for diffs], Sat Aug 17 15:31:41 2019 UTC (4 years, 9 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE,
OPENBSD_6_7,
OPENBSD_6_6_BASE,
OPENBSD_6_6
Changes since 1.21: +2 -3 lines
Diff to previous 1.21 (colored)
Nuke some unused variables, tweak some declarations and variable names into a consistant idiom.
Revision 1.21 / (download) - annotate - [select for diffs], Thu Aug 9 01:41:48 2018 UTC (5 years, 10 months ago) by jmatthew
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE,
OPENBSD_6_5,
OPENBSD_6_4_BASE,
OPENBSD_6_4
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)
Remove the port id check entirely. We don't do anything with the port id after that, so it seems like a silly reason to reject a target. ok dlg@ deraadt@
Revision 1.20 / (download) - annotate - [select for diffs], Fri Jul 27 04:57:45 2018 UTC (5 years, 10 months ago) by jmatthew
Branch: MAIN
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)
hds arrays can have more ports now, apparently; this lets theo use 4 paths to his array rather than just 2. ok dlg@
Revision 1.19 / (download) - annotate - [select for diffs], Sun Jun 7 19:13:27 2015 UTC (9 years ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE,
OPENBSD_6_3,
OPENBSD_6_2_BASE,
OPENBSD_6_2,
OPENBSD_6_1_BASE,
OPENBSD_6_1,
OPENBSD_6_0_BASE,
OPENBSD_6_0,
OPENBSD_5_9_BASE,
OPENBSD_5_9,
OPENBSD_5_8_BASE,
OPENBSD_5_8
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)
More damned eye searing whitespace.
Revision 1.18 / (download) - annotate - [select for diffs], Sat Mar 14 03:38:52 2015 UTC (9 years, 3 months ago) by jsg
Branch: MAIN
Changes since 1.17: +1 -2 lines
Diff to previous 1.17 (colored)
Remove some includes include-what-you-use claims don't have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
Revision 1.17 / (download) - annotate - [select for diffs], Sun Sep 14 14:17:26 2014 UTC (9 years, 8 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE,
OPENBSD_5_7
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (colored)
remove uneeded proc.h includes ok mpi@ kspillner@
Revision 1.16 / (download) - annotate - [select for diffs], Sun Apr 20 00:50:18 2014 UTC (10 years, 1 month ago) by dlg
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE,
OPENBSD_5_6
Changes since 1.15: +9 -10 lines
Diff to previous 1.15 (colored)
make the status handler more like rdac and emc. the big functional change is to check xs->status on completion to make sure it worked.
Revision 1.15 / (download) - annotate - [select for diffs], Thu Apr 3 04:02:50 2014 UTC (10 years, 2 months ago) by dlg
Branch: MAIN
Changes since 1.14: +60 -46 lines
Diff to previous 1.14 (colored)
massage the preferred path detection to happen when mpath asks for a paths status, rather than on attach. the status it returns depends on the type of device you have. hds provides two types of arrays, symmetric and asymmetric. on a symmetric device you can shove io down any path to any port on any controller and it will work. on symmetric devices we say all paths are part of the same group, and unconditionally return active path status to any check request. on asymmetric devices we group paths by which controller in teh array they connect to. the controllers return whether theyre providing a preferred path via a couple of status bits in a hds specific vpd page, so we query that and return the state of the bits. unfortunately hds arrays dont report change of lun ownership in any way, so we dont currently have any way of failing over at the moment. ill have to think about the least worst way to handle that. tested by deraadt@ on hppa
Revision 1.14 / (download) - annotate - [select for diffs], Fri Dec 6 21:03:02 2013 UTC (10 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE,
OPENBSD_5_5
Changes since 1.13: +1 -4 lines
Diff to previous 1.13 (colored)
Add a DVACT_WAKEUP op to the *_activate() API. This is called after the kernel resumes normal (non-cold, able to run processes, etc) operation. Previously we were relying on specific DVACT_RESUME op's in drivers creating callback/threads themselves, but that has become too common, indicating the need for a built-in mechanism. ok dlg kettenis, tested by a sufficient amount of people
Revision 1.13 / (download) - annotate - [select for diffs], Sat Nov 23 23:35:02 2013 UTC (10 years, 6 months ago) by gsoares
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)
fix format string; OK deraadt@
Revision 1.12 / (download) - annotate - [select for diffs], Tue Aug 27 00:57:44 2013 UTC (10 years, 9 months ago) by dlg
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)
make path driver match routes return 8 so they will definitely be higher than the real device drivers. ses returns 3 on some dells, which could be confusing for autoconf if it has to decide between that and a path driver.
Revision 1.11 / (download) - annotate - [select for diffs], Tue Aug 27 00:53:10 2013 UTC (10 years, 9 months ago) by dlg
Branch: MAIN
Changes since 1.10: +2 -3 lines
Diff to previous 1.10 (colored)
get rid of the different path scheduler types, which simplifies the code that picks the next path. we assume roundrobin within a group of paths now. the asym sym(4) devices work around this by putting every path in its own group.
Revision 1.10 / (download) - annotate - [select for diffs], Tue Aug 27 00:24:03 2013 UTC (10 years, 9 months ago) by dlg
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)
these were forgotten in the change from pointing paths to groups instead of devices. fixes compilation when theyre enabled. how embarrassment.
Revision 1.9 / (download) - annotate - [select for diffs], Mon Aug 26 10:13:17 2013 UTC (10 years, 9 months ago) by dlg
Branch: MAIN
Changes since 1.8: +7 -13 lines
Diff to previous 1.8 (colored)
when i first imagined how paths on mpath worked, i thought the midlayer would be able to call things on paths to explicitely online or offline them. turns out thats not how the Real World(tm) works, instead its better to wait for failure and probe for the status of paths, and pick the active group of paths from that. there's even evidence that the mechanisms for forcing controllers into active/passive roles from the scsi initiator are being deprecated. they expect hosts to be able to cope with arbitrary controller role changes and failover accordingly. this replaces the online and offline function pointers in the path_ops structure with a status check function pointer. instead of returning a state, the checker is expected to call mpath_path_status() when its finished figuring out what the state is.
Revision 1.8 / (download) - annotate - [select for diffs], Mon Aug 26 07:38:56 2013 UTC (10 years, 9 months ago) by dlg
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)
checksense handlers in path drivers can return MPATH_SENSE_DECLINED (who can tell ive spent time in web servers) to say they decline interpreting the sense data, or MPATH_SENSE_FAILOVER to say the sense data is from the controller saying its failed over. all path drivers currently decline handling sense data.
Revision 1.7 / (download) - annotate - [select for diffs], Mon Aug 26 07:29:45 2013 UTC (10 years, 9 months ago) by dlg
Branch: MAIN
Changes since 1.6: +3 -2 lines
Diff to previous 1.6 (colored)
introduce the idea of groups of paths. mpath had stuff to managed devices and paths. devices are what mpath presents as targets on its scsibus, and paths are the things attached to hardware controllers that are available to shove io down to the actual real target. all paths were considered usable for handling io on behalf of a device. this adds groups in between devices and paths. only paths on the first group in the list will now be used to handle io now. sym devices will only have one group. asym devices will treat each path as a different group. rdac, emc, and hds will group paths based on which controller in the array theyre connected to. in the future we will intercept sense data from passive controllers and use that to start running checks to pick a new primary group so we can handle controller failover situations. the group id in hds(4) is currently busted, everything else should be correct.
Revision 1.6 / (download) - annotate - [select for diffs], Mon Jul 11 01:02:48 2011 UTC (12 years, 11 months ago) by dlg
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE,
OPENBSD_5_4,
OPENBSD_5_3_BASE,
OPENBSD_5_3,
OPENBSD_5_2_BASE,
OPENBSD_5_2,
OPENBSD_5_1_BASE,
OPENBSD_5_1,
OPENBSD_5_0_BASE,
OPENBSD_5_0
Changes since 1.5: +5 -5 lines
Diff to previous 1.5 (colored)
support "failover" style access to volumes, ie, only use one active path when talking to an array until it goes away, then you fail over to the next active path. im using this to talk to ses(4) in my dell, and allows us to support arrays that have multiple controllers but have no way of reporting which one is active. using the MRU semantic means we can talk to them without them flipping the active role between its controllers all the time. claudios transtec iscsi box is like this.
Revision 1.5 / (download) - annotate - [select for diffs], Sun Jul 3 15:47:18 2011 UTC (12 years, 11 months ago) by matthew
Branch: MAIN
Changes since 1.4: +1 -2 lines
Diff to previous 1.4 (colored)
Remove config_activate() and DVACT_ACTIVATE. PCMCIA's the only thing that's ever used it, and it's long since been changed to use DVACT_{QUIESCE,SUSPEND,RESUME} instead. ok deraadt@, dlg@; miod@ also agreed with this idea when I brought it up a few weeks ago
Revision 1.4 / (download) - annotate - [select for diffs], Wed Jun 15 01:44:14 2011 UTC (12 years, 11 months ago) by dlg
Branch: MAIN
Changes since 1.3: +51 -5 lines
Diff to previous 1.3 (colored)
print which ldev, controller, port, and whether we're asymmetric or symmetric. dont leak bufs on xs failure and make sure we free the buf back to the right dma pool.
Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 15 01:23:25 2011 UTC (12 years, 11 months ago) by dlg
Branch: MAIN
Changes since 1.2: +82 -54 lines
Diff to previous 1.2 (colored)
check the preferred path ownership bit rather than assuming that odd luns like to be talked to on odd paths, and even luns like being talked to on even paths.
Revision 1.2 / (download) - annotate - [select for diffs], Thu Apr 28 10:43:36 2011 UTC (13 years, 1 month ago) by dlg
Branch: MAIN
Changes since 1.1: +1 -2 lines
Diff to previous 1.1 (colored)
clean up the path ops struct a bit. the path drivers init their xsh with their start routines, they dont have to pass pointers to them in the ops struct.
Revision 1.1 / (download) - annotate - [select for diffs], Wed Apr 27 11:36:20 2011 UTC (13 years, 1 month ago) by dlg
Branch: MAIN
hds(4) is a path driver that knows how to talk to some hitachi modular storage arrays. at the moment it makes a naive decision about which controller in an array to talk to. it does work, but a smarter version is being worked on. tested by and ok deraadt@