diff options
| author | arutz <none@none> | 2007-11-19 11:35:30 -0800 |
|---|---|---|
| committer | arutz <none@none> | 2007-11-19 11:35:30 -0800 |
| commit | ad1592816585b2f21f25dcc07a8626676a7cec20 (patch) | |
| tree | a6556c737dfd8303b7358eefae721788fe37d6f8 /usr/src/cmd/picl | |
| parent | 24dd95375a09d43fe4f6b55f6d5188f4bac4f68d (diff) | |
| download | illumos-joyent-ad1592816585b2f21f25dcc07a8626676a7cec20.tar.gz | |
6243759 picl is blind to devices/instances attached after boot
Diffstat (limited to 'usr/src/cmd/picl')
| -rw-r--r-- | usr/src/cmd/picl/picld/picl.xml | 1 | ||||
| -rw-r--r-- | usr/src/cmd/picl/plugins/common/devtree/picldevtree.c | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/usr/src/cmd/picl/picld/picl.xml b/usr/src/cmd/picl/picld/picl.xml index f09368fb5c..5a8f38d988 100644 --- a/usr/src/cmd/picl/picld/picl.xml +++ b/usr/src/cmd/picl/picld/picl.xml @@ -48,6 +48,7 @@ grouping='require_all' restart_on='none'> <service_fmri value='svc:/system/filesystem/minimal' /> + <service_fmri value='svc:/system/sysevent' /> </dependency> <dependency diff --git a/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c b/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c index 61435cd0fd..6ae36fed36 100644 --- a/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c +++ b/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c @@ -1517,8 +1517,14 @@ libdevinfo_init(picl_nodehdl_t rooth) picl_nodehdl_t obph; int err; - - if ((di_root = di_init("/", DINFOCPYALL)) == DI_NODE_NIL) + /* + * Use DINFOCACHE so that we obtain all attributes for all + * device instances (without necessarily doing a load/attach + * of all drivers). Once the (on-disk) cache file is built, it + * exists over a reboot and can be read into memory at a very + * low cost. + */ + if ((di_root = di_init("/", DINFOCACHE)) == DI_NODE_NIL) return (PICL_FAILURE); if ((ph = di_prom_init()) == NULL) |
