Anand Jain
2013-Apr-19  09:38 UTC
[PATCH] btrfs-progs: subvol show could take more than one subvol
Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 cmds-subvolume.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/cmds-subvolume.c b/cmds-subvolume.c
index 74e2130..e3b8032 100644
--- a/cmds-subvolume.c
+++ b/cmds-subvolume.c
@@ -800,16 +800,18 @@ static int cmd_subvol_show(int argc, char **argv)
 	struct btrfs_list_filter_set *filter_set;
 	char tstr[256];
 	char uuidparse[37];
-	char *fullpath = NULL, *svpath = NULL, *mnt = NULL;
+	char *fullpath, *svpath = NULL, *mnt;
 	char raw_prefix[] = "\t\t\t\t";
 	u64 sv_id, mntid;
 	int fd = -1, mntfd = -1;
 	int ret = -1;
 
-	if (check_argc_exact(argc, 2))
+	if (check_argc_min(argc, 2))
 		usage(cmd_subvol_show_usage);
-
-	fullpath = realpath(argv[1], 0);
+again:
+	mnt = NULL;
+	fullpath = NULL;
+	fullpath = realpath(argv[optind++], 0);
 	if (!fullpath) {
 		fprintf(stderr, "ERROR: finding real path for ''%s'',
%s\n",
 			argv[1], strerror(errno));
@@ -939,6 +941,8 @@ out:
 	if (fullpath)
 		free(fullpath);
 
+	if (optind < argc)
+		goto again;
 	return ret;
 }
 
-- 
1.8.1.227.g44fe835
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stefan Behrens
2013-Apr-19  10:00 UTC
Re: [PATCH] btrfs-progs: subvol show could take more than one subvol
On Fri, 19 Apr 2013 17:38:29 +0800, Anand Jain wrote:> Signed-off-by: Anand Jain <anand.jain@oracle.com> > --- > cmds-subvolume.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/cmds-subvolume.c b/cmds-subvolume.c > index 74e2130..e3b8032 100644 > --- a/cmds-subvolume.c > +++ b/cmds-subvolume.c > @@ -800,16 +800,18 @@ static int cmd_subvol_show(int argc, char **argv) > struct btrfs_list_filter_set *filter_set; > char tstr[256]; > char uuidparse[37]; > - char *fullpath = NULL, *svpath = NULL, *mnt = NULL; > + char *fullpath, *svpath = NULL, *mnt; > char raw_prefix[] = "\t\t\t\t"; > u64 sv_id, mntid; > int fd = -1, mntfd = -1; > int ret = -1; > > - if (check_argc_exact(argc, 2)) > + if (check_argc_min(argc, 2)) > usage(cmd_subvol_show_usage); > - > - fullpath = realpath(argv[1], 0); > +again: > + mnt = NULL; > + fullpath = NULL;The "fullpath = NULL" line above is not needed because of the following line.> + fullpath = realpath(argv[optind++], 0); > if (!fullpath) { > fprintf(stderr, "ERROR: finding real path for ''%s'', %s\n", > argv[1], strerror(errno));argv[optind - 1], strerror(errno));> @@ -939,6 +941,8 @@ out: > if (fullpath) > free(fullpath); > > + if (optind < argc) > + goto again; > return ret; > } > >-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html