sphinx.addnodesdocument)}( rawsource children](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 classnameNrefexplicitutagnamehhhubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/zh_TW/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/it_IT/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ja_JP/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ko_KR/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/sp_SP/filesystems/nfs/nfsd-maintainer-entry-profilemodnameN classnameNrefexplicituh1hhhubeh}(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)}(hXz A 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]hXz A 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&]uh1hhhhhhhhKubh)}(hXB The 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]hXB The 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)}(hX NFSD 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]hX NFSD 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&]uh1hhhhhhhhKubh)}(hhh](h)}(hMailing listh]hMailing list}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hX The 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}(hj hhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1j hj
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 }(hj1 hhhNhNubj )}(h7`lore.kernel.org `_h]hlore.kernel.org}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]namelore.kernel.orgrefuri"https://lore.kernel.org/linux-nfs/uh1j hj1 ubhtarget)}(h% h]h}(h]lore-kernel-orgah ]h"]lore.kernel.orgah$]h&]refurijJ uh1jK
referencedKhj1 ubh.}(hj1 hhhNhNubeh}(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.}(hje hhhNhNubah}(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.}(hj hhhNhNubah}(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
}(hj hhhNhNubj )}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hj hhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1j hj ubh mailing list, where some active triage
can be done. NFSD bugs may also be reported in the Linux kernel
community’s bugzilla at:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK)hj{ hhubhblock_quote)}(hhttps://bugzilla.kernel.org
h]h)}(hhttps://bugzilla.kernel.orgh]j )}(hj h]hhttps://bugzilla.kernel.org}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurij uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhK.hj ubah}(h]h ]h"]h$]h&]uh1j hhhK.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.}(hj hhhNhNubah}(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 }(hj hhhNhNubj )}(hlinux-nfs@vger.kernel.orgh]hlinux-nfs@vger.kernel.org}(hj hhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-nfs@vger.kernel.orguh1j hj ubhE. You might be
directed to move the report to a specific bug tracker.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK5hj{ hhubeh}(h]reporting-bugsah ]h"]reporting bugsah$]h&]uh1hhhhhhhhK%ubh)}(hhh](h)}(hContributor's Guideh]hContributor’s Guide}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK;ubh)}(hhh](h)}(hStandards complianceh]hStandards compliance}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj) hhhhhK>ubh)}(hX The 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]hX The 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)}(hX The 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]hX The 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.}(hjH hhhNhNubah}(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).}(hjV hhhNhNubah}(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.}(hjd hhhNhNubah}(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.}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj) hhubeh}(h]standards-complianceah ]h"]standards complianceah$]h&]uh1hhj hhhhhK>ubh)}(hhh](h)}(hNFSD administrative interfacesh]hNFSD administrative interfaces}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKXubh)}(h'NFSD administrative interfaces include:h]h'NFSD administrative interfaces include:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhj hhubhbullet_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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hj ubah}(h]h ]h"]h$]h&]uh1j hj hhhhhNubj )}(hexport options in /etc/exports
h]h)}(hexport options in /etc/exportsh]hexport options in /etc/exports}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hj ubah}(h]h ]h"]h$]h&]uh1j hj hhhhhNubj )}(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/}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hj ubah}(h]h ]h"]h$]h&]uh1j hj hhhhhNubj )}(hthe NFSD netlink protocol
h]h)}(hthe NFSD netlink protocolh]hthe NFSD netlink protocol}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahj ubah}(h]h ]h"]h$]h&]uh1j hj hhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1j hhhK[hj hhubh)}(hX Frequently, 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]hX Frequently, 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:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKchj hhubj )}(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&]uh1j hj$ 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.}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhj? ubah}(h]h ]h"]h$]h&]uh1j hj$ 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&]uh1hhhhKohjW ubah}(h]h ]h"]h$]h&]uh1j hj$ 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.}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjo ubah}(h]h ]h"]h$]h&]uh1j hj$ hhhhhNubeh}(h]h ]h"]h$]h&]j j uh1j hhhKihj hhubh)}(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).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthj hhubh)}(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]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/ .}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhj hhubeh}(h]nfsd-administrative-interfacesah ]h"]nfsd administrative interfacesah$]h&]uh1hhj hhhhhKXubh)}(hhh](h)}(hField observabilityh]hField observability}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubj )}(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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj hhhhhNubj )}(h