Whamcloud - gitweb
LU-13189 osd-zfs: add project id for old objects without ZFS_PROJID 46/47846/3
authorLi Dongyang <dongyangli@ddn.com>
Thu, 23 Jun 2022 06:36:19 +0000 (16:36 +1000)
committerOleg Drokin <green@whamcloud.com>
Mon, 11 Jul 2022 17:35:14 +0000 (17:35 +0000)
commit5a5dad1bc0147b63f377168dde3fe799156a5abd
treee497cbcb89cbb029e4c7268746b11b68f2a79e58
parente1906ae3dbb6b3291272fd8ba0ecbb9fd2425fbb
LU-13189 osd-zfs: add project id for old objects without ZFS_PROJID

After project quota zpool upgrade, the ZFS_PROJID
flag could still be missing on some old objects.

We used to check for this and return ENXIO in
osd_declare_attr_set(), however the check is changed
by "LU-12309 osd-zfs: Support disabled project quotas".

Now if the target project id is the default
project id 0, we will pass the check in
osd_declare_attr_set() and trigger the assert in
osd_attr_set() later.

Instead of returning ENXIO, we could adjust the
attribute layout of the old objects to accommodate
project id.

Also add back the logic from "LU-14740 quota: reject
invalid project id on server side", which got removed
by "LU-14927 quota: move qsd_transfer to lquota module",
due to using GPL symbols.

Lustre-change: https://review.whamcloud.com/47709
Lustre-commit: ec79791a7cda5b66649200b16a70167d86059e65

Change-Id: Ib62fdd2a0e07f15ae12daf564273a249a54dd8ea
Fixes: 291e7196d3 ("LU-12309 osd-zfs: Support disabled project quotas")
Fixes: d2e8208e22 ("LU-14927 quota: move qsd_transfer to lquota module")
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/47846
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/osd-zfs/osd_object.c