OpenSolaris

Printable Version Enter a New Search
Bug ID 6520513
Synopsis ZFS should have better support for device removal
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:zfs
Keywords
Responsible Engineer Eric Schrock
Reported Against s10u3_fcs
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_68
Fixed In snv_68
Release Fixed solaris_nevada(snv_68) , solaris_10u6(s10u6_01) (Bug ID:2148132)
Related Bugs 6602962 , 6646105 , 6704037 , 6704039 , 6715111
Submit Date 1-February-2007
Last Update Date 29-April-2008
Description
ZFS currently does a poor job of recognizing devices which have
been removed from the system.  This is only supported by some
drivers, and doesn't result in a particularly friendly error
message.

We need to distinguish between device removal and arbitrary
failure.  After much research into various dark corners of the
I/O subsystem, it seems like the appropriate way to detect this
is to issue the DKIOCSTATE ioctl() in response to I/O errors.
Modulo some bugs in the current sd(7d) implementation, this will
return DKIO_DEV_GONE if there is no longer any physical
connection to the disk.

ZFS will then close the device and put into a new vdev state,
VDEV_STATE_REMOVED.  By virtue of closing the device, this will
allow the device node to be torn down and for the rest of the
cfgadm(1M) framework to take over.
Work Around
N/A
Comments
N/A