freebsd-nq/sys
Justin T. Gibbs 416494d7c9 Plumb device physical path reporting from CAM devices, through GEOM and
DEVFS, and make it accessible via the diskinfo utility.

Extend GEOM's generic attribute query mechanism into generic disk consumers.
sys/geom/geom_disk.c:
sys/geom/geom_disk.h:
sys/cam/scsi/scsi_da.c:
sys/cam/ata/ata_da.c:
	- Allow disk providers to implement a new method which can override
	  the default BIO_GETATTR response, d_getattr(struct bio *).  This
	  function returns -1 if not handled, otherwise it returns 0 or an
	  errno to be passed to g_io_deliver().

sys/cam/scsi/scsi_da.c:
sys/cam/ata/ata_da.c:
	- Don't copy the serial number to dp->d_ident anymore, as the CAM XPT
	  is now responsible for returning this information via
	  d_getattr()->(a)dagetattr()->xpt_getatr().

sys/geom/geom_dev.c:
	- Implement a new ioctl, DIOCGPHYSPATH, which returns the GEOM
	  attribute "GEOM::physpath", if possible.  If the attribute request
	  returns a zero-length string, ENOENT is returned.

usr.sbin/diskinfo/diskinfo.c:
	- If the DIOCGPHYSPATH ioctl is successful, report physical path
	  data when diskinfo is executed with the '-v' option.

Submitted by:	will
Reviewed by:	gibbs
Sponsored by:	Spectra Logic Corporation

Add generic attribute change notification support to GEOM.

sys/sys/geom/geom.h:
	Add a new attrchanged method field to both g_class
	and g_geom.

sys/sys/geom/geom.h:
sys/geom/geom_event.c:
	- Provide the g_attr_changed() function that providers
	  can use to advertise attribute changes.
	- Perform delivery of attribute change notifications
	  from a thread context via the standard GEOM event
	  mechanism.

sys/geom/geom_subr.c:
	Inherit the attrchanged method from class to geom (class instance).

sys/geom/geom_disk.c:
	Provide disk_attr_changed() to provide g_attr_changed() access
	to consumers of the disk API.

sys/cam/scsi/scsi_pass.c:
sys/cam/scsi/scsi_da.c:
sys/geom/geom_dev.c:
sys/geom/geom_disk.c:
	Use attribute changed events to track updates to physical path
	information.

sys/cam/scsi/scsi_da.c:
	Add AC_ADVINFO_CHANGED to the registered asynchronous CAM
	events for this driver.  When this event occurs, and
	the updated buffer type references our physical path
	attribute, emit a GEOM attribute changed event via the
	disk_attr_changed() API.

sys/cam/scsi/scsi_pass.c:
	Add AC_ADVINFO_CHANGED to the registered asynchronous CAM
	events for this driver.  When this event occurs, update
	the physical patch devfs alias for this pass instance.

Submitted by:	gibbs
Sponsored by:	Spectra Logic Corporation
2011-06-14 17:10:32 +00:00
..
amd64 Enable sound support by default on i386 and amd64. 2011-06-11 09:08:46 +00:00
arm MFC 2011-05-13 20:58:48 +00:00
boot Upgrade our copy of llvm/clang to r132879, from upstream's trunk. 2011-06-12 18:01:31 +00:00
bsm
cam Plumb device physical path reporting from CAM devices, through GEOM and 2011-06-14 17:10:32 +00:00
cddl Remove C constructs that are incompatible with C++ from various 2011-06-10 20:10:30 +00:00
compat Commit the missing linux_videdev2_compat.h (lost somewhere between 2011-05-04 13:09:20 +00:00
conf - Eliminate an incorrect include path from the mthca build. 2011-06-10 22:38:31 +00:00
contrib Add _mbuf() variants of various inpcb-related interfaces, including lookup, 2011-06-04 16:33:06 +00:00
crypto Fix a bug in the result of manual assembly. 2011-03-02 14:56:58 +00:00
ddb Fix making kernel dumps from the debugger by creating a command 2011-06-07 01:28:12 +00:00
dev Several enhancements to the Xen block back driver. 2011-06-13 20:36:29 +00:00
fs Add support for flock(2) locks to the new NFSv4 client. I think this 2011-06-05 20:22:56 +00:00
gdb
geom Plumb device physical path reporting from CAM devices, through GEOM and 2011-06-14 17:10:32 +00:00
gnu Fix typo in unused function name 2011-05-22 09:58:48 +00:00
i386 Enable sound support by default on i386 and amd64. 2011-06-11 09:08:46 +00:00
ia64 Add the model number for the Montvale processor (marketed as Itanium 2 9100). 2011-06-11 02:22:11 +00:00
isa Move VT switching hack for suspend/resume from bus drivers to syscons.c 2011-05-09 18:46:49 +00:00
kern We should not return ECHILD when debugging a child and the parent does a 2011-06-14 17:09:30 +00:00
kgssapi
libkern
mips MFC 2011-06-04 22:05:20 +00:00
modules Rename recently added USB serial driver. 2011-06-04 20:40:24 +00:00
net Grab one of the ifcap bits for netmap, and enable printing in ifconfig. 2011-06-14 12:40:55 +00:00
net80211 Certain adapters have HT40 support on some but not all channels. The 2011-06-04 15:05:32 +00:00
netatalk
netgraph Sync ng_nat with recent (r222806) ipfw_nat changes: 2011-06-07 06:48:42 +00:00
netinet Implement "global" mode for ipfw nat. It is similar to natd(8) 2011-06-14 13:35:24 +00:00
netinet6 Add the missing call to ip6_ipsec_filtertunnel() to be able to control 2011-06-08 10:59:36 +00:00
netipsec Release SP's refcount in key_get_spdbyid(). 2011-05-09 13:16:21 +00:00
netipx
netnatm
netncp
netsmb
nfs Change the sysctl naming for the old and new NFS clients 2011-05-15 20:52:43 +00:00
nfsclient In the VOP_PUTPAGES() implementations, change the default error from 2011-06-01 21:00:28 +00:00
nfsserver Add a lock flags argument to the VFS_FHTOVP() file system 2011-05-22 01:07:54 +00:00
nlm Add a lock flags argument to the VFS_FHTOVP() file system 2011-05-22 01:07:54 +00:00
ofed MFC 2011-05-27 16:09:10 +00:00
opencrypto After the r219999 is merged to stable/8, rename fallocf(9) to falloc(9) 2011-04-01 13:28:34 +00:00
pc98 - Reduce diffs against i386. 2011-06-13 13:24:33 +00:00
pci Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
powerpc Follow up r222980 on PowerPC: add sound(4) and common device drivers 2011-06-11 12:34:08 +00:00
rpc This patch is believed to fix a problem in the kernel rpc for 2011-04-27 18:19:26 +00:00
security - Add a FEATURE for capsicum (security_capabilities). 2011-03-04 09:03:54 +00:00
sparc64 - Merge r222980 from x86: add sound(4) and common device drivers. 2011-06-13 12:45:19 +00:00
sys Plumb device physical path reporting from CAM devices, through GEOM and 2011-06-14 17:10:32 +00:00
teken mdoc: reorder sections consistently 2011-06-02 09:56:53 +00:00
tools GNU awk does not output escaped newlines in multi-line printc statements. This 2011-03-31 21:33:33 +00:00
ufs Use alternative, less messy solution to avoid breakage after r223020: 2011-06-13 16:05:41 +00:00
vm Assert that page is VPO_BUSY or page owner object is locked in 2011-06-11 20:15:19 +00:00
x86 Tidy up r222866. 2011-06-08 23:44:59 +00:00
xdr
xen Monitor and emit events for XenStore changes to XenBus trees 2011-06-11 04:59:01 +00:00
Makefile Include sys/xen in cscope tag file generation. 2011-06-10 20:51:41 +00:00