All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anand Jain <anand.jain@oracle.com>
To: linux-btrfs@vger.kernel.org
Cc: dsterba@suse.com
Subject: [PATCH v1 08/18] btrfs-progs: filesystem defragment: use global verbose option
Date: Wed, 30 Oct 2019 16:41:12 +0800	[thread overview]
Message-ID: <20191030084122.29745-9-anand.jain@oracle.com> (raw)
In-Reply-To: <20191030084122.29745-1-anand.jain@oracle.com>

Transpire global --verbose option down to the btrfs receive sub-command.

Suggested-by: David Sterba <dsterba@suse.com>
Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 cmds/filesystem.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/cmds/filesystem.c b/cmds/filesystem.c
index 4f22089abeaa..819b9fd1fcc5 100644
--- a/cmds/filesystem.c
+++ b/cmds/filesystem.c
@@ -844,11 +844,12 @@ static const char * const cmd_filesystem_defrag_usage[] = {
 	"(e.g., files copied with 'cp --reflink', snapshots) which may cause",
 	"considerable increase of space usage. See btrfs-filesystem(8) for",
 	"more information.",
+	HELPINFO_GLOBAL_OPTIONS_HEADER,
+	HELPINFO_INSERT_VERBOSE,
 	NULL
 };
 
 static struct btrfs_ioctl_defrag_range_args defrag_global_range;
-static int defrag_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 +858,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(1, "%s\n", fpath);
 		fd = open(fpath, defrag_open_mode);
 		if (fd < 0) {
 			goto error;
@@ -897,6 +897,10 @@ static int cmd_filesystem_defrag(const struct cmd_struct *cmd,
 	int compress_type = BTRFS_COMPRESS_NONE;
 	DIR *dirstream;
 
+	/* init global verbose if unset */
+	if (bconf.verbose < 0)
+		bconf.verbose = 0;
+
 	/*
 	 * Kernel 4.19+ supports defragmention of files open read-only,
 	 * otherwise it's an ETXTBSY error
@@ -913,7 +917,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 +934,7 @@ static int cmd_filesystem_defrag(const struct cmd_struct *cmd,
 			flush = 1;
 			break;
 		case 'v':
-			defrag_global_verbose = 1;
+			bconf.verbose++;
 			break;
 		case 's':
 			start = parse_size(optarg);
@@ -1031,8 +1034,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(1, "%s\n", argv[i]);
 			ret = ioctl(fd, BTRFS_IOC_DEFRAG_RANGE,
 					&defrag_global_range);
 			defrag_err = errno;
-- 
2.23.0


  parent reply	other threads:[~2019-10-30  8:41 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-30  8:41 [PATCH v1 00/18] btrfs-progs: global verbose and quiet option Anand Jain
2019-10-30  8:41 ` [PATCH v1 01/18] btrfs-progs: receive: fix option quiet Anand Jain
2019-10-30  8:41 ` [PATCH v1 02/18] btrfs-progs: balance status: fix usage show long verbose Anand Jain
2019-10-30  8:41 ` [PATCH v1 03/18] btrfs-progs: balance start: fix usage add " Anand Jain
2019-10-30  8:41 ` [PATCH v1 04/18] btrfs-progs: add global verbose and quiet options and helper functions Anand Jain
2019-11-01  9:46   ` Antonio Pérez
2019-11-01 10:12     ` David Sterba
2019-11-02  1:15       ` Anand Jain
2019-10-30  8:41 ` [PATCH v1 05/18] btrfs-progs: send: use global verbose and quiet options Anand Jain
2019-10-30  8:41 ` [PATCH v1 06/18] btrfs-progs: receive: " Anand Jain
2019-10-30  8:41 ` [PATCH v1 07/18] btrfs-progs: subvolume delete: use global verbose option Anand Jain
2019-10-30  8:41 ` Anand Jain [this message]
2019-10-30  8:41 ` [PATCH v1 09/18] btrfs-progs: balance start: " Anand Jain
2019-10-30  8:41 ` [PATCH v1 10/18] btrfs-progs: balance status: " Anand Jain
2019-10-30  8:41 ` [PATCH v1 11/18] btrfs-progs: rescue chunk-recover: " Anand Jain
2019-10-30  8:41 ` [PATCH v1 12/18] btrfs-progs: rescue super-recover: " Anand Jain
2019-10-30  8:41 ` [PATCH v1 13/18] btrfs-progs: restore: " Anand Jain
2019-10-30  8:41 ` [PATCH v1 14/18] btrfs-progs: inspect-internal inode-resolve: use global verbose Anand Jain
2019-10-30  8:41 ` [PATCH v1 15/18] btrfs-progs: inspect-internal logical-resolve: use global verbose option Anand Jain
2019-10-30  8:41 ` [PATCH v1 16/18] btrfs-progs: refactor btrfs_scan_devices() to accept verbose argument Anand Jain
2019-10-30  8:41 ` [PATCH v1 17/18] btrfs-progs: device scan: add verbose option Anand Jain
2019-10-30  8:41 ` [PATCH v1 18/18] btrfs-progs: device scan: add quiet option Anand Jain
2019-11-04  6:32 [PATCH v1.1 00/18] btrfs-progs: global verbose and " Anand Jain
2019-11-04  6:33 ` [PATCH v1 08/18] btrfs-progs: filesystem defragment: use global verbose option Anand Jain
2019-11-14 16:16   ` David Sterba
2019-11-25 10:35     ` 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=20191030084122.29745-9-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.