2 List of maintainers and how to submit Lustre changes
4 Please try to follow the guidelines below. This will make things
5 easier on the maintainers. Not all of these guidelines matter for every
6 trivial patch so apply some common sense.
8 1. Always _test_ your changes, however small.
10 2. PLEASE remember that submissions must be made under the terms
11 of the Linux Foundation certificate of contribution and should
12 include a Signed-off-by: line. The current version of this
13 "Developer's Certificate of Origin" (DCO) is listed in the file
14 Documentation/process/submitting-patches.rst.
16 3. Make sure your changes compile correctly in multiple
17 configurations. In particular check that changes work both as a
18 module and built into the kernel.
20 4. Add reviewers to the patch based on the get_maintainers.pl script.
22 5. PLEASE check your patch with the automated style checker
23 (contrib/scripts/checkpatch.pl) to catch trivial style violations.
25 6. Make sure you have the right to send any changes you make. If you
26 do changes at work you may find your employer owns the patch
31 Descriptions of section entries:
33 R: Designated reviewer: FullName <address@domain>
34 These reviewers should be CCed on patches.
35 W: Web-page with status/info
36 S: Status, one of the following:
37 Supported: Someone is actually paid to look after this.
38 Maintained: Someone actually looks after it.
39 Odd Fixes: It has a maintainer but they don't have time to do
40 much other than throw the odd patch in. See below.
41 Orphan: No current maintainer [but maybe you could take the
42 role as you write your new code].
43 Obsolete: Old code. Something tagged obsolete generally means
44 it has been replaced by a better system and you
46 F: Files and directories with wildcard patterns.
47 A trailing slash includes all files and subdirectory files.
48 F: drivers/net/ all files in and below drivers/net
49 F: drivers/net/* all files in drivers/net, but not below
50 F: */net/* all files in "any top level directory"/net
51 One pattern per line. Multiple F: lines acceptable.
52 N: Files and directories with regex patterns.
53 N: [^a-z]tegra all files whose path contains the word tegra
54 One pattern per line. Multiple N: lines acceptable.
55 scripts/get_maintainer.pl has different behavior for files that
56 match F: pattern and matches of N: patterns. By default,
57 get_maintainer will not look at git log history when an F: pattern
58 match occurs. When an N: match occurs, git log history is used
59 to also notify the people that have git commit signatures.
60 X: Files and directories that are NOT maintained, same rules as F:
61 Files exclusions are tested before file matches.
62 Can be useful for excluding a specific subdirectory, for instance:
65 matches all files in and below net excluding net/ipv6/
66 K: Keyword perl extended regex pattern to match content in a
67 patch or file. For instance:
69 matches patches or files that contain "of_get_profile"
70 K: \b(printk|pr_(info|err))\b
71 matches patches or files that contain one or more of the words
72 printk, pr_info or pr_err
73 One regex pattern per line. Multiple K: lines acceptable.
75 This list is meant to remain in alphabetical order. Please add yourselves
76 to it in alphabetical order. Please include "Lustre" in the subsystem
77 description, even though it is currently redundant, so that it is easier
78 to keep this in sync once the client is merged upstream.
80 Maintainers List (try to look for most precise areas first)
82 -----------------------------------
85 R: Shaun Tancheff <shaun.tancheff@hpe.com>
86 R: Minh Diep <mdiep@whamcloud.com>
94 F: lustre/scripts/dkms.mkconf
102 Lustre Client IO stack - CLIO
103 R: Bobijam Xu <bobijam@whamcloud.com>
104 R: Patrick Farrell <pfarrell@whamcloud.com>
106 F: Documentation/clio.txt
107 F: lustre/include/cl_object.h
108 F: lustre/include/lustre_osc.h
109 F: lustre/llite/glimpse.c
110 F: lustre/llite/llite_mmap.c
111 F: lustre/llite/lcommon*.c
112 F: lustre/llite/range_lock.[ch]
113 F: lustre/llite/rw*.c
114 F: lustre/llite/vvp*.[ch]
115 F: lustre/obdclass/cl_*.c
118 Lustre Client Metadata stack
119 R: Lai Siyao <lai.siyao@whamcloud.com>
121 F: lustre/include/lustre_mdc.h
124 Lustre Client Side Encryption
125 R: Sebastien Buisson <sbuisson@whamcloud.com>
127 F: Documentation/client_side_encryption/*.txt
128 F: lustre/llite/crypto*.[ch]
129 F: libcfs/libcfs/crypto/*.[ch]
130 F: libcfs/include/libcfs/crypto/*.h
131 F: libcfs/include/uapi/linux/llcrypt.h
132 F: lustre/include/lustre_crypto.h
135 K: HAVE_LUSTRE_CRYPTO
137 Lustre Client VFS Interface
138 R: Oleg Drokin <green@whamcloud.com>
139 R: Lai Siyao <lai.siyao@whamcloud.com>
140 R: Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
141 R: Patrick Farrell <pfarrell@whamcloud.com>
143 F: lustre/llite/dcache.c
144 F: lustre/llite/dir.c
145 F: lustre/llite/file.c
146 F: lustre/llite/llite_nfs.c
147 F: lustre/llite/namei.c
148 F: lustre/llite/statahead.c
149 F: lustre/llite/symlink.c
150 F: lustre/llite/xattr*.c
152 Lustre Configuration Management
153 R: James Simmons <jsimmons@infradead.org>
157 F: lustre/utils/llapi_param.c
159 Lustre Data Checksums
160 R: Li Xi <lixi@whamcloud.com>
161 R: Andreas Dilger <adilger@whamcloud.com>
163 F: lustre/include/uapi/linux/lustre/lustre_idl.h
164 F: lustre/include/uapi/linux/lustre/lustre_user.h
165 F: lustre/ptlrpc/pack_generic.c
166 F: lustre/ptlrpc/layout.c
167 F: lustre/utils/wire*.c
168 F: lustre/ptlrpc/wire*.c
169 K: \b(OBD_CKSUM_|OBD_FL_CKSUM|OBD_CONNECT_CKSUM)
171 Lustre Data-on-MDT - DoM
172 R: Mikhail Pershin <mpershin@whamcloud.com>
174 F: lustre/tests/sanity-dom.sh
180 Lustre Distributed Lock Manager - LDLM
181 R: Oleg Drokin <green@whamcloud.com>
182 R: Patrick Farrell <pfarrell@whamcloud.com>
184 F: lustre/include/lustre_dlm.h
185 F: lustre/include/lustre_dlm_flags.h
187 F: lustre/llite/glimpse.c
188 F: lustre/mdc/mdc_locks.c
189 F: lustre/mdt/mdt_lvb.c
190 F: lustre/mdt/mdt_open.c
191 F: lustre/ofd/ofd_dlm.c
192 F: lustre/osc/osc_lock.c
194 Lustre Distributed Namespace - DNE
195 R: Lai Siyao <lai.siyao@whamcloud.com>
197 F: lustre/doc/lfs-getdirstripe.1
198 F: lustre/doc/lfs-mkdir.1
199 F: lustre/doc/lfs-setdirstripe.1
200 F: lustre/include/lustre_lmv.h
204 Lustre File Identifiers - FID
207 F: lustre/include/lustre_fid.h
208 F: lustre/include/lustre_fld.h
209 F: lustre/include/uapi/linux/lustre/lustre_fid.h
214 R: Li Xi <lixi@ddn.com>
215 F: lustre/doc/lfs-heat.1
216 F: lustre/doc/llapi_heat*.3
217 F: lustre/utils/liblustreapi_heat.c
218 K: (obd_heat|lu_heat)
222 R: Bobi Jam <bobijam@whamcloud.com>
223 R: Jian Yu <yujian@whamcloud.com>
225 F: lustre/doc/lfs-getstripe.1
226 F: lustre/doc/lfs-setstripe.1
227 F: lustre/doc/lfs-mirror-*.1
228 F: lustre/doc/lfs_migrate.1
229 F: lustre/doc/llapi_file_*.3
230 F: lustre/doc/llapi_layout*.3
232 F: lustre/utils/liblustreapi_layout.c
234 Lustre File System Check - LFSCK
235 R: Hongchao Zhang <hongchao@whamcloud.com>
237 F: lustre/doc/lctl-lfsck*.8
238 F: lustre/include/lustre_lfsck.h
239 F: lustre/include/lustre/lustre_lfsck_user.h
241 F: lustre/osd-ldiskfs/osd_scrub.[ch]
242 F: lustre/osd-zfs/osd_scrub.c
243 F: lustre/tests/sanity-lfsck.sh
244 F: lustre/tests/sanity-scrub.sh
247 R: Patrick Farrell <pfarrell@whamcloud.com>
248 R: Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
250 F: lustre/ofd/ofd_dev.c
251 F: lustre/ofd/ofd_io.c
252 F: lustre/ofd/ofd_obd.c
253 F: lustre/osc/osc_cache.c
254 F: lustre/osc/osc_request.c
255 F: lustre/target/tgt_grant.c
258 R: Sebastien Buisson <sbuisson@whamcloud.com>
260 F: lustre/conf/lgssc.conf
261 F: lustre/conf/lsvcgss
262 F: lustre/doc/lgss_sk.8
263 F: lustre/doc/lfs-flushctx.1
264 F: lustre/llite/xattr_security.c
265 F: lustre/ptlrpc/gss/
266 F: lustre/ptlrpc/sec*.c
267 F: lustre/scripts/lsvgss
268 F: lustre/tests/sanity-sec.sh
270 F: lustre/include/uapi/linux/lustre/lgss.h
272 Lustre GSSAPI - Kerberos
273 R: Sebastien Buisson <sbuisson@whamcloud.com>
275 F: lustre/ptlrpc/gss/gss_krb5*.[ch]
277 Lustre GSSAPI - Shared Secret Key
278 R: Sebastien Buisson <sbuisson@whamcloud.com>
280 F: lustre/conf/lgssc.conf
281 F: lustre/conf/lsvcgss
282 F: lustre/doc/lgss_sk.8
283 F: lustre/ptlrpc/gss/gss_sk_mech.c
286 Lustre High Availability
287 R: Nathaniel Clark <nclark@whamcloud.com>
289 F: contrib/scripts/pacemaker/
290 F: lustre/conf/Lustre/
294 F: lustre/doc/lfs-hsm.1
295 F: lustre/doc/llapi_hsm*.3
296 F: lustre/include/lustre_kernelcomm.h
297 F: lustre/include/uapi/linux/lustre/lustre_kernelcomm.h
298 F: lustre/obdclass/kernelcomm.c
299 F: lustre/mdt/mdt_coordinator.c
300 F: lustre/mdt/mdt_hsm*.c
301 F: lustre/tests/llapi_hsm_test.c
302 F: lustre/tests/sanity-hsm.sh
303 F: lustre/utils/liblustreapi_hsm.c
304 F: lustre/utils/liblustreapi_kernelconn.c
306 Lustre HSM POSIX Copytool
307 F: lustre/utils/lhsmtool_posix.c
309 Lustre Kernel Compatibility
310 R: James Simmons <jsimmons@infradead.org>
313 F: lustre/include/lustre_compat.h
314 F: lustre/include/lustre_patchless_compat.h
316 Lustre Kernel Patches
317 R: Jian Yu <yujian@whamcloud.com>
318 R: Shaun Tancheff <shaun.tancheff@hpe.com>
319 R: Yang Sheng <ys@whamcloud.com>
321 F: lustre/kernel_patches/
323 Lustre Kernel Patches for ldiskfs
324 R: Li Dongyang <dongyangli@ddn.com>
325 R: Andrew Perepechko <andrew.perepechko@hpe.com>
326 R: Artem Blagodarenko <ablagodarenko@whamcloud.com>
327 R: Yang Sheng <ys@whamcloud.com>
329 F: ldiskfs/kernel_patches/
332 R: Mikhail Pershin <mpershin@whamcloud.com>
333 R: Alexander Boyko <alexander.boyko@hpe.com>
334 R: Emoly Liu <emoly@whamcloud.com>
336 F: lustre/doc/lctl-llog*.8
337 F: lustre/doc/llog_reader.8
338 F: lustre/include/llog_*.h
339 F: lustre/obdclass/llog*.[ch]
340 F: lustre/ptlrpc/llog*.[ch]
341 F: lustre/utils/llog_reader.c
343 Lustre Metadata Target - MDT
344 R: Lai Siyao <lai.siyao@whamcloud.com>
346 F: lustre/include/lustre_mds.h
351 Lustre Network Request Scheduler - NRS
352 R: Qian Yingjin <qian@whamcloud.com>
353 R: Nikitas Angelinas <nikitas.angelinas@hpe.com>
354 R: Etienne Aujames <eaujames@ddn.com>
356 F: lustre/include/lustre_nrs*.c
357 F: lustre/ptlrpc/nrs*.c
360 R: Serguei Smirnov <ssmirnov@whamcloud.com>
361 R: Chris Horn <chris.horn@hpe.com>
363 F: Documentation/dlc.txt
364 F: lustre/conf/ko2iblnd.conf
366 F: lustre/doc/lustre_routes_config.8
367 F: lustre/doc/lustre_routes_conversion.8
369 F: lustre/scripts/ko2iblnd-probe
372 Lustre Networking GNILND
373 R: Chris Horn <chris.horn@hpe.com>
374 R: Chuck Fossen <charles.fossen@hpe.com>
376 F: lnet/klnds/gnilnd/
378 Lustre Networking KFILND
379 R: Chris Horn <chris.horn@hpe.com>
381 F: lnet/klnds/kfilnd/
383 Lustre Networking O2IBLND
384 R: Serguei Smirnov <ssmirnov@whamcloud.com>
385 R: Chris Horn <chris.horn@hpe.com>
387 F: lnet/klnds/o2iblnd/
389 Lustre Networking TCP Sockets LND
390 R: Serguei Smirnov <ssmirnov@whamcloud.com>
391 R: Chris Horn <chris.horn@hpe.com>
393 F: lnet/klnds/socklnd/
396 R: Sebastien Buisson <sbuisson@whamcloud.com>
398 F: lustre/include/lustre_nodemap.h
399 F: lustre/include/lustre_idmap.h
400 F: lustre/ptlrpc/nodemap*.[ch]
401 F: lustre/doc/lctl-nodemap*.8
403 Lustre Object Storage Target - OST
404 R: Alex Zhuravlev <bzzz@whamcloud.com>
410 R: Alex Zhuravlev <bzzz@whamcloud.com>
412 F: include/lustre/dt_object.h
413 F: Documentation/osd-api.txt
416 R: Alex Zhuravlev <bzzz@whamcloud.com>
417 R: Artem Blagodarenko <ablagodarenko@whamcloud.com>
418 R: Andrew Perepechko <andrew.perepechko@hpe.com>
420 F: lustre/osd-ldiskfs/
421 F: Documentation/osd-api.txt
423 Lustre OSD Proxy - OSP
424 R: Alex Zhuravlev <bzzz@whamcloud.com>
425 R: Sergey Cheremencev <scherementsev@ddn.com>
428 F: Documentation/osd-api.txt
431 R: Tony Hutter <hutter2@llnl.gov>
432 R: Olaf Faaland <faaland1@llnl.gov>
436 Lustre Patch Commit Hooks
437 R: Andreas Dilger <adilger@whamcloud.com>
439 F: contrib/git-hooks/
440 F: contrib/scripts/checkpatch.pl
441 F: contrib/scripts/const_structs.checkpatch
442 F: contrib/scripts/get_maintainer.pl
443 F: contrib/scripts/spelling.txt
444 F: contrib/scripts/updatecw.sh
446 Lustre Persistent Client Cache - PCC
447 R: Qian Yingjin <qian@ddn.com>
449 F: lustre/doc/lctl-pcc*.1
450 F: lustre/doc/lfs-pcc*.1
451 F: lustre/doc/llapi_pcc*.3
452 F: lustre/llite/pcc.[ch]
453 F: lustre/tests/sanity-pcc.sh
454 F: lustre/utils/liblustreapi_pcc.c
456 Lustre /proc and /sys
457 R: James Simmons <jsimmons@infradead.org>
459 F: lustre/*/*lproc*.[ch]
460 F: lustre/obdclass/obdsysfs.c
462 Lustre Protocol Compatibility
463 R: Andreas Dilger <adilger@whamcloud.com>
465 F: lustre/include/uapi/linux/lustre/lustre_idl.h
466 F: lustre/include/uapi/linux/lustre/lustre_user.h
467 F: lustre/ptlrpc/pack_generic.c
468 F: lustre/ptlrpc/layout.c
469 F: lustre/utils/wire*.[ch]
470 F: lustre/ptlrpc/wire*.[ch]
474 R: Hongchao Zhang <hongchao@whamcloud.com>
475 R: Sergey Cheremencev <scherementsev@ddn.com>
477 F: lustre/doc/*quota*.[13]
478 F: lustre/doc/lfs-project.1
479 F: lustre/include/lustre_quota.h
480 F: lustre/osc/osc_quota.c
481 F: lustre/osd-ldiskfs/osd_quota*.[ch]
482 F: lustre/osd-zfs/osd_quota*.[ch]
484 F: lustre/tests/sanity-quota.sh
488 R: Mikhail Pershin <mpershin@whamcloud.com>
492 Lustre Snapshot Tools
494 F: lustre/doc/lctl-barrier.8
495 F: lustre/doc/lctl-snapshot*.8
496 F: lustre/doc/lctl-lcfg.8
497 F: lustre/mgs/mgs_barrier.c
498 F: lustre/tests/sanity-lsnapshot.sh
499 F: lustre/utils/lsnapshot.c
502 R: Alex Deiter <alex.deiter@ddn.com>
503 R: Sarah Liu <sarah@whamcloud.com>
504 R: Elena Gryaznova <elena.gryaznova@hpe.com>
508 Lustre User Documentation
509 R: Andreas Dilger <adilger@whamcloud.com>
511 F: lustre/doc/*.[1-9]
513 Lustre User Library Interface
514 R: Andreas Dilger <adilger@whamcloud.com>
516 F: lustre/doc/llapi_*.3
517 F: lustre/doc/lustreapi.7
518 F: lustre/include/lustre/lustreapi.h
519 F: lustre/include/uapi/linux/lustre/lustre_user.h
520 F: lustre/utils/liblustreapi*.c
521 F: lustre/utils/lustreapi_internal.h
524 R: Andreas Dilger <adilger@whamcloud.com>
525 R: Olaf Faaland <faaland1@llnl.gov>
528 F: lustre/doc/lctl*.8
529 F: lustre/doc/mkfs.lustre.8
530 F: lustre/doc/mount.lustre.8
531 F: lustre/doc/tunefs.lustre.8
532 F: lustre/scripts/lfs_migrate
533 F: lustre/scripts/lustre_rmmod