From patchwork Mon Oct 21 10:01:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201767 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 51F3A13BD for ; Mon, 21 Oct 2019 10:01:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 265A42089C for ; Mon, 21 Oct 2019 10:01:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="D7Y3cudq" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727821AbfJUKBh (ORCPT ); Mon, 21 Oct 2019 06:01:37 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56038 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727685AbfJUKBh (ORCPT ); Mon, 21 Oct 2019 06:01:37 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xH3Y004698 for ; Mon, 21 Oct 2019 10:01:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=gVpT2JgIyPE42ar4/HyfMEPSrrddLUzjqjrCRDpdLw0=; b=D7Y3cudqiSStY1am+Aho73cHZg9eBzgVuWkkZkspNJYYEWcq+bg1i2ROpniwxiNbVgIg 2Pjl3NHfTHZoZMfrxMQlrzfpG7Joxes6r8eEhyYpVND0QwOfkGvsg+NZGf2mldoFKYlF nn8yoCvMkaEF76JN/0Hl1UOmTmg+AWKVNAPKU2+5dNzCBTz6ECfiBtS0poeScGP7B7+X IwQ9A4XGxGUkDCYHsekYu9uta7yJEb+RtA3ySJt5gpIur4JSzHkm8trOEuz3VCaW1us8 WLRjPHWgE0Mzme8llzHqcvGkiBMOTi32Bg9okUEY3VMQHvEjeGsFSVH8kw4X0pfGEQaP DA== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2120.oracle.com with ESMTP id 2vqu4qedwc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:35 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9w7Yf081526 for ; Mon, 21 Oct 2019 10:01:34 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserp3030.oracle.com with ESMTP id 2vrcn9wbyk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:34 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9LA1XUw023722 for ; Mon, 21 Oct 2019 10:01:33 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:33 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 01/14] btrfs-progs: add global verbose helper functions Date: Mon, 21 Oct 2019 18:01:09 +0800 Message-Id: <1571652082-25982-2-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org The idea is to use the global --verbose command option to show verbose output from the sub-commands. This patch adds a global bool variable, %global_verbose, to transpire the verbose requisites to the sub-command level. And provides pr_verbose() helper function to log the verbose messages. Suggested-by: David Sterba Signed-off-by: Anand Jain --- btrfs.c | 12 ++++++++++-- common/help.h | 8 ++++++++ common/messages.c | 19 +++++++++++++++++++ common/messages.h | 5 +++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/btrfs.c b/btrfs.c index 72dad6fb3983..ac10d8110495 100644 --- a/btrfs.c +++ b/btrfs.c @@ -26,8 +26,10 @@ #include "common/help.h" #include "common/box.h" +extern bool global_verbose; + static const char * const btrfs_cmd_group_usage[] = { - "btrfs [--help] [--version] [--format ] [...] []", + "btrfs [--help] [--version] [--format ] [--verbose] [...] []", NULL }; @@ -242,12 +244,13 @@ static void handle_output_format(const char *format) */ static int handle_global_options(int argc, char **argv) { - enum { OPT_HELP = 256, OPT_VERSION, OPT_FULL, OPT_FORMAT }; + enum { OPT_HELP = 256, OPT_VERSION, OPT_FULL, OPT_FORMAT, OPT_VERBOSE }; static const struct option long_options[] = { { "help", no_argument, NULL, OPT_HELP }, { "version", no_argument, NULL, OPT_VERSION }, { "format", required_argument, NULL, OPT_FORMAT }, { "full", no_argument, NULL, OPT_FULL }, + { "verbose", no_argument, NULL, OPT_VERBOSE }, { NULL, 0, NULL, 0} }; int shift; @@ -270,6 +273,7 @@ static int handle_global_options(int argc, char **argv) case OPT_FORMAT: handle_output_format(optarg); break; + case OPT_VERBOSE: break; default: fprintf(stderr, "Unknown global option: %s\n", argv[optind - 1]); @@ -310,6 +314,10 @@ static void handle_special_globals(int shift, int argc, char **argv) cmd_execute(&cmd_struct_version, argc, argv); exit(0); } + + for (i = 0; i < shift; i++) + if (strcmp(argv[i], "--verbose") == 0) + global_verbose = true; } static const struct cmd_group btrfs_cmd_group = { diff --git a/common/help.h b/common/help.h index 01dfc68a7c8d..7bb3074b0be6 100644 --- a/common/help.h +++ b/common/help.h @@ -53,6 +53,14 @@ "-t|--tbytes show sizes in TiB, or TB with --si" /* + * Global verbose option for the sub-commands + */ +#define HELPINFO_INSERT_VERBOSE \ + "-v|--verbose show verbose output" +#define HELPINFO_INSERT_VERBOSE_SHORT \ + "-v show verbose output" + +/* * Special marker in the help strings that will preemptively insert the global * options and then continue with the following text that possibly follows * after the regular options diff --git a/common/messages.c b/common/messages.c index 0e5694ecd467..e14c112ebbbf 100644 --- a/common/messages.c +++ b/common/messages.c @@ -16,6 +16,7 @@ #include #include +#include #include "common/messages.h" __attribute__ ((format (printf, 1, 2))) @@ -75,3 +76,21 @@ int __btrfs_error_on(int condition, const char *fmt, ...) return 1; } + +bool global_verbose = false; + +__attribute__ ((format (printf, 2, 3))) +void pr_verbose(bool condition, const char *fmt, ...) +{ + va_list args; + + if (condition == false) + return; + + if (global_verbose == false) + return; + + va_start(args, fmt); + vfprintf(stdout, fmt, args); + va_end(args); +} diff --git a/common/messages.h b/common/messages.h index 596047948fef..a14e2d62f3a0 100644 --- a/common/messages.h +++ b/common/messages.h @@ -14,6 +14,8 @@ * Boston, MA 021110-1307, USA. */ +#include + #ifndef __BTRFS_MESSAGES_H__ #define __BTRFS_MESSAGES_H__ @@ -96,3 +98,6 @@ __attribute__ ((format (printf, 2, 3))) int __btrfs_error_on(int condition, const char *fmt, ...); #endif + +__attribute__ ((format (printf, 2, 3))) +void pr_verbose(bool condition, const char *fmt, ...); From patchwork Mon Oct 21 10:01:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201769 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DB3DB13BD for ; Mon, 21 Oct 2019 10:01:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BA6ED2089C for ; Mon, 21 Oct 2019 10:01:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ZvpaRVnj" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727933AbfJUKBk (ORCPT ); Mon, 21 Oct 2019 06:01:40 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:41842 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727685AbfJUKBj (ORCPT ); Mon, 21 Oct 2019 06:01:39 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xKCX023798 for ; Mon, 21 Oct 2019 10:01:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=NrU1f2DA8wLKCpbzrOfxL6Tk5vXCq6b2W0AzP98TMSU=; b=ZvpaRVnjIT4r8iSzTENRi0OVziHvKKsFP3O8nwPZVLtEoVvcN4r0AT3PkpVhUzACT5fJ W3/HAZ6XfP0OY2rgLEP+oeEf+8F8nzX6YOB4aN6f6lUO/IwA9cf8x+U8RJOpp8WbNdpa R8Lkd44+XqYMJoPuTKDa7FW5kI/LNOVMmHgGF0oM0hqGiDBpyeNYzQ7zbblu9VbKou+5 JIlXxRISXgJjuOUEl3f9fEq0N5JBNXaRSOO/C0W/akk+mkUuuq203Y2SdyeGz+f0RVRM TQVqrCb1PJUGJrCyuSzt+TkmxBeVs/mpXB230TC1BZ+JYCVEQeWvDJ0IDI3YhA/Sw9ch oQ== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2130.oracle.com with ESMTP id 2vqswt6pk7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:38 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9w7G1081506 for ; Mon, 21 Oct 2019 10:01:37 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3030.oracle.com with ESMTP id 2vrcn9wc1h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:37 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x9LA1ZqY018735 for ; Mon, 21 Oct 2019 10:01:36 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:35 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 02/14] btrfs-progs: migrate subvolume delete to global verbose Date: Mon, 21 Oct 2019 18:01:10 +0800 Message-Id: <1571652082-25982-3-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org btrfs subvolume delete already supports verbose at the sub-command level, this patch restores same verbose which can be either enabled by the sub-command or from the top level command. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/subvolume.c | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/cmds/subvolume.c b/cmds/subvolume.c index 7a5fd79bb1f3..18efd0cf6e4a 100644 --- a/cmds/subvolume.c +++ b/cmds/subvolume.c @@ -43,6 +43,8 @@ #include "common/path-utils.h" #include "common/device-scan.h" +extern bool global_verbose; + static int wait_for_subvolume_cleaning(int fd, size_t count, uint64_t *ids, int sleep_interval) { @@ -231,9 +233,9 @@ static const char * const cmd_subvol_delete_usage[] = { "after a crash). Use one of the --commit options to wait until the", "operation is safely stored on the media.", "", - "-c|--commit-after wait for transaction commit at the end of the operation", - "-C|--commit-each wait for transaction commit after deleting each subvolume", - "-v|--verbose verbose output of operations", + "-c|--commit-after wait for transaction commit at the end of the operation", + "-C|--commit-each wait for transaction commit after deleting each subvolume", + HELPINFO_INSERT_VERBOSE, NULL }; @@ -248,7 +250,6 @@ static int cmd_subvol_delete(const struct cmd_struct *cmd, char *dupvname = NULL; char *path; DIR *dirstream = NULL; - int verbose = 0; int commit_mode = 0; u8 fsid[BTRFS_FSID_SIZE]; char uuidbuf[BTRFS_UUID_UNPARSED_SIZE]; @@ -278,7 +279,7 @@ static int cmd_subvol_delete(const struct cmd_struct *cmd, commit_mode = COMMIT_EACH; break; case 'v': - verbose++; + global_verbose = true; break; default: usage_unknown_option(cmd, argv); @@ -288,11 +289,9 @@ static int cmd_subvol_delete(const struct cmd_struct *cmd, if (check_argc_min(argc - optind, 1)) return 1; - if (verbose > 0) { - printf("Transaction commit: %s\n", - !commit_mode ? "none (default)" : - commit_mode == COMMIT_AFTER ? "at the end" : "after each"); - } + pr_verbose(global_verbose, "Transaction commit: %s\n", + !commit_mode ? "none (default)" : + commit_mode == COMMIT_AFTER ? "at the end" : "after each"); cnt = optind; @@ -353,11 +352,10 @@ again: } if (add_seen_fsid(fsid, seen_fsid_hash, fd, dirstream) == 0) { - if (verbose > 0) { - uuid_unparse(fsid, uuidbuf); - printf(" new fs is found for '%s', fsid: %s\n", - path, uuidbuf); - } + uuid_unparse(fsid, uuidbuf); + pr_verbose(global_verbose, + " new fs is found for '%s', fsid: %s\n", + path, uuidbuf); /* * This is the first time a subvolume on this * filesystem is deleted, keep fd in order to issue @@ -398,10 +396,11 @@ keep_fd: "unable to do final sync after deletion: %m, fsid: %s", uuidbuf); ret = 1; - } else if (verbose > 0) { + } else { uuid_unparse(seen->fsid, uuidbuf); - printf("final sync is done for fsid: %s\n", - uuidbuf); + pr_verbose(global_verbose, + "final sync is done for fsid: %s\n", + uuidbuf); } seen = seen->next; } From patchwork Mon Oct 21 10:01:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201771 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1A8381515 for ; Mon, 21 Oct 2019 10:01:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EDA562089C for ; Mon, 21 Oct 2019 10:01:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="iJ6xOqWw" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727952AbfJUKBl (ORCPT ); Mon, 21 Oct 2019 06:01:41 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56096 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727110AbfJUKBk (ORCPT ); Mon, 21 Oct 2019 06:01:40 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xQPf004807 for ; Mon, 21 Oct 2019 10:01:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=5ivy1U6WHl5EDSC1wBhZTPUs7XgEI022uVgIrLEDylg=; b=iJ6xOqWwLzT8oVn86o3kVGDwB1RI8ZJ4++DuNVBuSdE0H2IMrdug7N9jt8wrioLXHLkv a67t7jkijh1OQ/ypaHUtrQtnt0iCx7w96wvYuq9qJj78PlUMaQy0ptQxT4XnnwHI3g79 pfqzbMzAUPHtKgHYow8H/ypd67qrXVX3yWbQrjZMP1mfjW8e/igmjOJfhgJDLenztf1A 4WBrEHpbN4zPRkNQslNys3W62WeeZ+o8uYbzB7gvxZ2L4gsyiDwkmdrkpfWrMK6fgCEm cKKlbI1B1TdhnWC5gbot+zxIcpmA4QWWXnVaQxFlTYDJC6VcR3WuElEUpTQHYhGkCrlp 8A== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 2vqu4qedww-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:39 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wAx4055668 for ; Mon, 21 Oct 2019 10:01:38 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3020.oracle.com with ESMTP id 2vrcmmqfgg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:38 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x9LA1bdd013486 for ; Mon, 21 Oct 2019 10:01:37 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:37 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 03/14] btrfs-progs: migrate filesystem defragment to global verbose Date: Mon, 21 Oct 2019 18:01:11 +0800 Message-Id: <1571652082-25982-4-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org btrfs filesystem deframent already supports local sub-command verbose option, enable the same when the global verbose option is set. And as well make sure the same remains enabled at the local level. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/filesystem.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/cmds/filesystem.c b/cmds/filesystem.c index 4f22089abeaa..ee4d366fbf64 100644 --- a/cmds/filesystem.c +++ b/cmds/filesystem.c @@ -832,13 +832,13 @@ static const char * const cmd_filesystem_defrag_usage[] = { "btrfs filesystem defragment [options] | [|...]", "Defragment a file or a directory", "", - "-v be verbose", - "-r defragment files recursively", - "-c[zlib,lzo,zstd] compress the file while defragmenting", - "-f flush data to disk immediately after defragmenting", - "-s start defragment only from byte onward", - "-l len defragment only up to len bytes", - "-t size target extent size hint (default: 32M)", + HELPINFO_INSERT_VERBOSE_SHORT, + "-r defragment files recursively", + "-c[zlib,lzo,zstd] compress the file while defragmenting", + "-f flush data to disk immediately after defragmenting", + "-s start defragment only from byte onward", + "-l len defragment only up to len bytes", + "-t size target extent size hint (default: 32M)", "", "Warning: most Linux kernels will break up the ref-links of COW data", "(e.g., files copied with 'cp --reflink', snapshots) which may cause", @@ -848,7 +848,7 @@ static const char * const cmd_filesystem_defrag_usage[] = { }; static struct btrfs_ioctl_defrag_range_args defrag_global_range; -static int defrag_global_verbose; +extern bool global_verbose; static int defrag_global_errors; static int defrag_callback(const char *fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf) @@ -857,8 +857,7 @@ static int defrag_callback(const char *fpath, const struct stat *sb, int fd = 0; if ((typeflag == FTW_F) && S_ISREG(sb->st_mode)) { - if (defrag_global_verbose) - printf("%s\n", fpath); + pr_verbose(global_verbose, "%s\n", fpath); fd = open(fpath, defrag_open_mode); if (fd < 0) { goto error; @@ -913,7 +912,6 @@ static int cmd_filesystem_defrag(const struct cmd_struct *cmd, thresh = SZ_32M; defrag_global_errors = 0; - defrag_global_verbose = 0; defrag_global_errors = 0; optind = 0; while(1) { @@ -931,7 +929,7 @@ static int cmd_filesystem_defrag(const struct cmd_struct *cmd, flush = 1; break; case 'v': - defrag_global_verbose = 1; + global_verbose = true; break; case 's': start = parse_size(optarg); @@ -1031,8 +1029,7 @@ static int cmd_filesystem_defrag(const struct cmd_struct *cmd, /* errors are handled in the callback */ ret = 0; } else { - if (defrag_global_verbose) - printf("%s\n", argv[i]); + pr_verbose(global_verbose, "%s\n", argv[i]); ret = ioctl(fd, BTRFS_IOC_DEFRAG_RANGE, &defrag_global_range); defrag_err = errno; From patchwork Mon Oct 21 10:01:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201773 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0F7DA1515 for ; Mon, 21 Oct 2019 10:01:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E3481214AE for ; Mon, 21 Oct 2019 10:01:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="lhJpz8ZM" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728004AbfJUKBn (ORCPT ); Mon, 21 Oct 2019 06:01:43 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56120 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727110AbfJUKBm (ORCPT ); Mon, 21 Oct 2019 06:01:42 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xIHZ004741 for ; Mon, 21 Oct 2019 10:01:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=T56ZoFaiV3xBPKnapISS7jtMPY67YCjtahyHGhLIgdY=; b=lhJpz8ZM9xWfyXPzhx3R2zkXmq1FugzSCsMZjomom1H7pE9GSARJBN8hN6NF8w3cdCw2 H493fU+qro6Z/2ON+oIZSA2X4JlU1tOTHtRv1TWhmfkFBnm4oDs3/i3AQ1D+5QdlpSz1 59HohNCS5BFEDQrRKmS0ewXsxzRWuIrJIxchBIeMvK9HOe+/j12LLkLzybXa49titjqE vCFOgIgr8VlMEX4TBIET2aQsmuYg9rAAOGDXRj7DLJhIRc3DWmSdbxnWJgAWzCd15CHE yNos3Nj1jj77K//daR2fUpubEAKoTzY22uMs6j51GMOZAxCQ5mLCHZFsVTYowVJlbq5g +g== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 2vqu4qedx0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:40 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9w8pN006299 for ; Mon, 21 Oct 2019 10:01:40 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 2vrbxsvmeh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:40 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x9LA1dgN013496 for ; Mon, 21 Oct 2019 10:01:39 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:38 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 04/14] btrfs-progs: migrate btrfs balance start to global verbose Date: Mon, 21 Oct 2019 18:01:12 +0800 Message-Id: <1571652082-25982-5-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Make sure the sub command balance start calls verbose when the global verbose is set and vise versa. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/balance.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cmds/balance.c b/cmds/balance.c index 32830002f3a0..7e84efd6a80d 100644 --- a/cmds/balance.c +++ b/cmds/balance.c @@ -34,6 +34,8 @@ #include "common/utils.h" #include "common/help.h" +extern bool global_verbose; + static const char * const balance_cmd_group_usage[] = { "btrfs balance [options] ", "btrfs balance ", @@ -487,14 +489,13 @@ static const char * const cmd_balance_start_usage[] = { "long operation and the user is warned before this start, with", "a delay to stop it.", "", - "-d[filters] act on data chunks", - "-m[filters] act on metadata chunks", - "-s[filters] act on system chunks (only under -f)", - "-v be verbose", - "-f force a reduction of metadata integrity", - "--full-balance do not print warning and do not delay start", - "--background|--bg", - " run the balance as a background process", + "-d[filters] act on data chunks", + "-m[filters] act on metadata chunks", + "-s[filters] act on system chunks (only under -f)", + HELPINFO_INSERT_VERBOSE_SHORT, + "-f force a reduction of metadata integrity", + "--full-balance do not print warning and do not delay start", + "--background|--bg run the balance as a background process", NULL }; @@ -505,7 +506,6 @@ static int cmd_balance_start(const struct cmd_struct *cmd, struct btrfs_balance_args *ptrs[] = { &args.data, &args.sys, &args.meta, NULL }; int force = 0; - int verbose = 0; int background = 0; unsigned start_flags = 0; int i; @@ -560,7 +560,7 @@ static int cmd_balance_start(const struct cmd_struct *cmd, force = 1; break; case 'v': - verbose = 1; + global_verbose = true; break; case GETOPT_VAL_FULL_BALANCE: start_flags |= BALANCE_START_NOWARN; @@ -636,7 +636,7 @@ static int cmd_balance_start(const struct cmd_struct *cmd, if (force) args.flags |= BTRFS_BALANCE_FORCE; - if (verbose) + if (global_verbose) dump_ioctl_balance_args(&args); if (background) { switch (fork()) { From patchwork Mon Oct 21 10:01:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201775 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DFC8B13BD for ; Mon, 21 Oct 2019 10:01:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BEF08214AE for ; Mon, 21 Oct 2019 10:01:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Nm4GX2tW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728006AbfJUKBo (ORCPT ); Mon, 21 Oct 2019 06:01:44 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56130 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727953AbfJUKBn (ORCPT ); Mon, 21 Oct 2019 06:01:43 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xH3Z004698 for ; Mon, 21 Oct 2019 10:01:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=BA47W8UkSL0FQOb1RFbKH7NZw4VsbpXTRvfuybeD188=; b=Nm4GX2tW4qFkbwKJmuwyjj+If9DXG7HEurI0LlKwwbiWY62EWnJCxg9Gc6obm2F3wZ49 0lzdvv6Oh78/EWAAqUcpunC+z4jZ+li7N1WhFxA8ULt2qf9wW4Slu1yzpP5BkLMPXqfK QT3dssHzERaj27j/v45ryYQGWEvSMpAGxZYp2Rvu7mh4mwyxJ6N0i5Qa6pD3gD1WxgEE qtqQ/8wmyTQpa47mlyEBnJBMP9Aw5C6DbUtWbuBJ3zM2JbdHq4PFz81Lzu+RwWho6Gh6 U95fwxGgR9RuqBFr9fzyai22JvVO39vK7z13Wf0LBjTMo7Eflsol5+kXPTo3jk/aJvCy zA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 2vqu4qedx6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:41 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wBDK055711 for ; Mon, 21 Oct 2019 10:01:41 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3020.oracle.com with ESMTP id 2vrcmmqfme-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:41 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9LA1ea1023900 for ; Mon, 21 Oct 2019 10:01:41 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:40 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 05/14] btrfs-progs: migrate balance status to global verbose Date: Mon, 21 Oct 2019 18:01:13 +0800 Message-Id: <1571652082-25982-6-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Make sure top level verbose option can enable the blalance status subcommand's verbose option. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/balance.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cmds/balance.c b/cmds/balance.c index 7e84efd6a80d..d4916c5fb34e 100644 --- a/cmds/balance.c +++ b/cmds/balance.c @@ -822,7 +822,7 @@ static const char * const cmd_balance_status_usage[] = { "btrfs balance status [-v] ", "Show status of running or paused balance", "", - "-v be verbose", + HELPINFO_INSERT_VERBOSE_SHORT, NULL }; @@ -839,7 +839,6 @@ static int cmd_balance_status(const struct cmd_struct *cmd, const char *path; DIR *dirstream = NULL; int fd; - int verbose = 0; int ret; optind = 0; @@ -856,7 +855,7 @@ static int cmd_balance_status(const struct cmd_struct *cmd, switch (opt) { case 'v': - verbose = 1; + global_verbose = true; break; default: usage_unknown_option(cmd, argv); @@ -902,7 +901,7 @@ static int cmd_balance_status(const struct cmd_struct *cmd, (unsigned long long)args.stat.considered, 100 * (1 - (float)args.stat.completed/args.stat.expected)); - if (verbose) + if (global_verbose) dump_ioctl_balance_args(&args); ret = 1; From patchwork Mon Oct 21 10:01:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201777 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 769821515 for ; Mon, 21 Oct 2019 10:01:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5550A20684 for ; Mon, 21 Oct 2019 10:01:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="pLFcRWOO" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728009AbfJUKBp (ORCPT ); Mon, 21 Oct 2019 06:01:45 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:41940 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727767AbfJUKBp (ORCPT ); Mon, 21 Oct 2019 06:01:45 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xKkq023807 for ; Mon, 21 Oct 2019 10:01:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=QLM+hUyWnCVVldGwiic2TMuBrMO7w2GhjM7l/QLiKFs=; b=pLFcRWOO6ocvZolKSnedpVxYJoB5PMZD1XMOmttqaDzbNbcblh8Y5iVlwALnPw8p8+Pr iZoWOYJ7l1+PR+StHogva7U/CY7ntuMCZJtp3rEQI9qYnOGLNHoxgIrRMwm+gsWO0TQS 2721fscRk2yAEtQI3KreGJtmsYgLeDoV2MnnpFpuH1w8KJQPPQye0voSkE/ulJg+nxlm 5BnPbOdvblp0+TI74PJxz18WZywm4+YKF58dlgRaEfkS6hjUNoqBc/mEj4JqyXAdUj5S WDa1oLXVTxOku4MTWMarKlXSV3lbCDpXeUUX9umlJxypEODbbVWaa7b3Q/n1GbMBa672 Sg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 2vqswt6pks-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:43 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9w95I006485 for ; Mon, 21 Oct 2019 10:01:43 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3030.oracle.com with ESMTP id 2vrbxsvmhv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:43 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9LA1gUx023906 for ; Mon, 21 Oct 2019 10:01:42 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:41 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 06/14] btrfs-progs: fix help, show long option in balance start and status Date: Mon, 21 Oct 2019 18:01:14 +0800 Message-Id: <1571652082-25982-7-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org btrfs balance start|status support both short and long option -v|--verbose however failed to show it in its --help. This patch fixes the --help. Signed-off-by: Anand Jain --- cmds/balance.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmds/balance.c b/cmds/balance.c index d4916c5fb34e..06bab9f7f96f 100644 --- a/cmds/balance.c +++ b/cmds/balance.c @@ -492,7 +492,7 @@ static const char * const cmd_balance_start_usage[] = { "-d[filters] act on data chunks", "-m[filters] act on metadata chunks", "-s[filters] act on system chunks (only under -f)", - HELPINFO_INSERT_VERBOSE_SHORT, + HELPINFO_INSERT_VERBOSE, "-f force a reduction of metadata integrity", "--full-balance do not print warning and do not delay start", "--background|--bg run the balance as a background process", @@ -822,7 +822,7 @@ static const char * const cmd_balance_status_usage[] = { "btrfs balance status [-v] ", "Show status of running or paused balance", "", - HELPINFO_INSERT_VERBOSE_SHORT, + HELPINFO_INSERT_VERBOSE, NULL }; From patchwork Mon Oct 21 10:01:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201779 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 34B1E1515 for ; Mon, 21 Oct 2019 10:01:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 159BD2089C for ; Mon, 21 Oct 2019 10:01:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="nNrbQP1O" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728020AbfJUKBr (ORCPT ); Mon, 21 Oct 2019 06:01:47 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:57766 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727767AbfJUKBq (ORCPT ); Mon, 21 Oct 2019 06:01:46 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xHhh006729 for ; Mon, 21 Oct 2019 10:01:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=ZR3QA3Xq84K9xxT+J8DNDy3NbCPzsCsHqLyG/K6z/+U=; b=nNrbQP1Odkr347XQSr0RLp0ketvPi4KO/ATxqCwBm6ow2w26mRVyqm7cL9PnXGZ5SBpH quomLPkxdDpo1UmbPfNqeDALjgcz3magB2un4SYNLMGeMxbsw5nbUyKWEc4pKLEzLIGg OM4RRie3U1CKUtHioUoZ2CIfbosaqNo5BlXfmYxOcBoJnN1/gDQ4I8k+ylz0ZaacWpiN xRliyJzjLbFEAB5SEIf3maCbYFxmCrAtaURLHTtlRQeXY+LdVegF0sM5lwK7WWgYgTIP RvdPvMKA9YAk840yB68Zsr+qo/5xFtXp4wixuhF2BkmCufaGbB04CTRoPUfzQ9lBJ2XE jQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 2vqtepekek-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:45 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wLsA088782 for ; Mon, 21 Oct 2019 10:01:45 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 2vrbyycuu1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:44 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x9LA1h7a018757 for ; Mon, 21 Oct 2019 10:01:43 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:43 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 07/14] btrfs-progs: migrate rescue chunk-recover to global verbose Date: Mon, 21 Oct 2019 18:01:15 +0800 Message-Id: <1571652082-25982-8-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Now with this patch the btrfs rescue chunk-recover can display verbose output either at the sub-command level or at the top level. For example 'btrfs --verbose rescue chunk-recover <>' or 'btrfs rescue chunk-recover -v <>'. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/rescue.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/cmds/rescue.c b/cmds/rescue.c index e8eab6808bc3..1785bc164264 100644 --- a/cmds/rescue.c +++ b/cmds/rescue.c @@ -28,6 +28,8 @@ #include "common/help.h" #include "cmds/rescue.h" +extern bool global_verbose; + static const char * const rescue_cmd_group_usage[] = { "btrfs rescue [options] ", NULL @@ -37,9 +39,9 @@ static const char * const cmd_rescue_chunk_recover_usage[] = { "btrfs rescue chunk-recover [options] ", "Recover the chunk tree by scanning the devices one by one.", "", - "-y Assume an answer of `yes' to all questions", - "-v Verbose mode", - "-h Help", + "-y Assume an answer of `yes' to all questions", + HELPINFO_INSERT_VERBOSE_SHORT, + "-h Help", NULL }; @@ -49,7 +51,6 @@ static int cmd_rescue_chunk_recover(const struct cmd_struct *cmd, int ret = 0; char *file; int yes = 0; - int verbose = 0; optind = 0; while (1) { @@ -61,7 +62,7 @@ static int cmd_rescue_chunk_recover(const struct cmd_struct *cmd, yes = 1; break; case 'v': - verbose = 1; + global_verbose = true; break; default: usage_unknown_option(cmd, argv); @@ -83,7 +84,7 @@ static int cmd_rescue_chunk_recover(const struct cmd_struct *cmd, return 1; } - ret = btrfs_recover_chunk_tree(file, verbose, yes); + ret = btrfs_recover_chunk_tree(file, global_verbose, yes); if (!ret) { fprintf(stdout, "Chunk tree recovered successfully\n"); } else if (ret > 0) { From patchwork Mon Oct 21 10:01:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201781 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BB65213BD for ; Mon, 21 Oct 2019 10:01:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9AA102089C for ; Mon, 21 Oct 2019 10:01:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="giVPKcbn" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728026AbfJUKBt (ORCPT ); Mon, 21 Oct 2019 06:01:49 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56186 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728016AbfJUKBs (ORCPT ); Mon, 21 Oct 2019 06:01:48 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xLgw004771 for ; Mon, 21 Oct 2019 10:01:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=LbIB2xm22qCd7BEPKjpxqw2Pb3d5MNbvjqpcJQ5q35I=; b=giVPKcbnbo68Tt3eg+/LjFmksNGDMjE/gt4zKldRjqdbClXEh4E/iffeJM5/I4bipqVG JMfO034q3W9RhN3iWCmjVprgj8dZgeQpgxg0S/SDoNQSoXYjlZGZLyPgyuhBvDFaNwtT QTOTsDMKwTtnRrOgKKcSvfXE7UzJSRbB+K2llLbYRKAdVcWZeXuCXEsVgdhIfKme3Ea7 X1A6FD557vNmRhNmrsN2m6Wf5ZhPntoH3z3AgGJmvaUt1kph/0IXtiLdpnUJskREEHfZ sFuuPzlKWMjfpYamSEhQ8inzR/jdXhhaywmZugn+BCLYP56WmBxm11H4HizHGh19YTXG xQ== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 2vqu4qedxh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:46 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9w76p006272 for ; Mon, 21 Oct 2019 10:01:46 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 2vrbxsvmme-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:46 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x9LA1jm7013515 for ; Mon, 21 Oct 2019 10:01:45 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:45 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 08/14] btrfs-progs: migrate rescue super-recover to global verbose Date: Mon, 21 Oct 2019 18:01:16 +0800 Message-Id: <1571652082-25982-9-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Now with this patch 'btrfs rescue super-recover' can show verbose output either by the top level --verbose option or by the sub-command -v option. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/rescue.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cmds/rescue.c b/cmds/rescue.c index 1785bc164264..bd11241478a8 100644 --- a/cmds/rescue.c +++ b/cmds/rescue.c @@ -101,8 +101,8 @@ static const char * const cmd_rescue_super_recover_usage[] = { "btrfs rescue super-recover [options] ", "Recover bad superblocks from good copies", "", - "-y Assume an answer of `yes' to all questions", - "-v Verbose mode", + "-y Assume an answer of `yes' to all questions", + HELPINFO_INSERT_VERBOSE_SHORT, NULL }; @@ -118,7 +118,6 @@ static int cmd_rescue_super_recover(const struct cmd_struct *cmd, int argc, char **argv) { int ret; - int verbose = 0; int yes = 0; char *dname; @@ -129,7 +128,7 @@ static int cmd_rescue_super_recover(const struct cmd_struct *cmd, break; switch (c) { case 'v': - verbose = 1; + global_verbose = true; break; case 'y': yes = 1; @@ -151,7 +150,7 @@ static int cmd_rescue_super_recover(const struct cmd_struct *cmd, error("the device is busy"); return 1; } - ret = btrfs_recover_superblocks(dname, verbose, yes); + ret = btrfs_recover_superblocks(dname, global_verbose, yes); return ret; } static DEFINE_SIMPLE_COMMAND(rescue_super_recover, "super-recover"); From patchwork Mon Oct 21 10:01:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201783 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 494951515 for ; Mon, 21 Oct 2019 10:01:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 28D4F2089C for ; Mon, 21 Oct 2019 10:01:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="I2JtxV2j" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728034AbfJUKBu (ORCPT ); Mon, 21 Oct 2019 06:01:50 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:42000 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727767AbfJUKBt (ORCPT ); Mon, 21 Oct 2019 06:01:49 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xGwI023764 for ; Mon, 21 Oct 2019 10:01:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=05uIH3mtPdVhf3eXGKp6QQbrJLYkIR3tibB3+k9Uvcg=; b=I2JtxV2jhlmsHIsHeybpQKB270wEp/u5dfh8/RIEYncGeNRYjTs068Ft6vpVJXKXUquR pWvfMbA0P7+fyDXm3G3h5wVkgV1sjvMGX1n8cVSCRzl7L7YV9fGSDjN9gIrGS+t9y4cd rGS9ZQjBGjJGVNWPolONleDqmjHMGLPOAf0oEqjUrSMA69lToHIhYIn0Df9WCL+daEPx cJDE7glgyG29MQrPXRlce6RslsoYD5itMZXo9SyDXq4f0NUCW9sr3Hb4p2c/A2BPdYxB EGfnHUe8b5tNxKKAwPVHNh5pkpnnCesMFynVFyU0p7nj7M/gkZFwLxSYDh94zCtNg+Oz 3Q== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2130.oracle.com with ESMTP id 2vqswt6pm3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:48 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wLMl088734 for ; Mon, 21 Oct 2019 10:01:47 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3020.oracle.com with ESMTP id 2vrbyycux4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:47 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x9LA1kSS013522 for ; Mon, 21 Oct 2019 10:01:46 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:46 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 09/14] btrfs-progs: restore: delete unreachable code Date: Mon, 21 Oct 2019 18:01:17 +0800 Message-Id: <1571652082-25982-10-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Maximum value of %verbose is 1 when %verbose is enabled using 'btrfs restore -v ', and the code under the condition %verbose > 1 is never reached. So delete them. Signed-off-by: Anand Jain --- cmds/restore.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/cmds/restore.c b/cmds/restore.c index c104b01aef69..79caf6734e76 100644 --- a/cmds/restore.c +++ b/cmds/restore.c @@ -987,9 +987,6 @@ static int search_dir(struct btrfs_root *root, struct btrfs_key *key, leaf = path.nodes[0]; while (!leaf) { - if (verbose > 1) - printf("No leaf after search, looking for the next " - "leaf\n"); ret = next_leaf(root, &path); if (ret < 0) { fprintf(stderr, "Error getting next leaf %d\n", @@ -1035,18 +1032,12 @@ static int search_dir(struct btrfs_root *root, struct btrfs_key *key, continue; } btrfs_item_key_to_cpu(leaf, &found_key, path.slots[0]); - if (found_key.objectid != key->objectid) { - if (verbose > 1) - printf("Found objectid=%Lu, key=%Lu\n", - found_key.objectid, key->objectid); + if (found_key.objectid != key->objectid) break; - } - if (found_key.type != key->type) { - if (verbose > 1) - printf("Found type=%u, want=%u\n", - found_key.type, key->type); + + if (found_key.type != key->type) break; - } + dir_item = btrfs_item_ptr(leaf, path.slots[0], struct btrfs_dir_item); name_ptr = (unsigned long)(dir_item + 1); From patchwork Mon Oct 21 10:01:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201785 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F0C091895 for ; Mon, 21 Oct 2019 10:01:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C5E3520684 for ; Mon, 21 Oct 2019 10:01:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="KoUZoXVa" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728036AbfJUKBv (ORCPT ); Mon, 21 Oct 2019 06:01:51 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:57834 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728016AbfJUKBu (ORCPT ); Mon, 21 Oct 2019 06:01:50 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xLv6006778 for ; Mon, 21 Oct 2019 10:01:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=ZHygtREUk4/GIgcZILegr9Ixro3z37cZ9aLFoHcd3cE=; b=KoUZoXVabuN8/uGVh4lm1DI6CvPCc37+E9NXbOjinmJXwxuwQzhbXpiuT2mekjn4/2VZ R0cFpD7NEMdG8iPsKGHRIoUuRv9O9vc7JJrJoNV8bp2WYu6hJZh4au7o2/nqQp0IBZ/E uBjgCDnIljyjaJorUNUUpUxGphTjfMWQLaUgmCt7NYOVHNzZw51QjDoetVcBxokcym/i 2+VvLC/5DZddweDhRwXyrresKPI7/ApEfylfNE8FnXDjBrsWjjcIgF/l0cj6lgbmcAl6 gRRlhAe+WW+W2je250RTmc4jc6pijP6w3sLjWr95OBglcW0Ud1UgeGRdN/45ajfALX/b yQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 2vqtepekf0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:49 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wLv7088735 for ; Mon, 21 Oct 2019 10:01:49 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserp3020.oracle.com with ESMTP id 2vrbyycuyw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:49 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9LA1mLG023929 for ; Mon, 21 Oct 2019 10:01:48 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:48 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 10/14] btrfs-progs: migrate restore to global verbose Date: Mon, 21 Oct 2019 18:01:18 +0800 Message-Id: <1571652082-25982-11-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=3 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Command btrfs restore provides local verbose option, this patch makes it enable-able by using the global --verbose option as well. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/restore.c | 69 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 31 insertions(+), 38 deletions(-) diff --git a/cmds/restore.c b/cmds/restore.c index 79caf6734e76..3592faeb6bca 100644 --- a/cmds/restore.c +++ b/cmds/restore.c @@ -51,7 +51,7 @@ static char fs_name[PATH_MAX]; static char path_name[PATH_MAX]; static char symlink_target[PATH_MAX]; static int get_snaps = 0; -static int verbose = 0; +extern bool global_verbose; static int restore_metadata = 0; static int restore_symlinks = 0; static int ignore_errors = 0; @@ -375,8 +375,7 @@ static int copy_one_extent(struct btrfs_root *root, int fd, if (compress == BTRFS_COMPRESS_NONE) bytenr += offset; - if (verbose && offset) - printf("offset is %Lu\n", offset); + pr_verbose(global_verbose && offset, "offset is %Lu\n", offset); /* we found a hole */ if (disk_size == 0) return 0; @@ -832,9 +831,8 @@ static int overwrite_ok(const char * path) if (overwrite) return 2; - if (verbose || !warn) - printf("Skipping existing file" - " %s\n", path); + pr_verbose(global_verbose || !warn, + "Skipping existing file %s\n", path); if (!warn) printf("If you wish to overwrite use -o\n"); warn = 1; @@ -994,9 +992,8 @@ static int search_dir(struct btrfs_root *root, struct btrfs_key *key, goto out; } else if (ret > 0) { /* No more leaves to search */ - if (verbose) - printf("Reached the end of the tree looking " - "for the directory\n"); + pr_verbose(global_verbose, + "Reached the end of the tree looking for the directory\n"); ret = 0; goto out; } @@ -1020,10 +1017,8 @@ static int search_dir(struct btrfs_root *root, struct btrfs_key *key, goto out; } else if (ret > 0) { /* No more leaves to search */ - if (verbose) - printf("Reached the end of " - "the tree searching the" - " directory\n"); + pr_verbose(global_verbose, + "Reached the end of the tree searching the directory\n"); ret = 0; goto out; } @@ -1063,8 +1058,7 @@ static int search_dir(struct btrfs_root *root, struct btrfs_key *key, if (!overwrite_ok(path_name)) goto next; - if (verbose) - printf("Restoring %s\n", path_name); + pr_verbose(global_verbose, "Restoring %s\n", path_name); if (dry_run) goto next; fd = open(path_name, O_CREAT|O_WRONLY, 0644); @@ -1136,8 +1130,7 @@ static int search_dir(struct btrfs_root *root, struct btrfs_key *key, location.objectid = BTRFS_FIRST_FREE_OBJECTID; } - if (verbose) - printf("Restoring %s\n", path_name); + pr_verbose(global_verbose, "Restoring %s\n", path_name); errno = 0; if (dry_run) @@ -1200,8 +1193,7 @@ next: } } - if (verbose) - printf("Done searching %s\n", in_dir); + pr_verbose(global_verbose, "Done searching %s\n", in_dir); out: btrfs_release_path(&path); return ret; @@ -1392,25 +1384,26 @@ static const char * const cmd_restore_usage[] = { "btrfs restore [options] | -l ", "Try to restore files from a damaged filesystem (unmounted)", "", - "-s|--snapshots get snapshots", - "-x|--xattr restore extended attributes", - "-m|--metadata restore owner, mode and times", - "-S|--symlink restore symbolic links", - "-v|--verbose verbose", - "-i|--ignore-errors ignore errors", - "-o|--overwrite overwrite", - "-t tree location", - "-f filesystem location", - "-u|--super super mirror", - "-r|--root root objectid", - "-d find dir", - "-l|--list-roots list tree roots", - "-D|--dry-run dry run (only list files that would be recovered)", + "-s|--snapshots get snapshots", + "-x|--xattr restore extended attributes", + "-m|--metadata restore owner, mode and times", + "-S|--symlink restore symbolic links", + HELPINFO_INSERT_VERBOSE, + "-i|--ignore-errors ignore errors", + "-o|--overwrite overwrite", + "-t tree location", + "-f filesystem location", + "-u|--super ", + " super mirror", + "-r|--root root objectid", + "-d find dir", + "-l|--list-roots list tree roots", + "-D|--dry-run dry run (only list files that would be recovered)", "--path-regex ", - " restore only filenames matching regex,", - " you have to use following syntax (possibly quoted):", - " ^/(|home(|/username(|/Desktop(|/.*))))$", - "-c ignore case (--path-regex only)", + " restore only filenames matching regex,", + " you have to use following syntax (possibly quoted):", + " ^/(|home(|/username(|/Desktop(|/.*))))$", + "-c ignore case (--path-regex only)", NULL }; @@ -1463,7 +1456,7 @@ static int cmd_restore(const struct cmd_struct *cmd, int argc, char **argv) get_snaps = 1; break; case 'v': - verbose++; + global_verbose = true; break; case 'i': ignore_errors = 1; From patchwork Mon Oct 21 10:01:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201787 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6887913BD for ; Mon, 21 Oct 2019 10:01:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4667320684 for ; Mon, 21 Oct 2019 10:01:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="qY8E+EF2" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728043AbfJUKBx (ORCPT ); Mon, 21 Oct 2019 06:01:53 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56248 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728016AbfJUKBx (ORCPT ); Mon, 21 Oct 2019 06:01:53 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xIPg004742 for ; Mon, 21 Oct 2019 10:01:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=M/x/GGAcmQ1tOyy1TUrepVgHplaLCDuC3Rw7Od2kB54=; b=qY8E+EF2L9uzOfy9YtqvN9Asxd5ma3Mz0lTD12otYb5Qfnx76boiN/9lnUEsopXk2EV8 lmxjaRT9z/uyp6uGy0dHpD28zRXLkiwvTaKk0w+uXbe8AX2NWK2Doky6ztTEyduj4idj o9pTiWyfk18HfvpRu1wTtXkr7hPTZDQnGOOox2O3GgZD1c3pv/BzU64xLzcBFnI+jgpE kvNguCnO2HksqE32z8C2Td1Ml3LK0IpM4RLvtyY2v4oZuuYu1okB1pQ0mv4qz1oLIU8z HtTIula4tDhOX68/Hyr2SF1DfYj2tnUA+odShkGAWgJJISWPf7BD6fm0wQ2IOz9Wa+z+ bw== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2120.oracle.com with ESMTP id 2vqu4qedy0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:51 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9w7Ls081453 for ; Mon, 21 Oct 2019 10:01:50 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserp3030.oracle.com with ESMTP id 2vrcn9wceq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:50 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9LA1nEL023952 for ; Mon, 21 Oct 2019 10:01:49 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:49 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 11/14] btrfs-progs: migrate inspect-internal inode-resolve to global verbose Date: Mon, 21 Oct 2019 18:01:19 +0800 Message-Id: <1571652082-25982-12-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Command btrfs inspect-internal inode-resolve provides verbose option at the sub-command level, this patch makes it enable-able by using the global --verbose option. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/inspect.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cmds/inspect.c b/cmds/inspect.c index 758b6e60c591..f872b471b420 100644 --- a/cmds/inspect.c +++ b/cmds/inspect.c @@ -33,6 +33,8 @@ #include "btrfs-list.h" #include "common/help.h" +extern bool global_verbose; + static const char * const inspect_cmd_group_usage[] = { "btrfs inspect-internal ", NULL @@ -56,8 +58,8 @@ static int __ino_to_path_fd(u64 inum, int fd, int verbose, const char *prepend) goto out; } - if (verbose) - printf("ioctl ret=%d, bytes_left=%lu, bytes_missing=%lu, " + pr_verbose(global_verbose, + "ioctl ret=%d, bytes_left=%lu, bytes_missing=%lu, " "cnt=%d, missed=%d\n", ret, (unsigned long)fspath->bytes_left, (unsigned long)fspath->bytes_missing, @@ -83,7 +85,7 @@ static const char * const cmd_inspect_inode_resolve_usage[] = { "btrfs inspect-internal inode-resolve [-v] ", "Get file system paths for the given inode", "", - "-v verbose mode", + HELPINFO_INSERT_VERBOSE_SHORT, NULL }; @@ -91,7 +93,6 @@ static int cmd_inspect_inode_resolve(const struct cmd_struct *cmd, int argc, char **argv) { int fd; - int verbose = 0; int ret; DIR *dirstream = NULL; @@ -103,7 +104,7 @@ static int cmd_inspect_inode_resolve(const struct cmd_struct *cmd, switch (c) { case 'v': - verbose = 1; + global_verbose = true; break; default: usage_unknown_option(cmd, argv); @@ -117,8 +118,8 @@ static int cmd_inspect_inode_resolve(const struct cmd_struct *cmd, if (fd < 0) return 1; - ret = __ino_to_path_fd(arg_strtou64(argv[optind]), fd, verbose, - argv[optind+1]); + ret = __ino_to_path_fd(arg_strtou64(argv[optind]), fd, + global_verbose ? 1 : 0, argv[optind+1]); close_file_or_dir(fd, dirstream); return !!ret; From patchwork Mon Oct 21 10:01:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201789 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C8BB61895 for ; Mon, 21 Oct 2019 10:01:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A77D32089C for ; Mon, 21 Oct 2019 10:01:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="PF9HsOdU" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728045AbfJUKBy (ORCPT ); Mon, 21 Oct 2019 06:01:54 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56256 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727323AbfJUKBx (ORCPT ); Mon, 21 Oct 2019 06:01:53 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9LA0UC2005737 for ; Mon, 21 Oct 2019 10:01:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=3wpvwRPqAdEDKKlxYjB+saIlLe96z+m6zHj4A6PVXiw=; b=PF9HsOdUSE9dtJ/+NdX3UcvjWotqh0mRTm7mWCoaUiPOoAeyMqVQxvpCJbIizV46uzXg Dhj+p+ZM35caZvwwbZ/op5hD69mDPSQnjqGqD+Rvq/WeQZlCm3JtrIoYSqav3M6+iHsO JLj6razOPB3yTtL/7fs2Eb2cYnbws+6MSUrPbfmTpPwZ30KXJcRVCCn0y8iUucYDTarl swrawUsLtjwkD3M/jbs1ynj0E0KCyp48DENBGIgnYck+84LEo91NTsF0NEMlmj9AV9zQ Q9wqcFxWp9ZsjzoiNwP2wJ7zqQaGvlZlIiKpOoxBN14KOWLWtpUe9d1MfT6X/SjsmKm8 2g== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 2vqu4qedy1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:52 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wBDM055711 for ; Mon, 21 Oct 2019 10:01:52 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3020.oracle.com with ESMTP id 2vrcmmqg22-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:51 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9LA1pnU023958 for ; Mon, 21 Oct 2019 10:01:51 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:50 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 12/14] btrfs-progs: migrate inspect-internal logical-resolve to global verbose Date: Mon, 21 Oct 2019 18:01:20 +0800 Message-Id: <1571652082-25982-13-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=981 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Command btrfs inspect-internal logical-resolve provides local verbose option this patch makes it enable-able by using the global --verbose option. Suggested-by: David Sterba Signed-off-by: Anand Jain --- cmds/inspect.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/cmds/inspect.c b/cmds/inspect.c index f872b471b420..3f35cdea56b5 100644 --- a/cmds/inspect.c +++ b/cmds/inspect.c @@ -40,7 +40,7 @@ static const char * const inspect_cmd_group_usage[] = { NULL }; -static int __ino_to_path_fd(u64 inum, int fd, int verbose, const char *prepend) +static int __ino_to_path_fd(u64 inum, int fd, const char *prepend) { int ret; int i; @@ -118,8 +118,7 @@ static int cmd_inspect_inode_resolve(const struct cmd_struct *cmd, if (fd < 0) return 1; - ret = __ino_to_path_fd(arg_strtou64(argv[optind]), fd, - global_verbose ? 1 : 0, argv[optind+1]); + ret = __ino_to_path_fd(arg_strtou64(argv[optind]), fd, argv[optind+1]); close_file_or_dir(fd, dirstream); return !!ret; @@ -130,11 +129,11 @@ static const char * const cmd_inspect_logical_resolve_usage[] = { "btrfs inspect-internal logical-resolve [-Pv] [-s bufsize] ", "Get file system paths for the given logical address", "", - "-P skip the path resolving and print the inodes instead", - "-v verbose mode", - "-s bufsize set inode container's size. This is used to increase inode", - " container's size in case it is not enough to read all the ", - " resolved results. The max value one can set is 64k", + "-P skip the path resolving and print the inodes instead", + HELPINFO_INSERT_VERBOSE_SHORT, + "-s bufsize set inode container's size. This is used to increase inode", + " container's size in case it is not enough to read all the ", + " resolved results. The max value one can set is 64k", NULL }; @@ -144,7 +143,6 @@ static int cmd_inspect_logical_resolve(const struct cmd_struct *cmd, int ret; int fd; int i; - int verbose = 0; int getpath = 1; int bytes_left; struct btrfs_ioctl_logical_ino_args loi; @@ -165,7 +163,7 @@ static int cmd_inspect_logical_resolve(const struct cmd_struct *cmd, getpath = 0; break; case 'v': - verbose = 1; + global_verbose = true; break; case 's': size = arg_strtou64(optarg); @@ -200,8 +198,8 @@ static int cmd_inspect_logical_resolve(const struct cmd_struct *cmd, goto out; } - if (verbose) - printf("ioctl ret=%d, total_size=%llu, bytes_left=%lu, " + pr_verbose(global_verbose, + "ioctl ret=%d, total_size=%llu, bytes_left=%lu, " "bytes_missing=%lu, cnt=%d, missed=%d\n", ret, size, (unsigned long)inodes->bytes_left, @@ -251,8 +249,7 @@ static int cmd_inspect_logical_resolve(const struct cmd_struct *cmd, goto out; } } - ret = __ino_to_path_fd(inum, path_fd, verbose, - full_path); + ret = __ino_to_path_fd(inum, path_fd, full_path); if (path_fd != fd) close_file_or_dir(path_fd, dirs); } else { From patchwork Mon Oct 21 10:01:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201791 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 606D113BD for ; Mon, 21 Oct 2019 10:01:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3FB772089C for ; Mon, 21 Oct 2019 10:01:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="nAcGS/0D" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728051AbfJUKB4 (ORCPT ); Mon, 21 Oct 2019 06:01:56 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56280 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727323AbfJUKBz (ORCPT ); Mon, 21 Oct 2019 06:01:55 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xJRt004749 for ; Mon, 21 Oct 2019 10:01:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=ELjK2CbKdMCfVB/8de4QnYSp4SvyRHtDpuYjaPvUOtY=; b=nAcGS/0D+MSYoqPQGreuBbiTTPC+nvelRGvZncUYP8ea1t1K25Fe6Mo+28IgkUSx0qoC Ca812LHXwVHNbvywQWGSR0WYL2cVGjE9E0N0qYvfcaUvU9fGD4/NAas7PUmWuNw/a7a6 M62Rs33UeAKXCaRxzNsMTnzvIJLei7tFBeN61/bToSlla59n8+teehkZ0WLwr8/2RUEL 43DyBx5OwLuL1MeliyH2DkmysvTRLxyDvoXyf6GGrspD7xGCtCC7Q/kNLrlAhC6hZbRA 7IyQVobscWzD+nvc0gmmpiPyxqV7hObFebNmoD1CLaQys3Enhu+s5lSZ2VRM+bSFBpWy gA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 2vqu4qedy6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:54 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wB0B055745 for ; Mon, 21 Oct 2019 10:01:53 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 2vrcmmqg3n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:53 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9LA1qlP028767 for ; Mon, 21 Oct 2019 10:01:52 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:52 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 13/14] btrfs-progs: refactor btrfs_scan_devices() to accept verbose argument Date: Mon, 21 Oct 2019 18:01:21 +0800 Message-Id: <1571652082-25982-14-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=3 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Function btrfs_scan_devices() is being used by commands such as 'btrfs filesystem' and 'btrfs device', by having the verbose argument in the btrfs_scan_devices() we can control which threads to show the verbose when verbose is enabled by the global verbose option. So add an option %verbose to btrfs_scan_devices(). Signed-off-by: Anand Jain --- cmds/device.c | 2 +- cmds/filesystem.c | 2 +- common/device-scan.c | 4 +++- common/device-scan.h | 2 +- common/utils.c | 2 +- disk-io.c | 2 +- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cmds/device.c b/cmds/device.c index 24158308a41b..b429a169cd5d 100644 --- a/cmds/device.c +++ b/cmds/device.c @@ -354,7 +354,7 @@ static int cmd_device_scan(const struct cmd_struct *cmd, int argc, char **argv) } } else { printf("Scanning for Btrfs filesystems\n"); - ret = btrfs_scan_devices(); + ret = btrfs_scan_devices(false); error_on(ret, "error %d while scanning", ret); ret = btrfs_register_all_devices(); error_on(ret, diff --git a/cmds/filesystem.c b/cmds/filesystem.c index ee4d366fbf64..fb6e2e998dcf 100644 --- a/cmds/filesystem.c +++ b/cmds/filesystem.c @@ -746,7 +746,7 @@ devs_only: else ret = 1; } else { - ret = btrfs_scan_devices(); + ret = btrfs_scan_devices(false); } if (ret) { diff --git a/common/device-scan.c b/common/device-scan.c index 48dbd9e19715..a5963d789f49 100644 --- a/common/device-scan.c +++ b/common/device-scan.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "kernel-lib/overflow.h" #include "common/path-utils.h" #include "common/device-scan.h" @@ -360,7 +361,7 @@ void free_seen_fsid(struct seen_fsid *seen_fsid_hash[]) } } -int btrfs_scan_devices(void) +int btrfs_scan_devices(bool verbose) { int fd = -1; int ret; @@ -404,6 +405,7 @@ int btrfs_scan_devices(void) close (fd); continue; } + pr_verbose(verbose, "registered: %s\n", path); close(fd); } diff --git a/common/device-scan.h b/common/device-scan.h index eda2bae5c6c4..c50fe2fbf91f 100644 --- a/common/device-scan.h +++ b/common/device-scan.h @@ -29,7 +29,7 @@ struct seen_fsid { int fd; }; -int btrfs_scan_devices(void); +int btrfs_scan_devices(bool verbose); int btrfs_register_one_device(const char *fname); int btrfs_register_all_devices(void); int btrfs_add_to_fsid(struct btrfs_trans_handle *trans, diff --git a/common/utils.c b/common/utils.c index 6617b3ef38b1..9027de596f5d 100644 --- a/common/utils.c +++ b/common/utils.c @@ -277,7 +277,7 @@ int check_mounted_where(int fd, const char *file, char *where, int size, /* scan other devices */ if (is_btrfs && total_devs > 1) { - ret = btrfs_scan_devices(); + ret = btrfs_scan_devices(false); if (ret) return ret; } diff --git a/disk-io.c b/disk-io.c index a9744af90a43..33bd003167fe 100644 --- a/disk-io.c +++ b/disk-io.c @@ -1100,7 +1100,7 @@ int btrfs_scan_fs_devices(int fd, const char *path, } if (!skip_devices && total_devs != 1) { - ret = btrfs_scan_devices(); + ret = btrfs_scan_devices(false); if (ret) return ret; } From patchwork Mon Oct 21 10:01:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11201793 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 977FE1895 for ; Mon, 21 Oct 2019 10:01:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7645A2089C for ; Mon, 21 Oct 2019 10:01:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="LZcp6dwX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728053AbfJUKB5 (ORCPT ); Mon, 21 Oct 2019 06:01:57 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:42118 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728047AbfJUKB4 (ORCPT ); Mon, 21 Oct 2019 06:01:56 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9xN34023825 for ; Mon, 21 Oct 2019 10:01:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=qASuGQU5lXv4NXPYcDaufu8UqbtFHox32ldx3wlxKv0=; b=LZcp6dwX7YpJV3RBrSO4OV66a2h6F+YOb2IMqKLOlVgevL0M9AGPScU7wIpZSMJ+iGbe 11ACM0pj7rD1nsC4zXJXtqLKlDxoRNUrbBT5SxfZf/zN//MWJWka28ltVfkPQ1/w2+Vf WZNqNoZkz5FRCVXgVuN5ZPWUqqJB48qCzzF5Hr8XKyqRStne8sR7/CyN8o2zXc/t7PSO Av23pS3bO4Z+VmE4CFvqASkivgOrndFrYjJF36nC2/zkzmhW/JFTgudxklQxrzC2YT/O 6XAW+1er1R/oWj1lVXQ1tsY+RfnDEdWhw0dYoqxsnxSQTczbb5Oj6F7ZBYBh7Cz0RBSU cQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2130.oracle.com with ESMTP id 2vqswt6pms-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:55 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9L9wVrE089552 for ; Mon, 21 Oct 2019 10:01:54 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3020.oracle.com with ESMTP id 2vrbyycv4g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 21 Oct 2019 10:01:54 +0000 Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x9LA1snl013556 for ; Mon, 21 Oct 2019 10:01:54 GMT Received: from tp.wifi.oracle.com (/192.188.170.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Oct 2019 03:01:54 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [RFC PATCH 14/14] btrfs-progs: enable verbose for btrfs device scan Date: Mon, 21 Oct 2019 18:01:22 +0800 Message-Id: <1571652082-25982-15-git-send-email-anand.jain@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> References: <1571652082-25982-1-git-send-email-anand.jain@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9416 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910210096 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Enable verbose output for the device scan only through the global verbose option. For example: ./btrfs --verbose device scan Scanning for Btrfs filesystems registered: /dev/sda1 registered: /dev/sda2 registered: /dev/sda3 registered: /dev/sda5 registered: /dev/sda6 Signed-off-by: Anand Jain --- cmds/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmds/device.c b/cmds/device.c index b429a169cd5d..b38bf78a798e 100644 --- a/cmds/device.c +++ b/cmds/device.c @@ -354,7 +354,7 @@ static int cmd_device_scan(const struct cmd_struct *cmd, int argc, char **argv) } } else { printf("Scanning for Btrfs filesystems\n"); - ret = btrfs_scan_devices(false); + ret = btrfs_scan_devices(true); error_on(ret, "error %d while scanning", ret); ret = btrfs_register_all_devices(); error_on(ret,