Whamcloud - gitweb
LU-1842 quota: add acq/rel logic on QMT
authorJohann Lombardi <johann.lombardi@intel.com>
Thu, 4 Oct 2012 08:34:09 +0000 (10:34 +0200)
committerOleg Drokin <green@whamcloud.com>
Sat, 6 Oct 2012 06:31:51 +0000 (02:31 -0400)
commit51435cfffcd6815e70fb46b0ec2edcac3327bf44
tree2b6a4f7c7c062f1dac32f10c8d08b910c1844111
parent2d61b338d9990f2098ca646ecfe818668579ca76
LU-1842 quota: add acq/rel logic on QMT

This patch adds the quota acquire/release logic on the QMT.
The QMT is in charge of distributing quota space across quota
slaves. It grants a significant amount of quota space (75%) initially
and then tries to balance spare quota space among slaves.
To do so, it sends glimpse on per-ID lock to notify slaves of qunit
shrink. qunit is now the maximal amount of available quota space a
slave can own. As for qtune, this value (typically 1/4 of qunit) is
used on the quota slave to decide when to release/pre-acquire quota
space.

Signed-off-by: Johann Lombardi <johann.lombardi@intel.com>
Change-Id: I8064ce614955421681ca1da7e2bb774001ca3bea
Reviewed-on: http://review.whamcloud.com/4178
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_dlm.h
lustre/include/obd_support.h
lustre/ldlm/ldlm_lockd.c
lustre/quota/lquota_disk.c
lustre/quota/lquota_internal.h
lustre/quota/qmt_entry.c
lustre/quota/qmt_handler.c
lustre/quota/qmt_internal.h
lustre/quota/qmt_lock.c
lustre/quota/qmt_pool.c