From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: sandeen@sandeen.net, linux-xfs@vger.kernel.org
Cc: jack@suse.com, jeffm@suse.com, okurz@suse.com,
lpechacek@suse.com, "Luis R. Rodriguez" <mcgrof@kernel.org>
Subject: [PATCH 5/9] mkfs.xfs: move mopts to struct mkfs_xfs_opts
Date: Fri, 3 Mar 2017 15:13:12 -0800 [thread overview]
Message-ID: <20170303231316.12716-6-mcgrof@kernel.org> (raw)
In-Reply-To: <20170303231316.12716-1-mcgrof@kernel.org>
This moves all main() mopts to struct mkfs_xfs_opts in
order to help with clutter and later enable re-parsing
options for other purposes.
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
mkfs/xfs_mkfs.c | 78 ++++++++++++++++++++++++++++-----------------------------
1 file changed, 38 insertions(+), 40 deletions(-)
diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
index cd52b525f824..52392c4e2c50 100644
--- a/mkfs/xfs_mkfs.c
+++ b/mkfs/xfs_mkfs.c
@@ -772,6 +772,7 @@ struct mkfs_xfs_opts {
int lvflag;
int lslflag;
int lssflag;
+ uuid_t uuid;
};
#define TERABYTES(count, blog) ((__uint64_t)(count) << (40 - (blog)))
@@ -1651,6 +1652,39 @@ parse_subopts(
}
}
break;
+ case 'm':
+ while (*p != '\0') {
+ switch (getsubopt(&p, (char **)mopts.subopts, &value)) {
+ case M_CRC:
+ params->sb_feat.crcs_enabled =
+ getnum(value, &mopts, M_CRC);
+ if (params->sb_feat.crcs_enabled)
+ params->sb_feat.dirftype = true;
+ break;
+ case M_FINOBT:
+ params->sb_feat.finobt =
+ getnum(value, &mopts, M_FINOBT);
+ break;
+ case M_UUID:
+ if (!value || *value == '\0')
+ reqval('m', (char **)mopts.subopts,
+ M_UUID);
+ if (platform_uuid_parse(value, ¶ms->uuid))
+ illegal(optarg, "m uuid");
+ break;
+ case M_RMAPBT:
+ params->sb_feat.rmapbt =
+ getnum(value, &mopts, M_RMAPBT);
+ break;
+ case M_REFLINK:
+ params->sb_feat.reflink =
+ getnum(value, &mopts, M_REFLINK);
+ break;
+ default:
+ unknown('m', value);
+ }
+ }
+ break;
default:
usage();
}
@@ -1721,7 +1755,6 @@ main(
xfs_sb_t *sbp;
__uint64_t sector_mask;
__uint64_t tmp_agsize;
- uuid_t uuid;
int worst_freelist;
struct fs_topology ft;
struct mkfs_xfs_opts params;
@@ -1730,7 +1763,7 @@ main(
memset(¶ms, 0, sizeof(params));
init_sb_feat_args_default(sb_feat);
- platform_uuid_generate(&uuid);
+ platform_uuid_generate(¶ms.uuid);
progname = basename(argv[0]);
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
@@ -1765,6 +1798,7 @@ main(
case 'd':
case 'i':
case 'l':
+ case 'm':
p = optarg;
parse_subopts(c, p, ¶ms);
break;
@@ -1773,42 +1807,6 @@ main(
illegal(optarg, "L");
label = optarg;
break;
- case 'm':
- p = optarg;
- while (*p != '\0') {
- char **subopts = (char **)mopts.subopts;
- char *value;
-
- switch (getsubopt(&p, subopts, &value)) {
- case M_CRC:
- sb_feat->crcs_enabled =
- getnum(value, &mopts, M_CRC);
- if (sb_feat->crcs_enabled)
- sb_feat->dirftype = true;
- break;
- case M_FINOBT:
- sb_feat->finobt = getnum(
- value, &mopts, M_FINOBT);
- break;
- case M_UUID:
- if (!value || *value == '\0')
- reqval('m', subopts, M_UUID);
- if (platform_uuid_parse(value, &uuid))
- illegal(optarg, "m uuid");
- break;
- case M_RMAPBT:
- sb_feat->rmapbt = getnum(
- value, &mopts, M_RMAPBT);
- break;
- case M_REFLINK:
- sb_feat->reflink = getnum(
- value, &mopts, M_REFLINK);
- break;
- default:
- unknown('m', value);
- }
- }
- break;
case 'n':
p = optarg;
while (*p != '\0') {
@@ -2843,9 +2841,9 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
sbp->sb_dblocks = dblocks;
sbp->sb_rblocks = rtblocks;
sbp->sb_rextents = rtextents;
- platform_uuid_copy(&sbp->sb_uuid, &uuid);
+ platform_uuid_copy(&sbp->sb_uuid, ¶ms.uuid);
/* Only in memory; libxfs expects this as if read from disk */
- platform_uuid_copy(&sbp->sb_meta_uuid, &uuid);
+ platform_uuid_copy(&sbp->sb_meta_uuid, ¶ms.uuid);
sbp->sb_logstart = logstart;
sbp->sb_rootino = sbp->sb_rbmino = sbp->sb_rsumino = NULLFSINO;
sbp->sb_rextsize = rtextblocks;
--
2.11.0
next prev parent reply other threads:[~2017-03-03 23:14 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-03 23:13 [PATCH 0/9] mkfs.xfs: add mkfs.xfs.conf support Luis R. Rodriguez
2017-03-03 23:13 ` [PATCH 1/9] mkfs.xfs: add helper to parse command line options Luis R. Rodriguez
2017-03-03 23:13 ` [PATCH 2/9] mkfs.xfs: move dopts to struct mkfs_xfs_opts Luis R. Rodriguez
2017-03-03 23:13 ` [PATCH 3/9] mkfs.xfs: move iopts to " Luis R. Rodriguez
2017-03-03 23:13 ` [PATCH 4/9] mkfs.xfs: move lopts " Luis R. Rodriguez
2017-03-03 23:13 ` Luis R. Rodriguez [this message]
2017-03-03 23:13 ` [PATCH 6/9] mkfs.xfs: move nopts " Luis R. Rodriguez
2017-03-03 23:13 ` [PATCH 7/9] mkfs.xfs: move ropts " Luis R. Rodriguez
2017-03-03 23:13 ` [PATCH 8/9] mkfs.xfs: use parse_subopts() to parse sopts Luis R. Rodriguez
2017-03-03 23:13 ` [PATCH 9/9] mkfs.xfs: add mkfs.xfs.conf parse support Luis R. Rodriguez
2017-03-03 23:55 ` Dave Chinner
2017-03-09 5:38 ` Eric Sandeen
2017-03-03 23:24 ` [PATCH 0/9] mkfs.xfs: add mkfs.xfs.conf support Luis R. Rodriguez
2017-03-04 3:49 ` Eric Sandeen
2017-03-04 4:56 ` Dave Chinner
2017-03-06 0:08 ` Eric Sandeen
2017-03-07 20:07 ` Jeff Mahoney
2017-03-07 20:09 ` Eric Sandeen
2017-03-06 8:50 ` Jan Kara
2017-03-09 0:16 ` Eric Sandeen
2017-03-09 0:51 ` Luis R. Rodriguez
2017-03-09 4:41 ` Eric Sandeen
2017-03-09 10:12 ` Jan Tulak
2017-03-09 14:31 ` Eric Sandeen
2017-03-09 15:21 ` Jan Tulak
2017-03-09 17:57 ` Luis R. Rodriguez
2017-03-09 22:34 ` Dave Chinner
2017-04-24 5:00 ` Luis R. Rodriguez
2017-04-24 7:26 ` Jan Tulak
2017-04-24 8:25 ` Luis R. Rodriguez
2017-05-11 22:46 ` Luis R. Rodriguez
2017-05-11 22:57 ` Eric Sandeen
2017-05-11 23:08 ` Luis R. Rodriguez
2017-05-12 0:48 ` Darrick J. Wong
2017-05-12 16:05 ` Eric Sandeen
2017-05-12 17:03 ` Luis R. Rodriguez
2017-05-12 17:05 ` Jeff Mahoney
2017-05-12 17:30 ` Luis R. Rodriguez
2017-05-11 23:00 ` Darrick J. Wong
2017-05-11 23:19 ` Luis R. Rodriguez
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=20170303231316.12716-6-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc=jack@suse.com \
--cc=jeffm@suse.com \
--cc=linux-xfs@vger.kernel.org \
--cc=lpechacek@suse.com \
--cc=okurz@suse.com \
--cc=sandeen@sandeen.net \
/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.