Skip to contentSkip to conversation

quota: fix QUOTACTL kconfig for gfs2

PATCH In review Randy Dunlap 4 participants 10 messages Aug 11, 2010 – Aug 17, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 quota: fix QUOTACTL kconfig for gfs2

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

However, the "depends on" line here seems like overkill to me.

fs/quota/Kconfig +1 -1
@@ -65,7 +65,7 @@ config QFMT_V2
 
 config QUOTACTL
 	bool
-	depends on XFS_QUOTA || QUOTA
+	depends on XFS_QUOTA || QUOTA || GFS2_FS
 	default y
 
 config QUOTACTL_COMPAT
reviewer
#1 lore raw
Quoted 4 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

Quoted 8 lines
---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

Honza

Quoted 13 lines
fs/quota/Kconfig +1 -1
@@ -65,7 +65,7 @@ config QFMT_V2
 
 config QUOTACTL
 	bool
-	depends on XFS_QUOTA || QUOTA
+	depends on XFS_QUOTA || QUOTA || GFS2_FS
 	default y
 
 config QUOTACTL_COMPAT
Signature · 2 lines
Jan Kara <[email protected]>
SUSE Labs, CR
#2 lore raw
Quoted 12 lines · Jan Kara
Quoted 11 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 4 lines
Quoted 1 line

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

Yes, I think that would be better.

However, if you like the patch below, we should also kill the 'select QUOTACTL' in fs/gfs2/Kconfig.

Quoted 11 lines
Quoted 11 lines
fs/quota/Kconfig +1 -1
@@ -65,7 +65,7 @@ config QFMT_V2
 
 config QUOTACTL
 	bool
-	depends on XFS_QUOTA || QUOTA
+	depends on XFS_QUOTA || QUOTA || GFS2_FS
 	default y
 
 config QUOTACTL_COMPAT
Signature · 2 lines
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
#3 lore raw

Hi,

Quoted 13 lines · Randy Dunlap
Quoted 12 lines · Jan Kara
Quoted 11 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 5 lines
Quoted 4 lines
Quoted 1 line

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

I'm not sure I follow. What is GFS2_QUOTA in this case? GFS2 used to select QUOTA as well, but Christoph removed that. Shouldn't the user interface part of quota be separate from the core implementation?

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e9edb1d8a345119c9baafa1b240eb1ec06a44662

Steve.

#4 lore raw
Quoted 16 lines · Steven Whitehouse

Hi,

Quoted 13 lines · Randy Dunlap
Quoted 12 lines · Jan Kara
Quoted 11 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines
Quoted 1 line

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

I'm not sure I follow. What is GFS2_QUOTA in this case? GFS2 used to

That's OK. I'm not following you either. ;) Where is GFS2_QUOTA?

Quoted 2 lines

select QUOTA as well, but Christoph removed that. Shouldn't the user interface part of quota be separate from the core implementation?

Do people use one without the other?

Quoted 1 line

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e9edb1d8a345119c9baafa1b240eb1ec06a44662

Do you prefer my original patch that started this thread?

If fs/quota/Kconfig says:

config QUOTACTL

	bool
	depends on XFS_QUOTA || QUOTA || GFS2_FS
	default y

then there is no need for fs/gfs2/Kconfig to select QUOTACTL.

Anyway, this is a centralized kconfig control of QUOTACTL. I was just suggesting that having each fs control is locally would be more manageable. It's not a big deal.

Signature · 2 lines
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
#5 lore raw
Quoted 4 lines · Randy Dunlap
Quoted 2 lines

select QUOTA as well, but Christoph removed that. Shouldn't the user interface part of quota be separate from the core implementation?

Do people use one without the other?

Yes, there's a the quoatctl system call and a few handlers, of which the current quota implementation is different. We currently have the semi-generionc 'dquot' implementation used by extN, reiserfs and ocfs2, the xfs implementation and the gfs2 implementation. We also used to have some stubs in cifs, but they never became an actually useful implementation.

So selecting QUOTACTL by XFS, GFS2 and QUOTA (which is a bit misnamed) would be correct.

#6 lore raw
In reply to Randy Dunlap

Hi,

Quoted 17 lines · Randy Dunlap
Quoted 16 lines · Steven Whitehouse

Hi,

Quoted 13 lines · Randy Dunlap
Quoted 12 lines · Jan Kara
Quoted 11 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 9 lines
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines
Quoted 1 line

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

I'm not sure I follow. What is GFS2_QUOTA in this case? GFS2 used to

That's OK. I'm not following you either. ;) Where is GFS2_QUOTA?

Well GFS2_QUOTA was referred to in the above comment, but it doesn't exist as quotas are not optional in GFS2. That is partly a hangover from GFS1 and partly because it makes things a lot more complicated in a cluster filesystem if you can't be sure that all nodes understand the same options.

Quoted 6 lines
Quoted 3 lines

select QUOTA as well, but Christoph removed that. Shouldn't the user interface part of quota be separate from the core implementation?

Do people use one without the other?

The original GFS2 implementation was totally separate, again it was largely inherited from GFS1, but some changes (read/write of the quota file via the gfs2meta fs type, rather than the GFS1 read/write ioctls). More recently I added support for updating the quotas via the XFS-style interface with the longer term aim of being able to use quota-tools for all GFS2 quota operations and (eventually) dropping support for the gfs2_quota tool.

As a result of that GFS2 uses the quotactl interface code, but retains all its original, internal, quota code as well.

Quoted 11 lines
Quoted 1 line

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e9edb1d8a345119c9baafa1b240eb1ec06a44662

Do you prefer my original patch that started this thread?

If fs/quota/Kconfig says:

config QUOTACTL

	bool
	depends on XFS_QUOTA || QUOTA || GFS2_FS
	default y
Quoted 6 lines

then there is no need for fs/gfs2/Kconfig to select QUOTACTL.

Anyway, this is a centralized kconfig control of QUOTACTL. I was just suggesting that having each fs control is locally would be more manageable. It's not a big deal.

Hmm. I'd been looking on the quotactl code as basically being a library function, so I'd have expected to have the filesystems select it if they require it.

I thought the original issue was that there was some interdependency between QUOTA and QUOTACTL or is that not what that message was saying?

Steve.

#7 lore raw
Quoted 25 lines · Steven Whitehouse

Hi,

Quoted 22 lines · Randy Dunlap
Quoted 21 lines · Steven Whitehouse

Hi,

Quoted 18 lines · Randy Dunlap
Quoted 16 lines · Jan Kara
Quoted 4 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

Quoted 8 lines
---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

Quoted 5 lines
Quoted 4 lines
Quoted 1 line

I'm not sure I follow. What is GFS2_QUOTA in this case? GFS2 used to

That's OK. I'm not following you either. ;) Where is GFS2_QUOTA?

Well GFS2_QUOTA was referred to in the above comment, but it doesn't

Oh, in Jan's comment. I see.

Quoted 36 lines

exist as quotas are not optional in GFS2. That is partly a hangover from GFS1 and partly because it makes things a lot more complicated in a cluster filesystem if you can't be sure that all nodes understand the same options.

Quoted 6 lines
Quoted 3 lines

select QUOTA as well, but Christoph removed that. Shouldn't the user interface part of quota be separate from the core implementation?

Do people use one without the other?

The original GFS2 implementation was totally separate, again it was largely inherited from GFS1, but some changes (read/write of the quota file via the gfs2meta fs type, rather than the GFS1 read/write ioctls). More recently I added support for updating the quotas via the XFS-style interface with the longer term aim of being able to use quota-tools for all GFS2 quota operations and (eventually) dropping support for the gfs2_quota tool.

As a result of that GFS2 uses the quotactl interface code, but retains all its original, internal, quota code as well.

Quoted 14 lines
Quoted 1 line

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e9edb1d8a345119c9baafa1b240eb1ec06a44662

Do you prefer my original patch that started this thread?

If fs/quota/Kconfig says:

config QUOTACTL

	bool
	depends on XFS_QUOTA || QUOTA || GFS2_FS
	default y

then there is no need for fs/gfs2/Kconfig to select QUOTACTL.

Quoted 6 lines
Quoted 3 lines

Anyway, this is a centralized kconfig control of QUOTACTL. I was just suggesting that having each fs control is locally would be more manageable. It's not a big deal.

Hmm. I'd been looking on the quotactl code as basically being a library function, so I'd have expected to have the filesystems select it if they require it.

Yes, that's how I see it also, but Jan can correct me on that...

Quoted 2 lines

I thought the original issue was that there was some interdependency between QUOTA and QUOTACTL or is that not what that message was saying?

I don't think so. It's just a Kconfig language muckup & cleanup AFAICT.

Signature · 2 lines
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
reviewer
#8 lore raw
In reply to Randy Dunlap
Quoted 13 lines · Randy Dunlap
Quoted 12 lines · Jan Kara
Quoted 11 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 6 lines
Quoted 4 lines
Quoted 1 line

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

Yes, I think that would be better.

OK, I've pushed the patch below to my tree.

Honza

Signature · 3 lines
Jan Kara <[email protected]>
SUSE Labs, CR
---
Quoted 1 line

From 7d67aa08b438d5c1681a2e977f8e3f2e44570305 Mon Sep 17 00:00:00 2001

From: Jan Kara <[email protected]>
Date: Tue, 17 Aug 2010 12:14:44 +0200
Subject: [PATCH] quota: Make QUOTACTL config be selected by its users

Remove "depends on" line from QUOTACTL config option and rather select the option explicitely from config options which need it. It makes more sense this way and also fixes Kconfig warning due to GFS2 selecting QUOTACTL but QUOTACTL not depending on it.

---
 fs/quota/Kconfig |    4 ++--
 fs/xfs/Kconfig   |    1 +
 2 files changed, 3 insertions(+), 2 deletions(-)
fs/quota/Kconfig +2 -2
index 3e21b1e..880fd98 100644
@@ -4,6 +4,7 @@
 
 config QUOTA
 	bool "Quota support"
+	select QUOTACTL
 	help
 	  If you say Y here, you will be able to set per user limits for disk
 	  usage (also called disk quotas). Currently, it works for the
@@ -65,8 +66,7 @@ config QFMT_V2
 
 config QUOTACTL
 	bool
-	depends on XFS_QUOTA || QUOTA
-	default y
+	default n
 
 config QUOTACTL_COMPAT
 	bool
fs/xfs/Kconfig +1 -0
index 480f281..6100ec0 100644
@@ -22,6 +22,7 @@ config XFS_FS
 config XFS_QUOTA
 	bool "XFS Quota support"
 	depends on XFS_FS
+	select QUOTACTL
 	help
 	  If you say Y here, you will be able to set limits for disk usage on
 	  a per user and/or a per group basis under XFS.  XFS considers quota
Signature · 1 line
1.6.4.2
#9 lore raw
Quoted 14 lines · Jan Kara
Quoted 13 lines · Randy Dunlap
Quoted 12 lines · Jan Kara
Quoted 11 lines · Randy Dunlap

From: Randy Dunlap <[email protected]>

warning: (GFS2_FS && BLOCK && EXPERIMENTAL && (64BIT || LBDAF)) selects QUOTACTL which has unmet direct dependencies (XFS_QUOTA || QUOTA)

---
 fs/quota/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 7 lines
Quoted 6 lines
Quoted 4 lines
Quoted 1 line

However, the "depends on" line here seems like overkill to me.

OK, so do you mean that making QUOTACTL default to 'n', removing the
depends on line and letting QUOTA, XFS_QUOTA, and GFS2_QUOTA select QUOTACTL would be better?

Yes, I think that would be better.

OK, I've pushed the patch below to my tree.

Thanks. Looks good.

Signature · 2 lines
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***