This patch set is first attempt to make quota code scalable. Main goal of this patch-set is to split global locking to per-sb basis. Please review it and provide your opinion. Future plans: * More scalability for single super_block ** Remove dqptr_sem ** Redesing dquot ref accounting interface. ** Make fast path for charge function lockless quota: add wrapper function quota: Convert dq_state_lock to per-sb dq_state_lock quota: add quota format lock quota: make dquot lists per-sb quota: make per-sb hash array quota: remove global dq_list_lock quota: rename dq_lock quota: make per-sb dq_data_lock quota: protect dquot mem info with objects's lock quota: drop dq_data_lock where possible quota: relax dq_data_lock dq_lock locking consistency fs/ext3/super.c | 2 fs/ext4/super.c | 2 fs/ocfs2/quota_global.c | 42 ++-- fs/ocfs2/quota_local.c | 17 + fs/quota/dquot.c | 473 +++++++++++++++++++++++++++-------------------- fs/quota/quota_tree.c | 12 - fs/quota/quota_v1.c | 8 fs/quota/quota_v2.c | 4 fs/super.c | 5 include/linux/quota.h | 20 + include/linux/quotaops.h | 4 11 files changed, 355 insertions(+), 234 deletions(-) Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html