summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdiskmgt/common/cache.c
diff options
context:
space:
mode:
authorsjelinek <none@none>2005-12-13 10:24:52 -0800
committersjelinek <none@none>2005-12-13 10:24:52 -0800
commit82d71480b3c112fa91f04032225eda15dfe22e17 (patch)
tree4290edb7eb9dba70e31031466e202b8545c3fc50 /usr/src/lib/libdiskmgt/common/cache.c
parent4ab75253616c6d68e967c10221bb663c0bfa99df (diff)
downloadillumos-joyent-82d71480b3c112fa91f04032225eda15dfe22e17.tar.gz
6349487 libdiskmgt should bypass all calls in dm_inuse when NOINUSE_CHECK is set
6359855 gcc still doesn't like cmd/fs.d/switchout.c 6354408 libdiskmgt needs to handle sysevent failures in miniroot or failsafe environments better 4896568 *mount* message for remounting read-only is bogus Contributed by Shawn Walker. 4995011 mountfs error timeout is 60ms instead of 60s Contributed by Jeremy Teo.
Diffstat (limited to 'usr/src/lib/libdiskmgt/common/cache.c')
-rw-r--r--usr/src/lib/libdiskmgt/common/cache.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/usr/src/lib/libdiskmgt/common/cache.c b/usr/src/lib/libdiskmgt/common/cache.c
index 1670aa3698..1d56c353fa 100644
--- a/usr/src/lib/libdiskmgt/common/cache.c
+++ b/usr/src/lib/libdiskmgt/common/cache.c
@@ -31,10 +31,12 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <libintl.h>
#include <synch.h>
#include <sys/sunddi.h>
#include <sys/types.h>
#include <libgen.h>
+#include <syslog.h>
#include "libdiskmgt.h"
#include "disks_private.h"
@@ -632,10 +634,9 @@ static int
initialize()
{
struct search_args args;
- int status;
if (cache_loaded) {
- return (0);
+ return (0);
}
libdiskmgt_init_debug();
@@ -643,7 +644,7 @@ initialize()
findevs(&args);
if (args.dev_walk_status != 0) {
- return (args.dev_walk_status);
+ return (args.dev_walk_status);
}
disk_listp = args.disk_listp;
@@ -656,11 +657,16 @@ initialize()
* Only start the event thread if we are not doing an install
*/
if (getenv("_LIBDISKMGT_INSTALL") == NULL) {
- if ((status = events_start_event_watcher()) != 0) {
- return (status);
+ if (events_start_event_watcher() != 0) {
+ /*
+ * Log a message about the failure to start
+ * sysevents and continue on.
+ */
+ syslog(LOG_WARNING, dgettext(TEXT_DOMAIN,
+ "libdiskmgt: sysevent thread for cache "
+ "events failed to start\n"));
}
}
-
return (0);
}