From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13752 invoked by alias); 5 Mar 2012 14:15:52 -0000 Received: (qmail 13732 invoked by uid 9737); 5 Mar 2012 14:15:51 -0000 Date: Mon, 05 Mar 2012 14:15:00 -0000 Message-ID: <20120305141551.13730.qmail@sourceware.org> From: zkabelac@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/activate/dev_manager.c Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2012-03/txt/msg00070.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: zkabelac@sourceware.org 2012-03-05 14:15:50 Modified files: . : WHATS_NEW lib/activate : dev_manager.c Log message: 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. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2342&r2=1.2343 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.273&r2=1.274 --- LVM2/WHATS_NEW 2012/03/05 14:12:57 1.2342 +++ LVM2/WHATS_NEW 2012/03/05 14:15:50 1.2343 @@ -1,5 +1,6 @@ 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. Validate udev structures in _insert_udev_dir(). Scan all devices for lvmetad if 'pvscan --cache' used without device list. --- LVM2/lib/activate/dev_manager.c 2012/03/02 21:49:44 1.273 +++ LVM2/lib/activate/dev_manager.c 2012/03/05 14:15:50 1.274 @@ -1231,15 +1231,28 @@ } 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] = NULL; if (!(ret = exec_cmd(data->pool_lv->vg->cmd, (const char * const *)argv, &status, 0))) { - log_err_once("Check of thin pool %s/%s failed (status:%d). " - "Manual repair required (thin_repair %s)!", - data->pool_lv->vg->name, data->pool_lv->name, - status, meta_path); + switch (type) { + case DM_NODE_CALLBACK_PRELOADED: + log_err_once("Check of thin pool %s/%s failed (status:%d). " + "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?? *