All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tune2fs: more respect for quota config option
@ 2013-09-24 21:11 Eric Sandeen
  2013-10-14 13:03 ` Theodore Ts'o
  0 siblings, 1 reply; 2+ messages in thread
From: Eric Sandeen @ 2013-09-24 21:11 UTC (permalink / raw)
  To: ext4 development; +Cc: Bert DeKnuydt

Commit 44a2cca3 disabled tune2fs -O quota when the build
didn't have --enable-quota at configure time, but that
wasn't quite enough.

We need to exclude the "-Q" option as well from tune2fs
when --enable-quota isn't specified at configure time.

Otherwise, tune2fs -Q can set the quota feature, but no other
utility will touch the filesystem due to the unknown flag,
if buitl w/o --enable-quota.

So put everything related to "-Q" under #ifdef CONFIG_QUOTA;
usage output (was missing before) and option parsing.

Addresses-Red-Hat-Bugzilla: #1010709
Reported-by: Bert DeKnuydt <Bert.Deknuydt@esat.kuleuven.be>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---

diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index c38711d..ee21fa8 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -124,6 +124,9 @@ static void usage(void)
 		  "\t[-r reserved_blocks_count] [-u user] [-C mount_count] "
 		  "[-L volume_label]\n"
 		  "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n"
+#ifdef CONFIG_QUOTA
+		  "\t[-Q quota_options]\n"
+#endif
 		  "\t[-E extended-option[,...]] [-T last_check_time] "
 		  "[-U UUID]\n\t[ -I new_inode_size ] device\n"), program_name);
 	exit(1);
@@ -1282,11 +1285,15 @@ static void parse_tune2fs_options(int argc, char **argv)
 	char *tmp;
 	struct group *gr;
 	struct passwd *pw;
+	char optstring[100] = "c:e:fg:i:jlm:o:r:s:u:C:E:I:J:L:M:O:T:U:";
 
+#ifdef CONFIG_QUOTA
+	strcat(optstring, "Q:");
+#endif
 	open_flag = 0;
 
 	printf("tune2fs %s (%s)\n", E2FSPROGS_VERSION, E2FSPROGS_DATE);
-	while ((c = getopt(argc, argv, "c:e:fg:i:jlm:o:r:s:u:C:E:I:J:L:M:O:Q:T:U:")) != EOF)
+	while ((c = getopt(argc, argv, optstring)) != EOF)
 		switch (c) {
 		case 'c':
 			max_mount_count = strtol(optarg, &tmp, 0);
@@ -1440,11 +1447,13 @@ static void parse_tune2fs_options(int argc, char **argv)
 			features_cmd = optarg;
 			open_flag = EXT2_FLAG_RW;
 			break;
+#ifdef CONFIG_QUOTA
 		case 'Q':
 			Q_flag = 1;
 			parse_quota_opts(optarg);
 			open_flag = EXT2_FLAG_RW;
 			break;
+#endif
 		case 'r':
 			reserved_blocks = strtoul(optarg, &tmp, 0);
 			if (*tmp) {


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] tune2fs: more respect for quota config option
  2013-09-24 21:11 [PATCH] tune2fs: more respect for quota config option Eric Sandeen
@ 2013-10-14 13:03 ` Theodore Ts'o
  0 siblings, 0 replies; 2+ messages in thread
From: Theodore Ts'o @ 2013-10-14 13:03 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: ext4 development, Bert DeKnuydt

On Tue, Sep 24, 2013 at 04:11:48PM -0500, Eric Sandeen wrote:
> Commit 44a2cca3 disabled tune2fs -O quota when the build
> didn't have --enable-quota at configure time, but that
> wasn't quite enough.
> 
> We need to exclude the "-Q" option as well from tune2fs
> when --enable-quota isn't specified at configure time.
> 
> Otherwise, tune2fs -Q can set the quota feature, but no other
> utility will touch the filesystem due to the unknown flag,
> if buitl w/o --enable-quota.
> 
> So put everything related to "-Q" under #ifdef CONFIG_QUOTA;
> usage output (was missing before) and option parsing.
> 
> Addresses-Red-Hat-Bugzilla: #1010709
> Reported-by: Bert DeKnuydt <Bert.Deknuydt@esat.kuleuven.be>
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>

Applied to maint branch, thanks.

					- Ted

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-10-14 13:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-24 21:11 [PATCH] tune2fs: more respect for quota config option Eric Sandeen
2013-10-14 13:03 ` Theodore Ts'o

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.