freebsd-dev/sbin
Kenneth D. Merry 36d0fa44e2 Add the ability to rescan or reset devices specified by peripheral
name and unit number in camcontrol(8).

Previously camcontrol(8) only supported rescanning or resetting
devices specified by bus:target:lun.  This is because for
rescanning at least, you don't have a peripheral name and unit
number (e.g. da4) for devices that don't exist yet.

That is still the case after this change, but in other cases, when
the device does exist in the CAM EDT (Existing Device Table), we
do a careful lookup of the bus/target/lun if the user supplies a
peripheral name and unit number to find the bus:target:lun and then
issue the requested reset or rescan.

The lookup is done without actually opening the device in question,
since a rescan is often done to make a device go away after it has
been pulled.  (This is especially true for busses/controllers, like
parallel SCSI controllers, that don't automatically detect changes
in topology.)  Opening a device that is no longer there to
determine the bus/target/lun might result in error recovery actions
when the user really just wanted to make the device go away.

sbin/camcontrol/camcontrol.c:
	In dorescan_or_reset(), if the use hasn't specified a
	numeric argument, assume he has specified a device.  Lookup
	the pass(4) instance for that device using the transport
	layer CAMGETPASSTHRU ioctl.  If that is successful, we can
	use the returned bus:target:lun to rescan or reset the
	device.

	Under the hood, resetting a device using XPT_RESET_DEV is
	actually sent via the pass(4) device anyway.  But this
	provides a way for the user to specify devices in a more
	convenient way, and can work on device rescans when the
	device is going away, assuming it still exists in the EDT.

sbin/camcontrol/camcontrol.8:
	Update the man page for the rescan and reset subcommands
	to reflect that you can now use a device name and unit
	number with them.

Sponsored by:	Spectra Logic
MFC after:	3 days
2017-05-03 20:57:52 +00:00
..
adjkerntz Explicitly add more files to the 'runtime' package. 2016-02-09 20:19:31 +00:00
badsect Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bsdlabel sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
camcontrol Add the ability to rescan or reset devices specified by peripheral 2017-05-03 20:57:52 +00:00
ccdconfig ccdconfig first appeared in NetBSD 1.1 2016-10-02 23:19:05 +00:00
clri Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
comcontrol Explicitly add more files to the 'runtime' package. 2016-02-09 20:19:31 +00:00
conscontrol Explicitly add more files to the 'runtime' package. 2016-02-09 20:19:31 +00:00
ddb Explicitly add more files to the 'runtime' package. 2016-02-09 20:19:31 +00:00
decryptcore sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
devd Use a more stream-lined version of fix_value. 2017-03-24 13:46:26 +00:00
devfs sbin/devfs: clarify usage 2017-03-08 23:58:10 +00:00
dhclient Make dhcp-lease-time option supersedable as well. 2017-03-30 18:20:04 +00:00
dmesg Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
dump Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
dumpfs Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
dumpon Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
etherswitchcfg sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
fdisk sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
ffsinfo sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
fsck fsck(8): Don't overrun mount device buffer 2017-04-14 00:22:28 +00:00
fsck_ffs fsck_ffs: Unsign some variables and make use of reallocarray(3). 2017-04-22 14:50:11 +00:00
fsck_msdosfs sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
fsdb sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
fsirand prefix UFS symbols with UFS_ to reduce namespace pollution 2017-02-15 19:50:26 +00:00
gbde sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
geom Fix withered handling of r280687, broken by r286719. 2017-04-27 19:03:08 +00:00
ggate sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
growfs sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
gvinum sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
hastctl sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
hastd Switch hastctl and hastd to libmd instead of openssl for sha256 2017-02-04 06:12:48 +00:00
ifconfig Unbreak ifconfig for mlx4en(4) after r317755 2017-05-03 19:53:01 +00:00
init sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
ipf Disconnect ipftest and ipresend from the build until it can be verified 2017-03-14 02:10:37 +00:00
ipfw Add ipfw table all destroy support. 2017-05-02 17:16:24 +00:00
iscontrol sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
kldconfig Advertise kldxref(8) a little better. 2017-04-27 19:48:00 +00:00
kldload Advertise kldxref(8) a little better. 2017-04-27 19:48:00 +00:00
kldstat Typo. 2017-03-10 19:13:38 +00:00
kldunload Explicitly add more files to the 'runtime' package. 2016-02-09 20:19:31 +00:00
ldconfig sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
md5 Fix date. 2017-03-02 14:50:01 +00:00
mdconfig Make mdconfig(8) not segfault when the kernel returns garbage data. 2017-02-19 16:08:58 +00:00
mdmfs Add missing history sections to a number of storage related man pages 2016-09-16 04:28:31 +00:00
mknod Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
mksnap_ffs Fix an issue in the rev.316718 causing variable to be unsed uninitialized. 2017-04-12 19:23:41 +00:00
mount sbin/mount: strcpy -> strlcpy 2017-04-07 15:39:41 +00:00
mount_cd9660 Add a post-humous manpage for cd9660(5), the ISO-9660 file system 2017-03-23 02:57:08 +00:00
mount_fusefs sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
mount_msdosfs Whilst mount_pcfs originated as a patch in 386BSD, NetBSD 0.8 actually 2017-04-03 18:50:04 +00:00
mount_nfs Document the "oneopenown" option added by r316792. 2017-04-13 22:05:24 +00:00
mount_nullfs sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
mount_udf sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
mount_unionfs sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
nandfs Add missing history sections to a number of storage related man pages 2016-09-16 04:28:31 +00:00
natd Add history section to natd(8) 2016-10-05 20:42:35 +00:00
newfs sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
newfs_msdos The code only converts from bpbHugeSectors to bpbSectors if the sum of 2016-08-30 18:01:26 +00:00
newfs_nandfs newfs_nandfs: Fix unaligned pointer warning 2017-03-04 16:59:55 +00:00
nfsiod Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nos-tun Add history section to nos-tun(8) 2016-10-05 20:45:21 +00:00
nvmecontrol Don't use K&R style prototypes; ANSIfy them 2017-03-28 20:34:02 +00:00
pfctl sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
pflogd sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
ping Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ping6 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
quotacheck sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
rcorder Add rcorder-visualize.sh, which generates graphviz from rc.d scripts 2016-12-06 15:49:39 +00:00
reboot Document how to use reroot with NFS. 2017-03-19 15:49:51 +00:00
recoverdisk sbin: ake use of our rounddown() macro when sys/param.h is available. 2016-05-01 02:24:05 +00:00
resolvconf sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
restore restore(8): Prevent some heap overflows 2017-04-14 00:14:40 +00:00
route Fix userland tools that don't check the format of routing socket 2017-04-16 19:17:10 +00:00
routed Fix userland tools that don't check the format of routing socket 2017-04-16 19:17:10 +00:00
rtsol sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
savecore Switch back to non-IEC units for 1024 bytes 2017-04-15 06:53:07 +00:00
sconfig sconfig appeared in FreeBSD 5.2. 2016-10-03 00:40:20 +00:00
setkey Add large replay widow support to setkey(8) and libipsec. 2017-04-13 14:44:17 +00:00
shutdown Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
spppcontrol Add META_MODE support. 2015-06-13 19:20:56 +00:00
sunlabel sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
swapon Fix late and noauto with geli swap 2017-03-14 12:39:19 +00:00
sysctl Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
tunefs Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
umount sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
zfsbootcfg DIRDEPS_BUILD: Connect new dependencies. 2016-11-13 00:11:23 +00:00
Makefile Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
Makefile.amd64 Integrate nvmecontrol(8) into the amd64 and i386 builds. 2012-09-17 21:41:38 +00:00
Makefile.arm
Makefile.i386 Integrate nvmecontrol(8) into the amd64 and i386 builds. 2012-09-17 21:41:38 +00:00
Makefile.inc Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
Makefile.mips
Makefile.sparc64