container quota: let quotactl(2) works for container.

Started by unknown sender on May 30, 2012

Subsystems (3)

Maintainers (4)

DORMANTno replies

open the first message on its own page

Message details and related content
Modify quotactl(2) to determine for container quota control operations.

Signed-off-by: Jie Liu <redacted>
---
 fs/quota/quota.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index 9a39120..40f381e 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -18,6 +18,12 @@
 #include <linux/types.h>
 #include <linux/writeback.h>
 
+/* Mount namespace disk quota required */
+#include <linux/mount.h>
+#include <linux/mnt_namespace.h>
+#include "../ns_quota.h"
+#include "../ns_quotaops.h"
+
 static int check_quotactl_permission(struct super_block *sb, int type, int cmd,
 				     qid_t id)
 {
@@ -355,6 +361,14 @@ SYSCALL_DEFINE4(quotactl, unsigned int, cmd, const char __user *, special,
 	type = cmd & SUBCMDMASK;
 
 	/*
+	 * Perform mount namespace quotactl when it is invoked from container.
+	 */
+	if (do_quotactl_for_container(special)) {
+		ret = do_container_quotactl(type, cmds, id, addr);
+		goto out;
+	}
+
+	/*
 	 * As a special case Q_SYNC can be called without a specific device.
 	 * It will iterate all superblocks that have quota enabled and call
 	 * the sync action on each of them.
-- 
1.7.9
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help