1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Improve warning

Use thin_dump --repair suggestion in log error message
and use just warning on  deactivation path without repair info
(since node has been deactivated).

Also check whether there is not 16 args for thin_check configured.
This commit is contained in:
Zdenek Kabelac 2012-03-05 14:15:50 +00:00
parent 20c40a0807
commit 975b5b42d2
2 changed files with 18 additions and 4 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.95 - Version 2.02.95 -
================================ ================================
Print just warning on thin pool check callback path for failing check.
Use 64bit math for verification of thin pool and snapshot chunk size. Use 64bit math for verification of thin pool and snapshot chunk size.
Validate udev structures in _insert_udev_dir(). Validate udev structures in _insert_udev_dir().
Scan all devices for lvmetad if 'pvscan --cache' used without device list. Scan all devices for lvmetad if 'pvscan --cache' used without device list.

View File

@ -1231,15 +1231,28 @@ static int _thin_pool_callback(struct dm_tree_node *node,
} }
args = dm_split_words(split, 16, 0, argv); args = dm_split_words(split, 16, 0, argv);
if (args == 16) {
log_error("Too many options for thin check command.");
return 0;
}
argv[args++] = meta_path; argv[args++] = meta_path;
argv[args] = NULL; argv[args] = NULL;
if (!(ret = exec_cmd(data->pool_lv->vg->cmd, (const char * const *)argv, if (!(ret = exec_cmd(data->pool_lv->vg->cmd, (const char * const *)argv,
&status, 0))) { &status, 0))) {
log_err_once("Check of thin pool %s/%s failed (status:%d). " switch (type) {
"Manual repair required (thin_repair %s)!", case DM_NODE_CALLBACK_PRELOADED:
data->pool_lv->vg->name, data->pool_lv->name, log_err_once("Check of thin pool %s/%s failed (status:%d). "
status, meta_path); "Manual repair required (thin_dump --repair %s)!",
data->pool_lv->vg->name, data->pool_lv->name,
status, meta_path);
break;
default:
log_warn("WARNING: Integrity check of metadata for thin pool "
"%s/%s failed.",
data->pool_lv->vg->name, data->pool_lv->name);
}
/* /*
* FIXME: What should we do here?? * FIXME: What should we do here??
* *