All of lore.kernel.org
 help / color / mirror / Atom feed
From: Niu Yawei <yawei.niu@gmail.com>
To: Christoph Hellwig <hch@infradead.org>, jack@suse.cz
Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	yawei.niu@intel.com, andreas.dilger@intel.com,
	lai.siyao@intel.com
Subject: [PATCH 1/3 v2] quota: protect Q_GETFMT by dqonoff_mutex
Date: Wed, 28 May 2014 09:52:19 +0800	[thread overview]
Message-ID: <53854153.40601@gmail.com> (raw)
In-Reply-To: <20140527101219.GA28035@infradead.org>

Remove dqptr_sem to make quota code scalable: Protect the
Q_GETFMT by dqonoff_mutex instead of dqptr_sem.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
---
 fs/quota/quota.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index 2b363e2..e4851cb 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -79,13 +79,13 @@ static int quota_getfmt(struct super_block *sb, int type, void __user *addr)
 {
 	__u32 fmt;
 
-	down_read(&sb_dqopt(sb)->dqptr_sem);
+	mutex_lock(&sb_dqopt(sb)->dqonoff_mutex);
 	if (!sb_has_quota_active(sb, type)) {
-		up_read(&sb_dqopt(sb)->dqptr_sem);
+		mutex_unlock(&sb_dqopt(sb)->dqonoff_mutex);
 		return -ESRCH;
 	}
 	fmt = sb_dqopt(sb)->info[type].dqi_format->qf_fmt_id;
-	up_read(&sb_dqopt(sb)->dqptr_sem);
+	mutex_unlock(&sb_dqopt(sb)->dqonoff_mutex);
 	if (copy_to_user(addr, &fmt, sizeof(fmt)))
 		return -EFAULT;
 	return 0;
-- 
1.7.1



  parent reply	other threads:[~2014-05-28  1:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-22 10:47 [PATCH] quota: remove dqptr_sem for scalability Niu Yawei
2014-05-22 13:25 ` Jan Kara
2014-05-23  3:37   ` Niu Yawei
2014-05-27 10:13   ` [PATCH 2/3] quota: avoid unnecessary dqget()/dqput() calls Niu Yawei
2014-05-27 10:15   ` [PATCH 3/3] quota: remove dqptr_sem Niu Yawei
2014-05-23  4:02 ` [PATCH] quota: remove dqptr_sem for scalability Eric Sandeen
2014-05-23  5:22   ` Niu Yawei
2014-05-23 13:02     ` Eric Sandeen
2014-05-27 10:10 ` [PATCH 1/3] quota: protect Q_GETFMT by dqonoff_mutex Niu Yawei
2014-05-27 10:12   ` Christoph Hellwig
2014-05-27 10:28     ` Niu Yawei
2014-05-28  1:52     ` Niu Yawei [this message]
2014-06-02  7:32       ` [PATCH 1/3 v2] " Jan Kara
2014-05-28  1:53     ` [PATCH 2/3 v2] quota: avoid unnecessary dqget()/dqput() calls Niu Yawei
2014-06-02  7:42       ` Jan Kara
2014-05-28  1:55     ` [PATCH 3/3 v2] quota: remove dqptr_sem Niu Yawei
2014-05-28  2:01       ` Niu Yawei
2014-06-02  8:34       ` Jan Kara
2014-06-03  9:51         ` Niu Yawei
2014-06-03 15:43           ` Jan Kara
2014-06-04  4:19             ` [PATCH 1/5] quota: protect Q_GETFMT by dqonoff_mutex Niu Yawei
2014-06-04 15:36               ` Jan Kara
2014-06-04  4:20             ` [PATCH 2/5] quota: avoid unnecessary dqget()/dqput() calls Niu Yawei
2014-06-04  4:21             ` [PATCH 3/5] quota: simplify remove_inode_dquot_ref() Niu Yawei
2014-06-04  4:22             ` [PATCH 4/5] quota: missing lock in dqcache_shrink_scan() Niu Yawei
2014-06-04  4:23             ` [PATCH 5/5] quota: remove dqptr_sem Niu Yawei

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=53854153.40601@gmail.com \
    --to=yawei.niu@gmail.com \
    --cc=andreas.dilger@intel.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=lai.siyao@intel.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=yawei.niu@intel.com \
    /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.