sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetA/translations/zh_CN/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/zh_TW/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/it_IT/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ja_JP/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ko_KR/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/sp_SP/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hNFSD Maintainer Entry Profileh]hNFSD Maintainer Entry Profile}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh[/var/lib/git/docbuild/linux/Documentation/filesystems/nfs/nfsd-maintainer-entry-profile.rsthKubh paragraph)}(hXzA Maintainer Entry Profile supplements the top-level process documents (found in Documentation/process/) with customs that are specific to a subsystem and its maintainers. A contributor may use this document to set their expectations and avoid common mistakes. A maintainer may use these profiles to look across subsystems for opportunities to converge on best common practices.h]hXzA Maintainer Entry Profile supplements the top-level process documents (found in Documentation/process/) with customs that are specific to a subsystem and its maintainers. A contributor may use this document to set their expectations and avoid common mistakes. A maintainer may use these profiles to look across subsystems for opportunities to converge on best common practices.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hOverviewh]hOverview}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh)}(hXBThe Network File System (NFS) is a standardized family of network protocols that enable access to files across a set of network- connected peer hosts. Applications on NFS clients access files that reside on file systems that are shared by NFS servers. A single network peer can act as both an NFS client and an NFS server.h]hXBThe Network File System (NFS) is a standardized family of network protocols that enable access to files across a set of network- connected peer hosts. Applications on NFS clients access files that reside on file systems that are shared by NFS servers. A single network peer can act as both an NFS client and an NFS server.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hXNFSD refers to the NFS server implementation included in the Linux kernel. An in-kernel NFS server has fast access to files stored in file systems local to that server. NFSD can share files stored on most of the file system types native to Linux, including xfs, ext4, btrfs, and tmpfs.h]hXNFSD refers to the NFS server implementation included in the Linux kernel. An in-kernel NFS server has fast access to files stored in file systems local to that server. NFSD can share files stored on most of the file system types native to Linux, including xfs, ext4, btrfs, and tmpfs.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]overviewah ]h"]overviewah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(h Mailing listh]h Mailing list}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hXThe linux-nfs@vger.kernel.org mailing list is a public list. Its purpose is to enable collaboration among developers working on the Linux NFS stack, both client and server. It is not a place for conversations that are not related directly to the Linux NFS stack.h](hThe }(hj hhhNhNubh reference)}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1jhj ubh mailing list is a public list. Its purpose is to enable collaboration among developers working on the Linux NFS stack, both client and server. It is not a place for conversations that are not related directly to the Linux NFS stack.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hbThe linux-nfs mailing list is archived on `lore.kernel.org `_.h](h*The linux-nfs mailing list is archived on }(hj1hhhNhNubj)}(h7`lore.kernel.org `_h]hlore.kernel.org}(hj9hhhNhNubah}(h]h ]h"]h$]h&]namelore.kernel.orgrefuri"https://lore.kernel.org/linux-nfs/uh1jhj1ubhtarget)}(h% h]h}(h]lore-kernel-orgah ]h"]lore.kernel.orgah$]h&]refurijJuh1jK referencedKhj1ubh.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(h4The Linux NFS community does not have any chat room.h]h4The Linux NFS community does not have any chat room.}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hhhhubeh}(h] mailing-listah ]h"] mailing listah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hReporting bugsh]hReporting bugs}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{hhhhhK%ubh)}(hzIf you experience an NFSD-related bug on a distribution-built kernel, please start by working with your Linux distributor.h]hzIf you experience an NFSD-related bug on a distribution-built kernel, please start by working with your Linux distributor.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hj{hhubh)}(hBug reports against upstream Linux code bases are welcome on the linux-nfs@vger.kernel.org mailing list, where some active triage can be done. NFSD bugs may also be reported in the Linux kernel community's bugzilla at:h](hABug reports against upstream Linux code bases are welcome on the }(hjhhhNhNubj)}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1jhjubh mailing list, where some active triage can be done. NFSD bugs may also be reported in the Linux kernel community’s bugzilla at:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK)hj{hhubh block_quote)}(hhttps://bugzilla.kernel.org h]h)}(hhttps://bugzilla.kernel.orgh]j)}(hjh]hhttps://bugzilla.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1jhhhK.hj{hhubh)}(hPlease file NFSD-related bugs under the "Filesystems/NFSD" component. In general, including as much detail as possible is a good start, including pertinent system log messages from both the client and server.h]hPlease file NFSD-related bugs under the “Filesystems/NFSD” component. In general, including as much detail as possible is a good start, including pertinent system log messages from both the client and server.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK0hj{hhubh)}(hUser space software related to NFSD, such as mountd or the exportfs command, is contained in the nfs-utils package. Report problems with those components to linux-nfs@vger.kernel.org. You might be directed to move the report to a specific bug tracker.h](hUser space software related to NFSD, such as mountd or the exportfs command, is contained in the nfs-utils package. Report problems with those components to }(hjhhhNhNubj)}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1jhjubhE. You might be directed to move the report to a specific bug tracker.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK5hj{hhubeh}(h]reporting-bugsah ]h"]reporting bugsah$]h&]uh1hhhhhhhhK%ubh)}(hhh](h)}(hContributor's Guideh]hContributor’s Guide}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK;ubh)}(hhh](h)}(hStandards complianceh]hStandards compliance}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hhhhhK>ubh)}(hXThe priority is for NFSD to interoperate fully with the Linux NFS client. We also test against other popular NFS client implementa- tions regularly at NFS bake-a-thon events (also known as plug- fests). Non-Linux NFS clients are not part of upstream NFSD CI/CD.h]hXThe priority is for NFSD to interoperate fully with the Linux NFS client. We also test against other popular NFS client implementa- tions regularly at NFS bake-a-thon events (also known as plug- fests). Non-Linux NFS clients are not part of upstream NFSD CI/CD.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hj)hhubh)}(hXThe NFSD community strives to provide an NFS server implementation that interoperates with all standards-compliant NFS client implementations. This is done by staying as close as is sensible to the normative mandates in the IETF's published NFS, RPC, and GSS-API standards.h]hXThe NFSD community strives to provide an NFS server implementation that interoperates with all standards-compliant NFS client implementations. This is done by staying as close as is sensible to the normative mandates in the IETF’s published NFS, RPC, and GSS-API standards.}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhj)hhubh)}(hIt is always useful to reference an RFC and section number in a code comment where behavior deviates from the standard (and even when the behavior is compliant but the implementation is obfuscatory).h]hIt is always useful to reference an RFC and section number in a code comment where behavior deviates from the standard (and even when the behavior is compliant but the implementation is obfuscatory).}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhj)hhubh)}(hOn the rare occasion when a deviation from standard-mandated behavior is needed, brief documentation of the use case or deficiencies in the standard is a required part of in-code documentation.h]hOn the rare occasion when a deviation from standard-mandated behavior is needed, brief documentation of the use case or deficiencies in the standard is a required part of in-code documentation.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj)hhubh)}(hCare must always be taken to avoid leaking local error codes (ie, errnos) to clients of NFSD. A proper NFS status code is always required in NFS protocol replies.h]hCare must always be taken to avoid leaking local error codes (ie, errnos) to clients of NFSD. A proper NFS status code is always required in NFS protocol replies.}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj)hhubeh}(h]standards-complianceah ]h"]standards complianceah$]h&]uh1hhjhhhhhK>ubh)}(hhh](h)}(hNFSD administrative interfacesh]hNFSD administrative interfaces}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKXubh)}(h'NFSD administrative interfaces include:h]h'NFSD administrative interfaces include:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjhhubh bullet_list)}(hhh](h list_item)}(h#an NFSD or SUNRPC module parameter h]h)}(h"an NFSD or SUNRPC module parameterh]h"an NFSD or SUNRPC module parameter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hexport options in /etc/exports h]h)}(hexport options in /etc/exportsh]hexport options in /etc/exports}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h0files under /proc/fs/nfsd/ or /proc/sys/sunrpc/ h]h)}(h/files under /proc/fs/nfsd/ or /proc/sys/sunrpc/h]h/files under /proc/fs/nfsd/ or /proc/sys/sunrpc/}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hthe NFSD netlink protocol h]h)}(hthe NFSD netlink protocolh]hthe NFSD netlink protocol}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhK[hjhhubh)}(hXFrequently, a request is made to introduce or modify one of NFSD's traditional administrative interfaces. Certainly it is technically easy to introduce a new administrative setting. However, there are good reasons why the NFSD maintainers prefer to leave that as a last resort:h]hXFrequently, a request is made to introduce or modify one of NFSD’s traditional administrative interfaces. Certainly it is technically easy to introduce a new administrative setting. However, there are good reasons why the NFSD maintainers prefer to leave that as a last resort:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKchjhhubj)}(hhh](j)}(hGAs with any API, administrative interfaces are difficult to get right. h]h)}(hFAs with any API, administrative interfaces are difficult to get right.h]hFAs with any API, administrative interfaces are difficult to get right.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihj'ubah}(h]h ]h"]h$]h&]uh1jhj$hhhhhNubj)}(hsOnce they are documented and have a legacy of use, administrative interfaces become difficult to modify or remove. h]h)}(hrOnce they are documented and have a legacy of use, administrative interfaces become difficult to modify or remove.h]hrOnce they are documented and have a legacy of use, administrative interfaces become difficult to modify or remove.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhj?ubah}(h]h ]h"]h$]h&]uh1jhj$hhhhhNubj)}(hBEvery new administrative setting multiplies the NFSD test matrix. h]h)}(hAEvery new administrative setting multiplies the NFSD test matrix.h]hAEvery new administrative setting multiplies the NFSD test matrix.}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjWubah}(h]h ]h"]h$]h&]uh1jhj$hhhhhNubj)}(hqThe cost of one administrative interface is incremental, but costs add up across all of the existing interfaces. h]h)}(hpThe cost of one administrative interface is incremental, but costs add up across all of the existing interfaces.h]hpThe cost of one administrative interface is incremental, but costs add up across all of the existing interfaces.}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjoubah}(h]h ]h"]h$]h&]uh1jhj$hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhKihjhhubh)}(hIt is often better for everyone if effort is made up front to understanding the underlying requirement of the new setting, and then trying to make it tune itself (or to become otherwise unnecessary).h]hIt is often better for everyone if effort is made up front to understanding the underlying requirement of the new setting, and then trying to make it tune itself (or to become otherwise unnecessary).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjhhubh)}(hX If a new setting is indeed necessary, first consider adding it to the NFSD netlink protocol. Or if it doesn't need to be a reliable long term user space feature, it can be added to NFSD's menagerie of experimental settings which reside under /sys/kernel/debug/nfsd/ .h]hXIf a new setting is indeed necessary, first consider adding it to the NFSD netlink protocol. Or if it doesn’t need to be a reliable long term user space feature, it can be added to NFSD’s menagerie of experimental settings which reside under /sys/kernel/debug/nfsd/ .}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjhhubeh}(h]nfsd-administrative-interfacesah ]h"]nfsd administrative interfacesah$]h&]uh1hhjhhhhhKXubh)}(hhh](h)}(hField observabilityh]hField observability}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hNFSD employs several different mechanisms for observing operation, including counters, printks, WARNings, and static trace points. Each have their strengths and weaknesses. Contributors should select the most appropriate tool for their task.h]hNFSD employs several different mechanisms for observing operation, including counters, printks, WARNings, and static trace points. Each have their strengths and weaknesses. Contributors should select the most appropriate tool for their task.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh](j)}(h]BUG must be avoided if at all possible, as it will frequently result in a full system crash. h]h)}(h\BUG must be avoided if at all possible, as it will frequently result in a full system crash.h]h\BUG must be avoided if at all possible, as it will frequently result in a full system crash.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hhttps://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git h]h)}(h=https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.gith]j)}(hjh]h=https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git}(hj!hhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh)}(hThe NFSD subsystem is maintained separately from the Linux in-kernel NFS client. The NFSD maintainers do not normally take submissions for client changes, nor can they respond authoritatively to bug reports or feature requests for NFS client code.h]hThe NFSD subsystem is maintained separately from the Linux in-kernel NFS client. The NFSD maintainers do not normally take submissions for client changes, nor can they respond authoritatively to bug reports or feature requests for NFS client code.}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hThis means that contributors might be asked to resubmit patches if they were emailed to the incorrect set of maintainers and reviewers. This is not a rejection, but simply a correction of the submission process.h]hThis means that contributors might be asked to resubmit patches if they were emailed to the incorrect set of maintainers and reviewers. This is not a rejection, but simply a correction of the submission process.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hWhen in doubt, consult the NFSD entry in the MAINTAINERS file to see which files and directories fall under the NFSD subsystem.h]hWhen in doubt, consult the NFSD entry in the MAINTAINERS file to see which files and directories fall under the NFSD subsystem.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(h7The proper set of email addresses for NFSD patches are:h]h7The proper set of email addresses for NFSD patches are:}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubh)}(hwTo: the NFSD maintainers and reviewers listed in MAINTAINERS Cc: linux-nfs@vger.kernel.org and optionally linux-kernel@h](hATo: the NFSD maintainers and reviewers listed in MAINTAINERS Cc: }(hjshhhNhNubj)}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hj{hhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1jhjsubh and optionally linux-kernel@}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjhhubh)}(hIf there are other subsystems involved in the patches (for example MM or RDMA) their primary mailing list address can be included in the Cc: field. Other contributors and interested parties may be included there as well.h]hIf there are other subsystems involved in the patches (for example MM or RDMA) their primary mailing list address can be included in the Cc: field. Other contributors and interested parties may be included there as well.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hIn general we prefer that contributors use common patch email tools such as "git send-email" or "stg email format/send", which tend to get the details right without a lot of fuss.h]hIn general we prefer that contributors use common patch email tools such as “git send-email” or “stg email format/send”, which tend to get the details right without a lot of fuss.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hA series consisting of a single patch is not required to have a cover letter. However, a cover letter can be included if there is substantial context that is not appropriate to include in the patch description.h]hA series consisting of a single patch is not required to have a cover letter. However, a cover letter can be included if there is substantial context that is not appropriate to include in the patch description.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hPlease note that, with an e-mail based submission process, series cover letters are not part of the work that is committed to the kernel source code base or its commit history. Therefore always try to keep pertinent information in the patch descriptions.h]hPlease note that, with an e-mail based submission process, series cover letters are not part of the work that is committed to the kernel source code base or its commit history. Therefore always try to keep pertinent information in the patch descriptions.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hDesign documentation is welcome, but as cover letters are not preserved, a perhaps better option is to include a patch that adds such documentation under Documentation/filesystems/nfs/.h]hDesign documentation is welcome, but as cover letters are not preserved, a perhaps better option is to include a patch that adds such documentation under Documentation/filesystems/nfs/.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjhhubh)}(hReviewers will ask about test coverage and what use cases the patches are expected to address. Please be prepared to answer these questions.h]hReviewers will ask about test coverage and what use cases the patches are expected to address. Please be prepared to answer these questions.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjhhubh)}(hXReview comments from maintainers might be politely stated, but in general, these are not optional to address when they are actionable. If necessary, the maintainers retain the right to not apply patches when contributors refuse to address reasonable requests.h]hXReview comments from maintainers might be politely stated, but in general, these are not optional to address when they are actionable. If necessary, the maintainers retain the right to not apply patches when contributors refuse to address reasonable requests.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hjhhubh)}(hPost changes to kernel source code and user space source code as separate series. You can connect the two series with comments in your cover letters.h]hPost changes to kernel source code and user space source code as separate series. You can connect the two series with comments in your cover letters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjhhubh)}(hX2Generally the NFSD maintainers ask for a reposts even for simple modifications in order to publicly archive the request and the resulting repost before it is pulled into the NFSD trees. This also enables us to rebuild a patch series quickly without missing changes that might have been discussed via email.h]hX2Generally the NFSD maintainers ask for a reposts even for simple modifications in order to publicly archive the request and the resulting repost before it is pulled into the NFSD trees. This also enables us to rebuild a patch series quickly without missing changes that might have been discussed via email.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjhhubh)}(hAvoid frequently reposting large series with only small changes. As a rule of thumb, posting substantial changes more than once a week will result in reviewer overload.h]hAvoid frequently reposting large series with only small changes. As a rule of thumb, posting substantial changes more than once a week will result in reviewer overload.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjhhubh)}(hRemember, there are only a handful of subsystem maintainers and reviewers, but potentially many sources of contributions. The maintainers and reviewers, therefore, are always the less scalable resource. Be kind to your friendly neighborhood maintainer.h]hRemember, there are only a handful of subsystem maintainers and reviewers, but potentially many sources of contributions. The maintainers and reviewers, therefore, are always the less scalable resource. Be kind to your friendly neighborhood maintainer.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjhhubeh}(h]patch-submissionah ]h"]patch submissionah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(hPatch Acceptanceh]hPatch Acceptance}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hhhhhMBubh)}(hThere isn't a formal review process for NFSD, but we like to see at least two Reviewed-by: notices for patches that are more than simple clean-ups. Reviews are done in public on linux-nfs@vger.kernel.org and are archived on lore.kernel.org.h](hThere isn’t a formal review process for NFSD, but we like to see at least two Reviewed-by: notices for patches that are more than simple clean-ups. Reviews are done in public on }(hjHhhhNhNubj)}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hjPhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1jhjHubh% and are archived on lore.kernel.org.}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMChj7hhubh)}(h@Currently the NFSD patch queues are maintained in branches here:h]h@Currently the NFSD patch queues are maintained in branches here:}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj7hhubj)}(h>https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git h]h)}(h=https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.gith]j)}(hj~h]h=https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurij~uh1jhj|ubah}(h]h ]h"]h$]h&]uh1hhhhMJhjxubah}(h]h ]h"]h$]h&]uh1jhhhMJhj7hhubh)}(hX2The NFSD maintainers apply patches initially to the nfsd-testing branch, which is always open to new submissions. Patches can be applied while review is ongoing. nfsd-testing is a topic branch, so it can change frequently, it will be rebased, and your patch might get dropped if there is a problem with it.h]hX2The NFSD maintainers apply patches initially to the nfsd-testing branch, which is always open to new submissions. Patches can be applied while review is ongoing. nfsd-testing is a topic branch, so it can change frequently, it will be rebased, and your patch might get dropped if there is a problem with it.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj7hhubh)}(hGenerally a script-generated "thank you" email will indicate when your patch has been added to the nfsd-testing branch. You can track the progress of your patch using the linux-nfs patchworks instance:h]hGenerally a script-generated “thank you” email will indicate when your patch has been added to the nfsd-testing branch. You can track the progress of your patch using the linux-nfs patchworks instance:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj7hhubj)}(h5https://patchwork.kernel.org/project/linux-nfs/list/ h]h)}(h4https://patchwork.kernel.org/project/linux-nfs/list/h]j)}(hjh]h4https://patchwork.kernel.org/project/linux-nfs/list/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMVhjubah}(h]h ]h"]h$]h&]uh1jhhhMVhj7hhubh)}(hWhile your patch is in nfsd-testing, it is exposed to a variety of test environments, including community zero-day bots, static analysis tools, and NFSD continuous integration testing. The soak period is three to four weeks.h]hWhile your patch is in nfsd-testing, it is exposed to a variety of test environments, including community zero-day bots, static analysis tools, and NFSD continuous integration testing. The soak period is three to four weeks.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj7hhubh)}(hnEach patch that survives in nfsd-testing for the soak period without changes is moved to the nfsd-next branch.h]hnEach patch that survives in nfsd-testing for the soak period without changes is moved to the nfsd-next branch.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj7hhubh)}(h\The nfsd-next branch is automatically merged into linux-next and fs-next on a nightly basis.h]h\The nfsd-next branch is automatically merged into linux-next and fs-next on a nightly basis.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj7hhubh)}(hPatches that survive in nfsd-next are included in the next NFSD merge window pull request. These windows typically occur once every 63 days (nine weeks).h]hPatches that survive in nfsd-next are included in the next NFSD merge window pull request. These windows typically occur once every 63 days (nine weeks).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchj7hhubh)}(hWhen the upstream merge window closes, the nfsd-next branch is renamed nfsd-fixes, and a new nfsd-next branch is created, based on the upstream -rc1 tag.h]hWhen the upstream merge window closes, the nfsd-next branch is renamed nfsd-fixes, and a new nfsd-next branch is created, based on the upstream -rc1 tag.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj7hhubh)}(hXwFixes that are destined for an upstream -rc release also run the nfsd-testing gauntlet, but are then applied to the nfsd-fixes branch. That branch is made available for Linus to pull after a short time. In order to limit the risk of introducing regressions, we limit such fixes to emergency situations or fixes to breakage that occurred during the most recent upstream merge.h]hXwFixes that are destined for an upstream -rc release also run the nfsd-testing gauntlet, but are then applied to the nfsd-fixes branch. That branch is made available for Linus to pull after a short time. In order to limit the risk of introducing regressions, we limit such fixes to emergency situations or fixes to breakage that occurred during the most recent upstream merge.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj7hhubh)}(hPlease make it clear when submitting an emergency patch that immediate action (either application to -rc or LTS backport) is needed.h]hPlease make it clear when submitting an emergency patch that immediate action (either application to -rc or LTS backport) is needed.}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj7hhubeh}(h]patch-acceptanceah ]h"]patch acceptanceah$]h&]uh1hhjhhhhhMBubh)}(hhh](h)}(h+Sensitive patch submissions and bug reportsh]h+Sensitive patch submissions and bug reports}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjB hhhhhMwubh)}(hCVEs are generated by specific members of the Linux kernel community and several external entities. The Linux NFS community does not emit or assign CVEs. CVEs are assigned after an issue and its fix are known.h]hCVEs are generated by specific members of the Linux kernel community and several external entities. The Linux NFS community does not emit or assign CVEs. CVEs are assigned after an issue and its fix are known.}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjB hhubh)}(hHowever, the NFSD maintainers sometimes receive sensitive security reports, and at times these are significant enough to need to be embargoed. In such rare cases, fixes can be developed and reviewed out of the public eye.h]hHowever, the NFSD maintainers sometimes receive sensitive security reports, and at times these are significant enough to need to be embargoed. In such rare cases, fixes can be developed and reviewed out of the public eye.}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjB hhubh)}(hXDPlease be aware that many version management tools add the stable Cc's when you post your patches. This is generally a nuisance, but it can result in outing an embargoed security issue accidentally. Don't add "Cc: stable" unless you are absolutely sure the patch needs to go to stable@ during the initial submission process.h]hXLPlease be aware that many version management tools add the stable Cc’s when you post your patches. This is generally a nuisance, but it can result in outing an embargoed security issue accidentally. Don’t add “Cc: stable” unless you are absolutely sure the patch needs to go to stable@ during the initial submission process.}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB hhubh)}(hX?Patches that are merged without ever appearing on any list, and which carry a Reported-by: or Fixes: tag are detected as suspicious by security-focused people. We encourage that, after any private review, security-sensitive patches should be posted to linux-nfs@ for the usual public review, archiving, and test period.h]hX?Patches that are merged without ever appearing on any list, and which carry a Reported-by: or Fixes: tag are detected as suspicious by security-focused people. We encourage that, after any private review, security-sensitive patches should be posted to linux-nfs@ for the usual public review, archiving, and test period.}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB hhubeh}(h]+sensitive-patch-submissions-and-bug-reportsah ]h"]+sensitive patch submissions and bug reportsah$]h&]uh1hhjhhhhhMwubh)}(hhh](h)}(hLLM-generated submissionsh]hLLM-generated submissions}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(hX@The Linux kernel community as a whole is still exploring the new world of LLM-generated code. The NFSD maintainers will entertain submission of patches that are partially or wholly generated by LLM-based development tools. Such submissions are held to the same standards as submissions created entirely by human authors:h]hX@The Linux kernel community as a whole is still exploring the new world of LLM-generated code. The NFSD maintainers will entertain submission of patches that are partially or wholly generated by LLM-based development tools. Such submissions are held to the same standards as submissions created entirely by human authors:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hhh](j)}(h`The human contributor identifies themselves via a Signed-off-by: tag. This tag counts as a DoC. h]h)}(h_The human contributor identifies themselves via a Signed-off-by: tag. This tag counts as a DoC.h]h_The human contributor identifies themselves via a Signed-off-by: tag. This tag counts as a DoC.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hThe human contributor is solely responsible for code provenance and any contamination by inadvertently-included code with a conflicting license, as usual. h]h)}(hThe human contributor is solely responsible for code provenance and any contamination by inadvertently-included code with a conflicting license, as usual.h]hThe human contributor is solely responsible for code provenance and any contamination by inadvertently-included code with a conflicting license, as usual.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hThe human contributor must be able to answer and address review questions. A patch description such as "This fixed my problem but I don't know why" is not acceptable. h]h)}(hThe human contributor must be able to answer and address review questions. A patch description such as "This fixed my problem but I don't know why" is not acceptable.h]hThe human contributor must be able to answer and address review questions. A patch description such as “This fixed my problem but I don’t know why” is not acceptable.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hQThe contribution is subjected to the same test regimen as all other submissions. h]h)}(hPThe contribution is subjected to the same test regimen as all other submissions.h]hPThe contribution is subjected to the same test regimen as all other submissions.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hmAn indication (via a Generated-by: tag or otherwise) that the contribution is LLM-generated is not required. h]h)}(hlAn indication (via a Generated-by: tag or otherwise) that the contribution is LLM-generated is not required.h]hlAn indication (via a Generated-by: tag or otherwise) that the contribution is LLM-generated is not required.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhj hhubh)}(hIt is easy to address review comments and fix requests in LLM generated code. So easy, in fact, that it becomes tempting to repost refreshed code immediately. Please resist that temptation.h]hIt is easy to address review comments and fix requests in LLM generated code. So easy, in fact, that it becomes tempting to repost refreshed code immediately. Please resist that temptation.}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hQAs always, please avoid reposting series revisions more than once every 24 hours.h]hQAs always, please avoid reposting series revisions more than once every 24 hours.}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]llm-generated-submissionsah ]h"]llm-generated submissionsah$]h&]uh1hhjhhhhhMubh)}(hhh](h)}(hClean-up patchesh]hClean-up patches}(hjZ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjW hhhhhMubh)}(hThe NFSD maintainers discourage patches which perform simple clean- ups, which are not in the context of other work. For example:h]hThe NFSD maintainers discourage patches which perform simple clean- ups, which are not in the context of other work. For example:}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjW hhubj)}(hhh](j)}(h1Addressing ``checkpatch.pl`` warnings after mergeh]h)}(hj{ h](h Addressing }(hj} hhhNhNubje)}(h``checkpatch.pl``h]h checkpatch.pl}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jdhj} ubh warnings after merge}(hj} hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjy ubah}(h]h ]h"]h$]h&]uh1jhjv hhhhhNubj)}(h5Addressing :ref:`Local variable ordering` issuesh]h)}(hj h](h Addressing }(hj hhhNhNubh)}(h#:ref:`Local variable ordering`h]hinline)}(hj h]hLocal variable ordering}(hj hhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdoc-filesystems/nfs/nfsd-maintainer-entry-profile refdomainj reftyperef refexplicitrefwarn reftargetrcsuh1hhhhMhj ubh issues}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjv hhhhhNubj)}(h+Addressing long-standing whitespace damage h]h)}(h*Addressing long-standing whitespace damageh]h*Addressing long-standing whitespace damage}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjv hhhhhNubeh}(h]h ]h"]h$]h&]j*uh1jhhhMhjW hhubh)}(h}This is because it is felt that the churn that such changes produce comes at a greater cost than the value of such clean-ups.h]h}This is because it is felt that the churn that such changes produce comes at a greater cost than the value of such clean-ups.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjW hhubh)}(h6Conversely, spelling and grammar fixes are encouraged.h]h6Conversely, spelling and grammar fixes are encouraged.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjW hhubeh}(h]clean-up-patchesah ]h"]clean-up patchesah$]h&]uh1hhjhhhhhMubeh}(h]contributor-s-guideah ]h"]contributor's guideah$]h&]uh1hhhhhhhhK;ubh)}(hhh](h)}(hStable and LTS supporth]hStable and LTS support}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj- hhhhhMubh)}(h^Upstream NFSD continuous integration testing runs against LTS trees whenever they are updated.h]h^Upstream NFSD continuous integration testing runs against LTS trees whenever they are updated.}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj- hhubh)}(hPlease indicate when a patch containing a fix needs to be considered for LTS kernels, either via a Fixes: tag or explicit mention.h]hPlease indicate when a patch containing a fix needs to be considered for LTS kernels, either via a Fixes: tag or explicit mention.}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj- hhubeh}(h]stable-and-lts-supportah ]h"]stable and lts supportah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFeature requestsh]hFeature requests}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjb hhhhhMubh)}(hThere is no one way to make an official feature request, but discussion about the request should eventually make its way to the linux-nfs@vger.kernel.org mailing list for public review by the community.h](hThere is no one way to make an official feature request, but discussion about the request should eventually make its way to the }(hjs hhhNhNubj)}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1jhjs ubh1 mailing list for public review by the community.}(hjs hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjb hhubh)}(hhh](h)}(hSubsystem boundariesh]hSubsystem boundaries}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(hXCNFSD itself is not much more than a protocol engine. This means its primary responsibility is to translate the NFS protocol into API calls in the Linux kernel. For example, NFSD is not responsible for knowing exactly how bytes or file attributes are managed on a block device. It relies on other kernel subsystems for that.h]hXCNFSD itself is not much more than a protocol engine. This means its primary responsibility is to translate the NFS protocol into API calls in the Linux kernel. For example, NFSD is not responsible for knowing exactly how bytes or file attributes are managed on a block device. It relies on other kernel subsystems for that.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hXIf the subsystems on which NFSD relies do not implement a particular feature, even if the standard NFS protocols do support that feature, that usually means NFSD cannot provide that feature without substantial development work in other areas of the kernel.h]hXIf the subsystems on which NFSD relies do not implement a particular feature, even if the standard NFS protocols do support that feature, that usually means NFSD cannot provide that feature without substantial development work in other areas of the kernel.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]subsystem-boundariesah ]h"]subsystem boundariesah$]h&]uh1hhjb hhhhhMubh)}(hhh](h)}(h Specificityh]h Specificity}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(hXOFeature requests can come from anywhere, and thus can often be nebulous. A requester might not understand what a "use case" or "user story" is. These descriptive paradigms are often used by developers and architects to understand what is required of a design, but are terms of art in the software trade, not used in the everyday world.h]hXWFeature requests can come from anywhere, and thus can often be nebulous. A requester might not understand what a “use case” or “user story” is. These descriptive paradigms are often used by developers and architects to understand what is required of a design, but are terms of art in the software trade, not used in the everyday world.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hIn order to prevent contributors and maintainers from becoming overwhelmed, we won't be afraid of saying "no" politely to underspecified requests.h]hIn order to prevent contributors and maintainers from becoming overwhelmed, we won’t be afraid of saying “no” politely to underspecified requests.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h] specificityah ]h"] specificityah$]h&]uh1hhjb hhhhhMubeh}(h]feature-requestsah ]h"]feature requestsah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h#Community roles and their authorityh]h#Community roles and their authority}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(hThe purpose of Linux subsystem communities is to provide expertise and active stewardship of a narrow set of source files in the Linux kernel. This can include managing user space tooling as well.h]hThe purpose of Linux subsystem communities is to provide expertise and active stewardship of a narrow set of source files in the Linux kernel. This can include managing user space tooling as well.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hTo contextualize the structure of the Linux NFS community that is responsible for stewardship of the NFS server code base, we define the community roles here.h]hTo contextualize the structure of the Linux NFS community that is responsible for stewardship of the NFS server code base, we define the community roles here.3}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hhh](j)}(h**Contributor** : Anyone who submits a code change, bug fix, recommendation, documentation fix, and so on. A contributor can submit regularly or infrequently. h]h)}(h**Contributor** : Anyone who submits a code change, bug fix, recommendation, documentation fix, and so on. A contributor can submit regularly or infrequently.h](hstrong)}(h**Contributor**h]h Contributor}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj; ubh : Anyone who submits a code change, bug fix, recommendation, documentation fix, and so on. A contributor can submit regularly or infrequently.}(hj; hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj7 ubah}(h]h ]h"]h$]h&]uh1jhj4 hhhhhNubj)}(h**Outside Contributor** : A contributor who is not a regular actor in the Linux NFS community. This can mean someone who contributes to other parts of the kernel, or someone who just noticed a misspelling in a comment and sent a patch. h]h)}(h**Outside Contributor** : A contributor who is not a regular actor in the Linux NFS community. This can mean someone who contributes to other parts of the kernel, or someone who just noticed a misspelling in a comment and sent a patch.h](j@ )}(h**Outside Contributor**h]hOutside Contributor}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hjc ubh : A contributor who is not a regular actor in the Linux NFS community. This can mean someone who contributes to other parts of the kernel, or someone who just noticed a misspelling in a comment and sent a patch.}(hjc hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj_ ubah}(h]h ]h"]h$]h&]uh1jhj4 hhhhhNubj)}(h**Reviewer** : Someone who is named in the MAINTAINERS file as a reviewer is an area expert who can request changes to contributed code, and expects that contributors will address the request. h]h)}(h**Reviewer** : Someone who is named in the MAINTAINERS file as a reviewer is an area expert who can request changes to contributed code, and expects that contributors will address the request.h](j@ )}(h **Reviewer**h]hReviewer}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj ubh : Someone who is named in the MAINTAINERS file as a reviewer is an area expert who can request changes to contributed code, and expects that contributors will address the request.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj4 hhhhhNubj)}(hX**External Reviewer** : Someone who is not named in the MAINTAINERS file as a reviewer, but who is an area expert. Examples include Linux kernel contributors with networking, security, or persistent storage expertise, or developers who contribute primarily to other NFS implementations. h]h)}(hX**External Reviewer** : Someone who is not named in the MAINTAINERS file as a reviewer, but who is an area expert. Examples include Linux kernel contributors with networking, security, or persistent storage expertise, or developers who contribute primarily to other NFS implementations.h](j@ )}(h**External Reviewer**h]hExternal Reviewer}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj ubhX  : Someone who is not named in the MAINTAINERS file as a reviewer, but who is an area expert. Examples include Linux kernel contributors with networking, security, or persistent storage expertise, or developers who contribute primarily to other NFS implementations.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj4 hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhj hhubh)}(hOne or more people will take on the following roles. These people are often generically referred to as "maintainers", and are identified in the MAINTAINERS file with the "M:" tag under the NFSD subsystem.h]hOne or more people will take on the following roles. These people are often generically referred to as “maintainers”, and are identified in the MAINTAINERS file with the “M:” tag under the NFSD subsystem.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hhh](j)}(h**Upstream Release Manager** : This role is responsible for curating contributions into a branch, reviewing test results, and then sending a pull request during merge windows. There is a trust relationship between the release manager and Linus. h]h)}(h**Upstream Release Manager** : This role is responsible for curating contributions into a branch, reviewing test results, and then sending a pull request during merge windows. There is a trust relationship between the release manager and Linus.h](j@ )}(h**Upstream Release Manager**h]hUpstream Release Manager}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj ubh : This role is responsible for curating contributions into a branch, reviewing test results, and then sending a pull request during merge windows. There is a trust relationship between the release manager and Linus.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(h**Bug Triager** : Someone who is a first responder to bug reports submitted to the linux-nfs mailing list or bug trackers, and helps troubleshoot and identify next steps. h]h)}(h**Bug Triager** : Someone who is a first responder to bug reports submitted to the linux-nfs mailing list or bug trackers, and helps troubleshoot and identify next steps.h](j@ )}(h**Bug Triager**h]h Bug Triager}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj ubh : Someone who is a first responder to bug reports submitted to the linux-nfs mailing list or bug trackers, and helps troubleshoot and identify next steps.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hX1**Security Lead** : The security lead handles contacts from the security community to resolve immediate issues, as well as dealing with long-term security issues such as supply chain concerns. For upstream, that's usually whether contributions violate licensing or other intellectual property agreements. h]h)}(hX0**Security Lead** : The security lead handles contacts from the security community to resolve immediate issues, as well as dealing with long-term security issues such as supply chain concerns. For upstream, that's usually whether contributions violate licensing or other intellectual property agreements.h](j@ )}(h**Security Lead**h]h Security Lead}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj8 ubhX! : The security lead handles contacts from the security community to resolve immediate issues, as well as dealing with long-term security issues such as supply chain concerns. For upstream, that’s usually whether contributions violate licensing or other intellectual property agreements.}(hj8 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj4 ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(h**Testing Lead** : The testing lead builds and runs the test infrastructure for the subsystem. The testing lead may ask for patches to be dropped because of ongoing high defect rates. h]h)}(h**Testing Lead** : The testing lead builds and runs the test infrastructure for the subsystem. The testing lead may ask for patches to be dropped because of ongoing high defect rates.h](j@ )}(h**Testing Lead**h]h Testing Lead}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj^ ubh : The testing lead builds and runs the test infrastructure for the subsystem. The testing lead may ask for patches to be dropped because of ongoing high defect rates.}(hj^ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjZ ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(h**LTS Maintainer** : The LTS maintainer is responsible for managing the Fixes: and Cc: stable annotations on patches, and seeing that patches that cannot be automatically applied to LTS kernels get proper manual backports as necessary. h]h)}(h**LTS Maintainer** : The LTS maintainer is responsible for managing the Fixes: and Cc: stable annotations on patches, and seeing that patches that cannot be automatically applied to LTS kernels get proper manual backports as necessary.h](j@ )}(h**LTS Maintainer**h]hLTS Maintainer}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj ubh : The LTS maintainer is responsible for managing the Fixes: and Cc: stable annotations on patches, and seeing that patches that cannot be automatically applied to LTS kernels get proper manual backports as necessary.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hX**Community Manager** : This umpire role can be asked to call balls and strikes during conflicts, but is also responsible for ensuring the health of the relationships within the community and for facilitating discussions on long-term topics such as how to manage growing technical debt.h]h)}(hX**Community Manager** : This umpire role can be asked to call balls and strikes during conflicts, but is also responsible for ensuring the health of the relationships within the community and for facilitating discussions on long-term topics such as how to manage growing technical debt.h](j@ )}(h**Community Manager**h]hCommunity Manager}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j? hj ubhX  : This umpire role can be asked to call balls and strikes during conflicts, but is also responsible for ensuring the health of the relationships within the community and for facilitating discussions on long-term topics such as how to manage growing technical debt.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhj hhubeh}(h]#community-roles-and-their-authorityah ]h"]#community roles and their authorityah$]h&]uh1hhhhhhhhMubeh}(h]nfsd-maintainer-entry-profileah ]h"]nfsd maintainer entry profileah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j j hhjxjujVjSjjj* j' jjjjjjjjjjjjj4j1j? j< j j jT jQ j" j j_ j\ j j j j j j j j u nametypes}(j hjxjVjj* jjjjjjj4j? j jT j" j_ j j j j uh}(j hhhjuhjSjMjj{j' jjj)jjjjjjjjjjj1jj< j7j jB jQ j j jW j\ j- j jb j j j j j j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.