List of maintainers and how to submit Lustre changes
Please try to follow the guidelines below. This will make things
easier on the maintainers. Not all of these guidelines matter for every
trivial patch so apply some common sense.
1. Always _test_ your changes, however small.
2. PLEASE remember that submissions must be made under the terms
of the Linux Foundation certificate of contribution and should
include a Signed-off-by: line. The current version of this
"Developer's Certificate of Origin" (DCO) is listed in the file
Documentation/process/submitting-patches.rst.
3. Make sure your changes compile correctly in multiple
configurations. In particular check that changes work both as a
module and built into the kernel.
4. Add reviewers to the patch based on the get_maintainers.pl script.
5. PLEASE check your patch with the automated style checker
(contrib/scripts/checkpatch.pl) to catch trivial style violations.
6. Make sure you have the right to send any changes you make. If you
do changes at work you may find your employer owns the patch
not you.
7. Happy hacking.
Descriptions of section entries:
R: Designated reviewer: FullName
These reviewers should be CCed on patches.
W: Web-page with status/info
S: Status, one of the following:
Supported: Someone is actually paid to look after this.
Maintained: Someone actually looks after it.
Odd Fixes: It has a maintainer but they don't have time to do
much other than throw the odd patch in. See below.
Orphan: No current maintainer [but maybe you could take the
role as you write your new code].
Obsolete: Old code. Something tagged obsolete generally means
it has been replaced by a better system and you
should be using that.
F: Files and directories with wildcard patterns.
A trailing slash includes all files and subdirectory files.
F: drivers/net/ all files in and below drivers/net
F: drivers/net/* all files in drivers/net, but not below
F: */net/* all files in "any top level directory"/net
One pattern per line. Multiple F: lines acceptable.
N: Files and directories with regex patterns.
N: [^a-z]tegra all files whose path contains the word tegra
One pattern per line. Multiple N: lines acceptable.
scripts/get_maintainer.pl has different behavior for files that
match F: pattern and matches of N: patterns. By default,
get_maintainer will not look at git log history when an F: pattern
match occurs. When an N: match occurs, git log history is used
to also notify the people that have git commit signatures.
X: Files and directories that are NOT maintained, same rules as F:
Files exclusions are tested before file matches.
Can be useful for excluding a specific subdirectory, for instance:
F: net/
X: net/ipv6/
matches all files in and below net excluding net/ipv6/
K: Keyword perl extended regex pattern to match content in a
patch or file. For instance:
K: of_get_profile
matches patches or files that contain "of_get_profile"
K: \b(printk|pr_(info|err))\b
matches patches or files that contain one or more of the words
printk, pr_info or pr_err
One regex pattern per line. Multiple K: lines acceptable.
This list is meant to remain in alphabetical order. Please add yourselves
to it in alphabetical order. Please include "Lustre" in the subsystem
description, even though it is currently redundant, so that it is easier
to keep this in sync once the client is merged upstream.
Maintainers List (try to look for most precise areas first)
-----------------------------------
Lustre Build System
R: Shaun Tancheff
R: Minh Diep
S: Supported
F: lustre.spec.in
F: lustre-dkms*
F: kmp-*
F: build/
F: contrib/lbuild/
F: */autoconf/
F: lustre/scripts/dkms.mkconf
F: */Makefile.am
F: */Makefile.in
Lustre Class Library
S: Supported
F: lustre/obdclass/
Lustre Client IO stack - CLIO
R: Bobijam Xu
R: Patrick Farrell
S: Supported
F: Documentation/clio.txt
F: lustre/include/cl_object.h
F: lustre/include/lustre_osc.h
F: lustre/llite/glimpse.c
F: lustre/llite/llite_mmap.c
F: lustre/llite/lcommon*.c
F: lustre/llite/range_lock.[ch]
F: lustre/llite/rw*.c
F: lustre/llite/vvp*.[ch]
F: lustre/obdclass/cl_*.c
F: lustre/osc/
Lustre Client Metadata stack
R: Lai Siyao
S: Supported
F: lustre/include/lustre_mdc.h
F: lustre/mdc/
Lustre Client Side Encryption
R: Sebastien Buisson
S: Supported
F: Documentation/client_side_encryption/*.txt
F: lustre/llite/crypto*.[ch]
F: libcfs/libcfs/crypto/*.[ch]
F: libcfs/include/libcfs/crypto/*.h
F: libcfs/include/uapi/linux/llcrypt.h
F: lustre/include/lustre_crypto.h
K: fscrypt
K: llcrypt
K: HAVE_LUSTRE_CRYPTO
Lustre Client VFS Interface
R: Oleg Drokin
R: Lai Siyao
R: Vladimir Saveliev
R: Patrick Farrell
S: Supported
F: lustre/llite/dcache.c
F: lustre/llite/dir.c
F: lustre/llite/file.c
F: lustre/llite/llite_nfs.c
F: lustre/llite/namei.c
F: lustre/llite/statahead.c
F: lustre/llite/symlink.c
F: lustre/llite/xattr*.c
Lustre Configuration Management
R: James Simmons
S: Maintained
F: lustre/mgc/
F: lustre/mgs/
F: lustre/utils/llapi_param.c
Lustre Data Checksums
R: Li Xi
R: Andreas Dilger
S: Supported
F: lustre/include/uapi/linux/lustre/lustre_idl.h
F: lustre/include/uapi/linux/lustre/lustre_user.h
F: lustre/ptlrpc/pack_generic.c
F: lustre/ptlrpc/layout.c
F: lustre/utils/wire*.c
F: lustre/ptlrpc/wire*.c
K: \b(OBD_CKSUM_|OBD_FL_CKSUM|OBD_CONNECT_CKSUM)
Lustre Data-on-MDT - DoM
R: Mikhail Pershin
S: Supported
F: lustre/tests/sanity-dom.sh
K: DoM
K: _dom
K: _DOM
K: dom_
Lustre Distributed Lock Manager - LDLM
R: Oleg Drokin
R: Patrick Farrell
S: Supported
F: lustre/include/lustre_dlm.h
F: lustre/include/lustre_dlm_flags.h
F: lustre/ldlm/
F: lustre/llite/glimpse.c
F: lustre/mdc/mdc_locks.c
F: lustre/mdt/mdt_lvb.c
F: lustre/mdt/mdt_open.c
F: lustre/ofd/ofd_dlm.c
F: lustre/osc/osc_lock.c
Lustre Distributed Namespace - DNE
R: Lai Siyao
S: Supported
F: lustre/doc/lfs-getdirstripe.1
F: lustre/doc/lfs-mkdir.1
F: lustre/doc/lfs-setdirstripe.1
F: lustre/include/lustre_lmv.h
F: lustre/lmv/
F: lustre/mdt/
Lustre File Identifiers - FID
F: lustre/fid/
F: lustre/fld/
F: lustre/include/lustre_fid.h
F: lustre/include/lustre_fld.h
F: lustre/include/uapi/linux/lustre/lustre_fid.h
K: FID_SEQ
K: FID_OID
Lustre File Heat
R: Li Xi
F: lustre/doc/lfs-heat.1
F: lustre/doc/llapi_heat*.3
F: lustre/utils/liblustreapi_heat.c
K: (obd_heat|lu_heat)
K: OBD_HEAT
Lustre File Layout
R: Bobi Jam
R: Jian Yu
S: Supported
F: lustre/doc/lfs-getstripe.1
F: lustre/doc/lfs-setstripe.1
F: lustre/doc/lfs-mirror-*.1
F: lustre/doc/lfs_migrate.1
F: lustre/doc/llapi_file_*.3
F: lustre/doc/llapi_layout*.3
F: lustre/lov/
F: lustre/utils/liblustreapi_layout.c
Lustre File System Check - LFSCK
R: Hongchao Zhang
S: Maintained
F: lustre/doc/lctl-lfsck*.8
F: lustre/include/lustre_lfsck.h
F: lustre/include/lustre/lustre_lfsck_user.h
F: lustre/lfsck/
F: lustre/osd-ldiskfs/osd_scrub.[ch]
F: lustre/osd-zfs/osd_scrub.c
F: lustre/tests/sanity-lfsck.sh
F: lustre/tests/sanity-scrub.sh
Lustre Grant Space
R: Patrick Farrell
R: Vladimir Saveliev
S: Supported
F: lustre/ofd/ofd_dev.c
F: lustre/ofd/ofd_io.c
F: lustre/ofd/ofd_obd.c
F: lustre/osc/osc_cache.c
F: lustre/osc/osc_request.c
F: lustre/target/tgt_grant.c
Lustre GSSAPI
R: Sebastien Buisson
S: Supported
F: lustre/conf/lgssc.conf
F: lustre/conf/lsvcgss
F: lustre/doc/lgss_sk.8
F: lustre/doc/lfs-flushctx.1
F: lustre/llite/xattr_security.c
F: lustre/ptlrpc/gss/
F: lustre/ptlrpc/sec*.c
F: lustre/scripts/lsvgss
F: lustre/tests/sanity-sec.sh
F: lustre/utils/gss/
F: lustre/include/uapi/linux/lustre/lgss.h
Lustre GSSAPI - Kerberos
R: Sebastien Buisson
S: Supported
F: lustre/ptlrpc/gss/gss_krb5*.[ch]
Lustre GSSAPI - Shared Secret Key
R: Sebastien Buisson
S: Supported
F: lustre/conf/lgssc.conf
F: lustre/conf/lsvcgss
F: lustre/doc/lgss_sk.8
F: lustre/ptlrpc/gss/gss_sk_mech.c
F: lustre/utils/gss
Lustre High Availability
R: Nathaniel Clark
S: Supported
F: contrib/scripts/pacemaker/
F: lustre/conf/Lustre/
Lustre HSM
S: Maintained
F: lustre/doc/lfs-hsm.1
F: lustre/doc/llapi_hsm*.3
F: lustre/include/lustre_kernelcomm.h
F: lustre/include/uapi/linux/lustre/lustre_kernelcomm.h
F: lustre/obdclass/kernelcomm.c
F: lustre/mdt/mdt_coordinator.c
F: lustre/mdt/mdt_hsm*.c
F: lustre/tests/llapi_hsm_test.c
F: lustre/tests/sanity-hsm.sh
F: lustre/utils/liblustreapi_hsm.c
F: lustre/utils/liblustreapi_kernelconn.c
Lustre HSM POSIX Copytool
F: lustre/utils/lhsmtool_posix.c
Lustre Kernel Compatibility
R: James Simmons
S: Supported
F: libcfs/
F: lustre/include/lustre_compat.h
F: lustre/include/lustre_patchless_compat.h
Lustre Kernel Patches
R: Jian Yu
R: Shaun Tancheff
R: Yang Sheng
S: Supported
F: lustre/kernel_patches/
Lustre Kernel Patches for ldiskfs
R: Li Dongyang
R: Andrew Perepechko
R: Artem Blagodarenko
R: Yang Sheng
S: Supported
F: ldiskfs/kernel_patches/
Lustre Log - llog
R: Mikhail Pershin
R: Alexander Boyko
R: Emoly Liu
S: Supported
F: lustre/doc/lctl-llog*.8
F: lustre/doc/llog_reader.8
F: lustre/include/llog_*.h
F: lustre/obdclass/llog*.[ch]
F: lustre/ptlrpc/llog*.[ch]
F: lustre/utils/llog_reader.c
Lustre Metadata Target - MDT
R: Lai Siyao
S: Supported
F: lustre/include/lustre_mds.h
F: lustre/lod/
F: lustre/mdd/
F: lustre/mdt/
Lustre Network Request Scheduler - NRS
R: Qian Yingjin
R: Nikitas Angelinas
R: Etienne Aujames
S: Maintained
F: lustre/include/lustre_nrs*.c
F: lustre/ptlrpc/nrs*.c
Lustre Networking
R: Serguei Smirnov
R: Chris Horn
S: Supported
F: Documentation/dlc.txt
F: lustre/conf/ko2iblnd.conf
F: lustre/doc/lst.8
F: lustre/doc/lustre_routes_config.8
F: lustre/doc/lustre_routes_conversion.8
F: lustre/doc/nids.5
F: lustre/scripts/ko2iblnd-probe
F: lnet/
Lustre Networking GNILND
R: Chris Horn
R: Chuck Fossen
S: Supported
F: lnet/klnds/gnilnd/
Lustre Networking KFILND
R: Chris Horn
S: Supported
F: lnet/klnds/kfilnd/
Lustre Networking O2IBLND
R: Serguei Smirnov
R: Chris Horn
S: Supported
F: lnet/klnds/o2iblnd/
Lustre Networking TCP Sockets LND
R: Serguei Smirnov
R: Chris Horn
S: Supported
F: lnet/klnds/socklnd/
Lustre Nodemap
R: Sebastien Buisson
S: Supported
F: lustre/include/lustre_nodemap.h
F: lustre/include/lustre_idmap.h
F: lustre/ptlrpc/nodemap*.[ch]
F: lustre/doc/lctl-nodemap*.8
Lustre Object Storage Target - OST
R: Alex Zhuravlev
S: Supported
F: lustre/ofd/
F: lustre/ost/
Lustre OSD API
R: Alex Zhuravlev
S: Supported
F: include/lustre/dt_object.h
F: Documentation/osd-api.txt
Lustre OSD ldiskfs
R: Alex Zhuravlev
R: Artem Blagodarenko
R: Andrew Perepechko
S: Supported
F: lustre/osd-ldiskfs/
F: Documentation/osd-api.txt
Lustre OSD Proxy - OSP
R: Alex Zhuravlev
R: Sergey Cheremencev
S: Supported
F: lustre/osp/
F: Documentation/osd-api.txt
Lustre OSD ZFS
R: Tony Hutter
R: Olaf Faaland
S: Maintained
F: lustre/osd-zfs/
Lustre Patch Commit Hooks
R: Andreas Dilger
S: Odd Fixes
F: contrib/git-hooks/
F: contrib/scripts/checkpatch.pl
F: contrib/scripts/const_structs.checkpatch
F: contrib/scripts/get_maintainer.pl
F: contrib/scripts/spelling.txt
F: contrib/scripts/updatecw.sh
Lustre Persistent Client Cache - PCC
R: Qian Yingjin
S: Supported
F: lustre/doc/lctl-pcc*.1
F: lustre/doc/lfs-pcc*.1
F: lustre/doc/llapi_pcc*.3
F: lustre/llite/pcc.[ch]
F: lustre/tests/sanity-pcc.sh
F: lustre/utils/liblustreapi_pcc.c
Lustre /proc and /sys
R: James Simmons
S: Maintained
F: lustre/*/*lproc*.[ch]
F: lustre/obdclass/obdsysfs.c
Lustre Protocol Compatibility
R: Andreas Dilger
S: Supported
F: lustre/include/uapi/linux/lustre/lustre_idl.h
F: lustre/include/uapi/linux/lustre/lustre_user.h
F: lustre/ptlrpc/pack_generic.c
F: lustre/ptlrpc/layout.c
F: lustre/utils/wire*.[ch]
F: lustre/ptlrpc/wire*.[ch]
K: OBD_CONNECT_.*
Lustre Quotas
R: Hongchao Zhang
R: Sergey Cheremencev
S: Supported
F: lustre/doc/*quota*.[13]
F: lustre/doc/lfs-project.1
F: lustre/include/lustre_quota.h
F: lustre/osc/osc_quota.c
F: lustre/osd-ldiskfs/osd_quota*.[ch]
F: lustre/osd-zfs/osd_quota*.[ch]
F: lustre/quota/
F: lustre/tests/sanity-quota.sh
K: (quota|QUOTA)
Lustre Server Target
R: Mikhail Pershin
S: Supported
F: lustre/target/
Lustre Snapshot Tools
S: Maintained
F: lustre/doc/lctl-barrier.8
F: lustre/doc/lctl-snapshot*.8
F: lustre/doc/lctl-lcfg.8
F: lustre/mgs/mgs_barrier.c
F: lustre/tests/sanity-lsnapshot.sh
F: lustre/utils/lsnapshot.c
Lustre Tests
R: Alex Deiter
R: Sarah Liu
R: Elena Gryaznova
S: Supported
F: lustre/tests/
Lustre User Documentation
R: Andreas Dilger
S: Supported
F: lustre/doc/*.[1-9]
Lustre User Library Interface
R: Andreas Dilger
S: Supported
F: lustre/doc/llapi_*.3
F: lustre/doc/lustreapi.7
F: lustre/include/lustre/lustreapi.h
F: lustre/include/uapi/linux/lustre/lustre_user.h
F: lustre/utils/liblustreapi*.c
F: lustre/utils/lustreapi_internal.h
Lustre User Tools
R: Andreas Dilger
R: Olaf Faaland
S: Supported
F: lustre/doc/lfs*.1
F: lustre/doc/lctl*.8
F: lustre/doc/mkfs.lustre.8
F: lustre/doc/mount.lustre.8
F: lustre/doc/tunefs.lustre.8
F: lustre/scripts/lfs_migrate
F: lustre/scripts/lustre_rmmod
F: lustre/utils/
X: lustre/utils/gss/