From: Anand Jain <anand.jain@oracle.com>
To: linux-btrfs@vger.kernel.org
Cc: dsterba@suse.com
Subject: [PATCH v3 13/16] btrfs-progs: inspect-internal logical-resolve: use global verbose option
Date: Fri, 12 Jun 2020 19:26:38 +0800 [thread overview]
Message-ID: <20200612112638.4018-1-anand.jain@oracle.com> (raw)
In-Reply-To: <1574678357-22222-14-git-send-email-anand.jain@oracle.com>
Transpire global --verbose option down to the
btrfs inspect-internal logical-resolve sub-command.
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 <dsterba@suse.com>
Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
v3: update help and documentation
v2: Use new helper function bconf_be_verbose()
Documentation/btrfs-inspect-internal.asciidoc | 1 +
cmds/inspect.c | 25 ++++++++-----------
2 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/Documentation/btrfs-inspect-internal.asciidoc b/Documentation/btrfs-inspect-internal.asciidoc
index e8d4c861603d..c0009e2e5382 100644
--- a/Documentation/btrfs-inspect-internal.asciidoc
+++ b/Documentation/btrfs-inspect-internal.asciidoc
@@ -152,6 +152,7 @@ resolve paths to all files at given 'logical' address in the linear filesystem s
skip the path resolving and print the inodes instead
-v::::
verbose mode, print count of returned paths and all ioctl() return values
+This option is merged to the global verbose option
-o::::
ignore offsets, find all references to an extent instead of a single block.
Requires kernel support for the V2 ioctl (added in 4.15). The results might need
diff --git a/cmds/inspect.c b/cmds/inspect.c
index b0d3c8102400..bbbac4431ac7 100644
--- a/cmds/inspect.c
+++ b/cmds/inspect.c
@@ -38,7 +38,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;
@@ -117,8 +117,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,
- bconf.verbose, argv[optind+1]);
+ ret = __ino_to_path_fd(arg_strtou64(argv[optind]), fd, argv[optind+1]);
close_file_or_dir(fd, dirstream);
return !!ret;
@@ -137,6 +136,8 @@ static const char * const cmd_inspect_logical_resolve_usage[] = {
" container's size in case it is not enough to read all the ",
" resolved results. The max value one can set is 64k with the",
" v1 ioctl. Sizes over 64k will use the v2 ioctl (kernel 4.15+)",
+ HELPINFO_INSERT_GLOBALS,
+ HELPINFO_INSERT_VERBOSE,
NULL
};
@@ -146,7 +147,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 = { 0 };
@@ -169,7 +169,7 @@ static int cmd_inspect_logical_resolve(const struct cmd_struct *cmd,
getpath = 0;
break;
case 'v':
- verbose = 1;
+ bconf_be_verbose();
break;
case 'o':
flags |= BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET;
@@ -211,13 +211,11 @@ 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, "
- "bytes_missing=%lu, cnt=%d, missed=%d\n",
- ret, size,
- (unsigned long)inodes->bytes_left,
- (unsigned long)inodes->bytes_missing,
- inodes->elem_cnt, inodes->elem_missed);
+ pr_verbose(1,
+"ioctl ret=%d, total_size=%llu, bytes_left=%lu, bytes_missing=%lu, cnt=%d, missed=%d\n",
+ ret, size, (unsigned long)inodes->bytes_left,
+ (unsigned long)inodes->bytes_missing, inodes->elem_cnt,
+ inodes->elem_missed);
bytes_left = sizeof(full_path);
ret = snprintf(full_path, bytes_left, "%s/", argv[optind+1]);
@@ -262,8 +260,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 {
--
2.25.1
next prev parent reply other threads:[~2020-06-12 11:26 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-25 10:39 [PATCH v2 00/16] btrfs-progs: global verbose and quiet option Anand Jain
2019-11-25 10:39 ` [PATCH 01/16] btrfs-progs: split global help HELPINFO_INSERT_GLOBALS Anand Jain
2019-11-25 10:39 ` [PATCH v2 02/16] btrfs-progs: add global verbose and quiet options and helper functions Anand Jain
2020-06-12 10:56 ` [PATCH v3 " Anand Jain
2020-06-12 15:39 ` David Sterba
2020-06-12 22:48 ` Anand Jain
2020-06-23 16:44 ` David Sterba
2020-06-29 15:36 ` David Sterba
2019-11-25 10:39 ` [PATCH v2 03/16] btrfs-progs: send: use global verbose and quiet options Anand Jain
2020-06-12 10:58 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 04/16] btrfs-progs: receive: " Anand Jain
2020-06-12 11:24 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 05/16] btrfs-progs: subvolume delete: use global verbose option Anand Jain
2020-06-12 11:24 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 06/16] btrfs-progs: filesystem defragment: " Anand Jain
2020-06-08 6:31 ` Anand Jain
2020-06-11 16:56 ` [PATCH v3 " Anand Jain
2020-06-12 11:25 ` [PATCH v4 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 07/16] btrfs-progs: balance start: " Anand Jain
2020-06-12 11:25 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 08/16] btrfs-progs: balance status: " Anand Jain
2020-06-12 11:25 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 09/16] btrfs-progs: rescue chunk-recover: " Anand Jain
2020-06-12 11:25 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 10/16] btrfs-progs: rescue super-recover: " Anand Jain
2020-06-12 11:25 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 11/16] btrfs-progs: restore: " Anand Jain
2020-06-12 11:26 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 12/16] btrfs-progs: inspect-internal inode-resolve: use global verbose Anand Jain
2020-06-12 11:26 ` [PATCH v3 " Anand Jain
2019-11-25 10:39 ` [PATCH v2 13/16] btrfs-progs: inspect-internal logical-resolve: use global verbose option Anand Jain
2020-06-12 11:26 ` Anand Jain [this message]
2019-11-25 10:39 ` [PATCH 14/16] btrfs-progs: refactor btrfs_scan_devices() to accept verbose argument Anand Jain
2019-11-25 10:39 ` [PATCH v2 15/16] btrfs-progs: device scan: add verbose option Anand Jain
2019-11-25 10:39 ` [PATCH 16/16] btrfs-progs: device scan: add quiet option Anand Jain
2019-12-20 5:36 ` [PATCH v2 00/16] btrfs-progs: global verbose and " Anand Jain
2020-01-14 6:14 ` Anand Jain
2020-01-14 11:40 ` David Sterba
2020-03-28 5:45 ` Anand Jain
2020-05-20 10:01 ` Anand Jain
2020-06-05 9:24 ` David Sterba
2020-06-05 10:12 ` Anand Jain
2020-06-10 10:17 ` David Sterba
2020-06-11 18:13 ` Anand Jain
2020-06-11 16:36 ` [PATCH v3 02/16] btrfs-progs: add global verbose and quiet options and helper functions Anand Jain
2020-06-11 16:39 ` [PATCH v3 11/16] btrfs-progs: restore: use global verbose option Anand Jain
2020-06-11 16:41 ` [PATCH v2 16/16] btrfs-progs: device scan: add quiet option Anand Jain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200612112638.4018-1-anand.jain@oracle.com \
--to=anand.jain@oracle.com \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).