1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 18:55:19 +03:00

Move error message to locking constructor and print

more descriptive message if locking fails instead of
"Locking type -1 initialisation failed."

Use read-only locking instead of misleading ignorelocking option
in message.
This commit is contained in:
Milan Broz 2010-01-22 09:45:29 +00:00
parent 59dd86581a
commit 98d85f25be
5 changed files with 14 additions and 8 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.60
===================================
Fix failed locking messages to be more descriptive.
Version 2.02.59 - 21st January 2010
===================================

View File

@ -224,7 +224,7 @@ int init_locking(int type, struct cmd_context *cmd)
_blocking_supported = find_config_tree_int(cmd,
"global/wait_for_locks", DEFAULT_WAIT_FOR_LOCKS);
switch (type) {
case 0:
init_no_locking(&_locking, cmd);
@ -236,8 +236,10 @@ int init_locking(int type, struct cmd_context *cmd)
log_very_verbose("%sFile-based locking selected.",
_blocking_supported ? "" : "Non-blocking ");
if (!init_file_locking(&_locking, cmd))
if (!init_file_locking(&_locking, cmd)) {
log_error("File-based locking initialisation failed.");
break;
}
return 1;
#ifdef HAVE_LIBDL
@ -249,8 +251,10 @@ int init_locking(int type, struct cmd_context *cmd)
}
if (!find_config_tree_int(cmd, "locking/fallback_to_clustered_locking",
find_config_tree_int(cmd, "global/fallback_to_clustered_locking",
DEFAULT_FALLBACK_TO_CLUSTERED_LOCKING)))
DEFAULT_FALLBACK_TO_CLUSTERED_LOCKING))) {
log_error("External locking initialisation failed.");
break;
}
#endif
#ifdef CLUSTER_LOCKING_INTERNAL
@ -259,8 +263,10 @@ int init_locking(int type, struct cmd_context *cmd)
case 3:
log_very_verbose("Cluster locking selected.");
if (!init_cluster_locking(&_locking, cmd))
if (!init_cluster_locking(&_locking, cmd)) {
log_error("Internal cluster locking initialisation failed.");
break;
}
return 1;
#endif
@ -285,6 +291,8 @@ int init_locking(int type, struct cmd_context *cmd)
"be inaccessible.");
if (init_file_locking(&_locking, cmd))
return 1;
else
log_error("File-based locking initialisation failed.");
}
if (!ignorelockingfailure())

View File

@ -72,7 +72,7 @@ static int _readonly_lock_resource(struct cmd_context *cmd,
(flags & LCK_SCOPE_MASK) == LCK_VG &&
!(flags & LCK_CACHE) &&
strcmp(resource, VG_GLOBAL)) {
log_error("Write locks are prohibited with --ignorelockingfailure.");
log_error("Write locks are prohibited with read-only locking.");
return 0;
}

View File

@ -51,7 +51,6 @@ lvm_t lvm_init(const char *system_dir)
/* initialize locking */
if (!init_locking(-1, cmd)) {
/* FIXME: use EAGAIN as error code here */
log_error("Locking initialisation failed.");
lvm_quit((lvm_t) cmd);
return NULL;
}

View File

@ -1027,8 +1027,6 @@ int lvm_run_command(struct cmd_context *cmd, int argc, char **argv)
locking_type = -1;
if (!init_locking(locking_type, cmd)) {
log_error("Locking type %d initialisation failed.",
locking_type);
ret = ECMD_FAILED;
goto out;
}