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: M: Mail patches to: FullName R: Designated reviewer: FullName These reviewers should be CCed on patches. W: Web-page with status/info B: URI for where to file bugs. A web-page with detailed bug filing info, a direct bug tracker link, or a mailto: URI. C: URI for chat protocol, server and channel where developers usually hang out, for example irc://server/channel. T: SCM tree type and location. Type is one of: git, hg, quilt, stgit, topgit 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: Minh Diep S: Supported F: lustre.spec.in F: lustre-dkms* F: kmp-* F: build/ F: contrib/lbuild/ F: libcfs/autoconf/ F: lnet/autoconf/ F: lustre/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 MD stack R: Lai Siyao S: Supported F: lustre/include/lustre_mdc.h F: lustre/mdc/ Lustre client side encryption M: Sebastien Buisson S: Maintained 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 M: Lai Siyao R: Vladimir Saveliev 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 M: James Simmons S: Maintained F: lustre/mgc/ F: lustre/mgs/ F: lustre/utils/llapi_param.c Lustre Data Checksums R: Li Xi M: 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 M: 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 M: 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 M: Sebastien Buisson S: Maintained F: lustre/conf/lgssc.conf F: lustre/conf/lsvcgss F: lustre/doc/lgss_sk.8 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 Lustre GSSAPI - Kerberos M: Sebastien Buisson S: Maintained F: lustre/ptlrpc/gss/gss_krb5*.[ch] Lustre GSSAPI - Shared Secret Key M: Sebastien Buisson S: Maintained 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 M: Qian Yingjin S: Maintained F: lustre/utils/lhsmtool_posix.c Lustre Kernel Compatibility R: James Simmons S: Maintained F: libcfs/ F: lustre/include/lustre_compat.h F: lustre/include/lustre_patchless_compat.h Lustre Kernel Patches R: Yang Sheng R: Shaun Tancheff S: Supported F: lustre/kernel_patches/ Lustre Kernel Patches for ldiskfs R: Li Dongyang R: Andrew Perepechko M: Artem Blagodarenko R: Yang Sheng S: Supported F: ldiskfs/kernel_patches/ Lustre Log - llog R: Mikhail Pershin R: Alexander Boyko M: 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/mdd/ F: lustre/mdt/ Lustre Network Request Scheduler - NRS R: Qian Yingjin R: Nikitas Angelinas S: Maintained F: lustre/include/lustre_nrs*.c F: lustre/ptlrpc/nrs*.c Lustre Networking R: Amir Shehata R: Chris Horn M: Sonia Sharma 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 O2IBLND R: Amir Shehata S: Supported F: lnet/klnds/o2iblnd Lustre Networking TCP Sockets LND R: Amir Shehata S: Supported F: lnet/klnds/socklnd Lustre Nodemap R: Sebastien Buisson S: Maintained 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 M: 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: Alex Zhuravlev R: Tony Hutter R: Olaf Faaland S: Supported 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 M: Wang Shilong 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 Snapshots 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: James Nunez M: Elena Gryaznova M: Sarah Liu 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/