Whamcloud - gitweb
LU-12358 pcc: add project quota support on PCC backend
authorQian Yingjin <qian@ddn.com>
Sun, 6 Sep 2020 08:52:04 +0000 (16:52 +0800)
committerAndreas Dilger <adilger@whamcloud.com>
Fri, 26 Mar 2021 18:02:14 +0000 (18:02 +0000)
commita84af70dcab48f0832fb5c70243706e13f20f881
tree2854483273b9b19bc9575f6500d6312e1e065f11
parent1276a8f6dac736a63244f7e943cbc6951e518b2d
LU-12358 pcc: add project quota support on PCC backend

Current PCC can enforce a quota limitation of the capacity usage
for each user and group to provide cache isolation. An admin
can specify the quota enforcement on the local PCC file system.

Users can perform PCC-cached I/O on files until they receive a
return value -ENOSPC of -EDQUOT, which means that they hit the
quota limit or that there is no free capacity left on the local
PCC backend fs during I/O or the attach process. At this time,
I/O will fall back to the normal I/O path.

This patch adds project quota on the PCC backend file system
along with user/group quota.

With this feature, it can have multiple PCC backends on a single
client with different caching rules, so we can define upfront
how much of the client FS can be used for each cache.

Test-Parameters: clientcount=3 testlist=sanity-pcc,sanity-pcc,sanity-pcc
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Ib93da953d4a3a7091f62094f8175bde91e819895
Reviewed-on: https://review.whamcloud.com/41928
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@whamcloud.com>
lustre/llite/pcc.c
lustre/llite/pcc.h
lustre/tests/sanity-pcc.sh