
	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 <address@domain>
	   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 <shaun.tancheff@hpe.com>
R:	Minh Diep <mdiep@whamcloud.com>
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 <bobijam@whamcloud.com>
R:	Patrick Farrell <pfarrell@whamcloud.com>
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 <lai.siyao@whamcloud.com>
S:	Supported
F:	lustre/include/lustre_mdc.h
F:	lustre/mdc/

Lustre Client Side Encryption
R:	Sebastien Buisson <sbuisson@whamcloud.com>
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 <green@whamcloud.com>
R:	Lai Siyao <lai.siyao@whamcloud.com>
R:	Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
R:	Patrick Farrell <pfarrell@whamcloud.com>
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 <jsimmons@infradead.org>
S:	Maintained
F:	lustre/mgc/
F:	lustre/mgs/
F:	lustre/utils/llapi_param.c

Lustre Data Checksums
R:	Li Xi <lixi@whamcloud.com>
R:	Andreas Dilger <adilger@thelustrecollective.com>
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 <mpershin@whamcloud.com>
S:	Supported
F:	lustre/tests/sanity-dom.sh
K:	DoM
K:	_dom
K:	_DOM
K:	dom_

Lustre Distributed Lock Manager - LDLM
R:	Oleg Drokin <green@whamcloud.com>
R:	Patrick Farrell <pfarrell@whamcloud.com>
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 <lai.siyao@whamcloud.com>
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 <lixi@ddn.com>
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 <bobijam@whamcloud.com>
R:	Jian Yu <yujian@whamcloud.com>
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 <hongchao@whamcloud.com>
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 <pfarrell@whamcloud.com>
R:	Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
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 <sbuisson@whamcloud.com>
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 <sbuisson@whamcloud.com>
S:	Supported
F:	lustre/ptlrpc/gss/gss_krb5*.[ch]

Lustre GSSAPI - Shared Secret Key
R:	Sebastien Buisson <sbuisson@whamcloud.com>
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 <nclark@whamcloud.com>
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 <jsimmons@infradead.org>
S:	Supported
F:	libcfs/
F:	lustre/include/lustre_compat.h
F:	lustre/include/lustre_patchless_compat.h

Lustre Kernel Patches
R:	Jian Yu <yujian@whamcloud.com>
R:	Shaun Tancheff <shaun.tancheff@hpe.com>
R:	Yang Sheng <ys@whamcloud.com>
S:	Supported
F:	lustre/kernel_patches/

Lustre Kernel Patches for ldiskfs
R:	Li Dongyang <dongyangli@ddn.com>
R:	Andrew Perepechko <andrew.perepechko@hpe.com>
R:	Artem Blagodarenko <ablagodarenko@whamcloud.com>
R:	Yang Sheng <ys@whamcloud.com>
S:	Supported
F:	ldiskfs/kernel_patches/

Lustre Log - llog
R:	Mikhail Pershin <mpershin@whamcloud.com>
R:	Alexander Boyko <alexander.boyko@hpe.com>
R:	Emoly Liu <emoly@whamcloud.com>
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 <lai.siyao@whamcloud.com>
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 <qian@whamcloud.com>
R:	Nikitas Angelinas <nikitas.angelinas@hpe.com>
R:	Etienne Aujames <eaujames@ddn.com>
S:	Maintained
F:	lustre/include/lustre_nrs*.c
F:	lustre/ptlrpc/nrs*.c

Lustre Networking
R:	Serguei Smirnov <ssmirnov@whamcloud.com>
R:	Chris Horn <chris.horn@hpe.com>
S:	Supported
F:	Documentation/dlc.txt
F:	lustre/conf/ko2iblnd.conf
F:	lustre/doc/lnet_legacy2yaml.8
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 <chris.horn@hpe.com>
R:	Chuck Fossen <charles.fossen@hpe.com>
S:	Supported
F:	lnet/klnds/gnilnd/

Lustre Networking KFILND
R:	Chris Horn <chris.horn@hpe.com>
S:	Supported
F:	lnet/klnds/kfilnd/

Lustre Networking O2IBLND
R:	Serguei Smirnov <ssmirnov@whamcloud.com>
R:	Chris Horn <chris.horn@hpe.com>
S:	Supported
F:	lnet/klnds/o2iblnd/

Lustre Networking TCP Sockets LND
R:	Serguei Smirnov <ssmirnov@whamcloud.com>
R:	Chris Horn <chris.horn@hpe.com>
S:	Supported
F:	lnet/klnds/socklnd/

Lustre Networking KEFALND
R:	Yonatan Nachum <ynachum@amazon.com>
R:	Michael Margolin <mrgolin@amazon.com>
S:	Supported
F:	lnet/klnds/efalnd/

Lustre Nodemap
R:	Sebastien Buisson <sbuisson@whamcloud.com>
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 <bzzz@whamcloud.com>
S:	Supported
F:	lustre/ofd/

Lustre OSD API
R:	Alex Zhuravlev <bzzz@whamcloud.com>
S:	Supported
F:	include/lustre/dt_object.h
F:	Documentation/osd-api.txt

Lustre OSD ldiskfs
R:	Alex Zhuravlev <bzzz@whamcloud.com>
R:	Artem Blagodarenko <ablagodarenko@whamcloud.com>
R:	Andrew Perepechko <andrew.perepechko@hpe.com>
S:	Supported
F:	lustre/osd-ldiskfs/
F:	Documentation/osd-api.txt

Lustre OSD Proxy - OSP
R:	Alex Zhuravlev <bzzz@whamcloud.com>
R:	Sergey Cheremencev <scherementsev@ddn.com>
S:	Supported
F:	lustre/osp/
F:	Documentation/osd-api.txt

Lustre OSD ZFS
R:	Tony Hutter <hutter2@llnl.gov>
R:	Olaf Faaland <faaland1@llnl.gov>
S:	Maintained
F:	lustre/osd-zfs/

Lustre OSD wbcfs
R:	Timothy Day <timday@amazon.com>
R:	Yingjin Qian <qian@ddn.com>
S:	Supported
F:	Documentation/osd-api.txt
F:	lustre/osd-wbcfs/
F:	lustre/utils/libmount_utils_wbcfs.c

Lustre Patch Commit Hooks
R:	Andreas Dilger <adilger@thelustrecollective.com>
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 <qian@ddn.com>
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 <jsimmons@infradead.org>
S:	Maintained
F:	lustre/*/*lproc*.[ch]
F:	lustre/obdclass/obdsysfs.c

Lustre Protocol Compatibility
R:	Andreas Dilger <adilger@thelustrecollective.com>
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 <hongchao@whamcloud.com>
R:	Sergey Cheremencev <scherementsev@ddn.com>
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 <mpershin@whamcloud.com>
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 <alex.deiter@ddn.com>
R:	Sarah Liu <sarah@whamcloud.com>
R:	Elena Gryaznova <elena.gryaznova@hpe.com>
S:	Supported
F:	lustre/tests/

Lustre User Documentation
R:	Andreas Dilger <adilger@thelustrecollective.com>
S:	Supported
F:	lustre/doc/*.[1-9]

Lustre User Library Interface
R:	Andreas Dilger <adilger@thelustrecollective.com>
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 <adilger@thelustrecollective.com>
R:	Olaf Faaland <faaland1@llnl.gov>
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/

