OpenSolaris

Printable Version Enter a New Search
Bug ID 6516954
Synopsis Deadlock in metadevice error return code
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:svm
Keywords rtiq_reviewed
Responsible Engineer James Macfarlane
Reported Against snv_55
Duplicate Of
Introduced In solaris_9
Commit to Fix snv_68
Fixed In snv_68
Release Fixed solaris_nevada(snv_68) , solaris_9(s9patch) (Bug ID:2146207) solaris_10u5(s10u5_01) (Bug ID:2146208,)
Related Bugs 6515641
Submit Date 24-January-2007
Last Update Date 15-August-2007
Description
When SVM returns with an I/O error, the various sub-drivers call into md_devname() to get the name of the failing device.

This in turn calls to md_getdevname(), which tries to take a rwlock on the namespace.

All this is done in interrupt context, using the interrupt from the sd driver for the returning I/O.

If at the same time we have another I/O trying to update the namespace and holding the nm_lock as a writer, then this I/O will not be able to complete as the interrupt thread is blocked waiting on the same lock, and we are stuck.
Work Around
N/A
Comments
N/A