Whamcloud - gitweb
LU-17166 ptlrpc: add pb_projid field in ptlrpc_body 20/54920/10
authorEtienne AUJAMES <eaujames@ddn.com>
Mon, 10 Mar 2025 17:26:42 +0000 (13:26 -0400)
committerOleg Drokin <green@whamcloud.com>
Fri, 25 Apr 2025 00:52:14 +0000 (00:52 +0000)
commit2cde8f434a86b8499dfbe56d59fe93a028c229ee
tree35e6b87a87ef59e9f0d2b0bb19f687d5ca5d8b1c
parent53ae11aa46eb4c8cff5002b199cd0ea38e129d8e
LU-17166 ptlrpc: add pb_projid field in ptlrpc_body

This patch "tags" ptlrpc requests with projid (with pb_projid field in
ptlrpc_body). This will enable to add server projid stats and TBF
scheduling based on projid.

The projid comes from the inode (struct ll_inode_info::lli_projid).
For MDT request by name (lookup/create), if the parent have the projid
inherit flag ("LLIF_PROJECT_INHERIT"), the request will be "tag" with
the parent projid.

To build an OSC request, cl_req_projid_set() is added to retrieve the
projid from the VPP layer.

Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I98a73023268a5f24549e3204d6d42a3f057a0798
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54920
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
29 files changed:
lustre/include/cl_object.h
lustre/include/lustre_net.h
lustre/include/obd.h
lustre/include/obd_class.h
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/include/uapi/linux/lustre/lustre_user.h
lustre/llite/acl.c
lustre/llite/crypto.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/vvp_object.c
lustre/llite/xattr.c
lustre/lmv/lmv_obd.c
lustre/lov/lovsub_object.c
lustre/mdc/mdc_internal.h
lustre/mdc/mdc_lib.c
lustre/mdc/mdc_locks.c
lustre/mdc/mdc_request.c
lustre/obdclass/cl_object.c
lustre/osc/osc_internal.h
lustre/osc/osc_io.c
lustre/osc/osc_lock.c
lustre/osc/osc_request.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/wiretest.c
lustre/utils/lfs.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c