Exactly that commit is responsible for boot hang.
Please fix.
BTW, I have MBR on SATA disk (CAM emulated), ICH9.

Revision 223089 - Directory Listing
Modified Tue Jun 14 17:10:32 2011 UTC (5 days, 6 hours ago) by gibbs

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


-- 
http://ache.vniz.net/
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to