summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/devcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/os/devcache.c')
-rw-r--r--usr/src/uts/common/os/devcache.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/usr/src/uts/common/os/devcache.c b/usr/src/uts/common/os/devcache.c
index 14cde49faf..8e1313d487 100644
--- a/usr/src/uts/common/os/devcache.c
+++ b/usr/src/uts/common/os/devcache.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -224,6 +224,7 @@ i_ddi_devices_init(void)
list_create(&nvf_dirty_files, sizeof (nvfd_t),
offsetof(nvfd_t, nvf_link));
mutex_init(&nvf_cache_mutex, NULL, MUTEX_DEFAULT, NULL);
+ retire_store_init();
devid_cache_init();
}
@@ -235,6 +236,16 @@ i_ddi_devices_init(void)
void
i_ddi_read_devices_files(void)
{
+ /*
+ * The retire store should be the first file read as it
+ * may need to offline devices. kfio_disable_read is not
+ * used for retire. For the rationale see the tunable
+ * ddi_retire_store_bypass and comments in:
+ * uts/common/os/retire_store.c
+ */
+
+ retire_store_read();
+
if (!kfio_disable_read) {
mdi_read_devices_files();
devid_cache_read();