History log of /openbsd/sys/scsi/mpath_hds.c (Results 1 – 25 of 26)
Revision Date Author Comments
# 1525749f 02-Jul-2022 visa <visa@openbsd.org>

Remove unused device poll functions.

Also remove unneeded includes of <sys/poll.h> and <sys/select.h>.

Some addenda from jsg@.

OK miod@ mpi@


# 9eaf72d1 24-Oct-2021 mpi <mpi@openbsd.org>

Constify struct cfattach.

ok visa@ a long time ago, ok krw@


# 65e0582e 05-Sep-2020 krw <krw@openbsd.org>

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 wi

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.

show more ...


# 0fbd355c 30-Jun-2020 krw <krw@openbsd.org>

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.


# f7a04f0f 17-Aug-2019 krw <krw@openbsd.org>

Nuke some unused variables, tweak some declarations and
variable names into a consistant idiom.


# a903225f 09-Aug-2018 jmatthew <jmatthew@openbsd.org>

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@


# 11bd2714 27-Jul-2018 jmatthew <jmatthew@openbsd.org>

hds arrays can have more ports now, apparently; this lets theo use 4 paths
to his array rather than just 2.

ok dlg@


# 98c7175c 07-Jun-2015 krw <krw@openbsd.org>

More damned eye searing whitespace.


# 21dab745 14-Mar-2015 jsg <jsg@openbsd.org>

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@


# 7f58a11f 14-Sep-2014 jsg <jsg@openbsd.org>

remove uneeded proc.h includes
ok mpi@ kspillner@


# 2cdf3b65 20-Apr-2014 dlg <dlg@openbsd.org>

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.


# 3bc75577 03-Apr-2014 dlg <dlg@openbsd.org>

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 array

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

show more ...


# 37ecb596 06-Dec-2013 deraadt <deraadt@openbsd.org>

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

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

show more ...


# 4e49dba5 23-Nov-2013 gsoares <gsoares@openbsd.org>

fix format string; OK deraadt@


# b2d08956 27-Aug-2013 dlg <dlg@openbsd.org>

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 t

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.

show more ...


# 8f5a0873 27-Aug-2013 dlg <dlg@openbsd.org>

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 puttin

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.

show more ...


# 4a79eefd 27-Aug-2013 dlg <dlg@openbsd.org>

these were forgotten in the change from pointing paths to groups instead
of devices. fixes compilation when theyre enabled.

how embarrassment.


# 9ce0d10e 26-Aug-2013 dlg <dlg@openbsd.org>

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,

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.

show more ...


# cdf96446 26-Aug-2013 dlg <dlg@openbsd.org>

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
se

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.

show more ...


# bba3b8d8 26-Aug-2013 dlg <dlg@openbsd.org>

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 controlle

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.

show more ...


# c32a5b15 11-Jul-2011 dlg <dlg@openbsd.org>

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 m

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.

show more ...


# 0b1c7607 03-Jul-2011 matthew <matthew@openbsd.org>

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@ al

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

show more ...


# 56291004 15-Jun-2011 dlg <dlg@openbsd.org>

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.


# 720b5f82 15-Jun-2011 dlg <dlg@openbsd.org>

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.


# 4ddeee10 28-Apr-2011 dlg <dlg@openbsd.org>

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.


12