1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-03 05:18:29 +03:00

lvmetad: Avoid "connect failed" spamming when lvmetad is not available.

This commit is contained in:
Petr Rockai 2014-06-08 22:09:29 +02:00
parent 150165591f
commit 02e1bf406b

18
lib/cache/lvmetad.c vendored
View File

@ -26,7 +26,7 @@
#define SCAN_TIMEOUT_SECONDS 80 #define SCAN_TIMEOUT_SECONDS 80
#define MAX_RESCANS 10 /* Maximum number of times to scan all PVs and retry if the daemon returns a token mismatch error */ #define MAX_RESCANS 10 /* Maximum number of times to scan all PVs and retry if the daemon returns a token mismatch error */
static daemon_handle _lvmetad; static daemon_handle _lvmetad = { .error = 0 };
static int _lvmetad_use = 0; static int _lvmetad_use = 0;
static int _lvmetad_connected = 0; static int _lvmetad_connected = 0;
@ -68,12 +68,12 @@ void lvmetad_connect_or_warn(void)
if (!_lvmetad_use) if (!_lvmetad_use)
return; return;
if (!_lvmetad_connected) if (!_lvmetad_connected && !_lvmetad.error) {
_lvmetad_connect(); _lvmetad_connect();
if ((_lvmetad.socket_fd < 0 || _lvmetad.error)) if ((_lvmetad.socket_fd < 0 || _lvmetad.error))
log_warn("WARNING: Failed to connect to lvmetad: %s. Falling back to internal scanning.", log_warn("WARNING: Failed to connect to lvmetad. Falling back to internal scanning.");
strerror(_lvmetad.error)); }
} }
int lvmetad_used(void) int lvmetad_used(void)
@ -94,15 +94,7 @@ int lvmetad_socket_present(void)
int lvmetad_active(void) int lvmetad_active(void)
{ {
if (!_lvmetad_use) lvmetad_connect_or_warn();
return 0;
if (!_lvmetad_connected)
_lvmetad_connect();
if ((_lvmetad.socket_fd < 0 || _lvmetad.error))
log_debug_lvmetad("Failed to connect to lvmetad: %s.", strerror(_lvmetad.error));
return _lvmetad_connected; return _lvmetad_connected;
} }