[PATCH 08/12] container quota: let quotactl(2) works for container.

jeff.liu at oracle.com jeff.liu at oracle.com
Wed May 30 14:59:02 UTC 2012


Modify quotactl(2) to determine for container quota control operations.

Signed-off-by: Jie Liu <jeff.liu at oracle.com>
---
 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



More information about the Containers mailing list