From: "Chuck Lever" <cel@kernel.org>
To: "Amir Goldstein" <amir73il@gmail.com>,
"Christian Brauner" <brauner@kernel.org>
Cc: "Chuck Lever" <chuck.lever@oracle.com>,
"Jeff Layton" <jlayton@kernel.org>,
"Christoph Hellwig" <hch@lst.de>, NeilBrown <neil@brown.name>,
"Jan Kara" <jack@suse.cz>,
linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org
Subject: Re: [PATCH v3 1/2] exportfs: clarify the documentation of open()/permission() expotrfs ops
Date: Wed, 28 Jan 2026 11:09:56 -0500 [thread overview]
Message-ID: <34bda263-4b41-4388-b58a-6fdab6d1fb49@app.fastmail.com> (raw)
In-Reply-To: <20260128111645.902932-2-amir73il@gmail.com>
Typo in Subject: s/expotrfs/exportfs
On Wed, Jan 28, 2026, at 6:16 AM, Amir Goldstein wrote:
> pidfs and nsfs recently gained support for encode/decode of file handles
> via name_to_handle_at(2)/opan_by_handle_at(2).
s/opan/open
And one more below:
> These special kernel filesystems have custom ->open() and ->permission()
> export methods, which nfsd does not respect and it was never meant to be
> used for exporting those filesystems by nfsd.
>
> Update kernel-doc comments to express the fact the those methods are for
> open_by_handle(2) system only and not compatible with nfsd.
>
> Signed-off-by: Amir Goldstein <amir73il@gmail.com>
> ---
> include/linux/exportfs.h | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/exportfs.h b/include/linux/exportfs.h
> index 262e24d833134..fafd22ed4c648 100644
> --- a/include/linux/exportfs.h
> +++ b/include/linux/exportfs.h
> @@ -192,7 +192,9 @@ struct handle_to_path_ctx {
> #define FILEID_VALID_USER_FLAGS (FILEID_IS_CONNECTABLE | FILEID_IS_DIR)
>
> /**
> - * struct export_operations - for nfsd to communicate with file systems
> + * struct export_operations
> + *
> + * Methods for nfsd to communicate with file systems:
Let's not remove the brief description for the export_operations
struct in the Doxygen output.
> * @encode_fh: encode a file handle fragment from a dentry
> * @fh_to_dentry: find the implied object and get a dentry for it
> * @fh_to_parent: find the implied object's parent and get a dentry for it
> @@ -200,6 +202,10 @@ struct handle_to_path_ctx {
> * @get_parent: find the parent of a given directory
> * @commit_metadata: commit metadata changes to stable storage
> *
> + * Methods for open_by_handle(2) syscall with special kernel file systems:
> + * @permission: custom permission for opening a file by handle
> + * @open: custom open routine for opening file by handle
> + *
> * See Documentation/filesystems/nfs/exporting.rst for details on how to use
> * this interface correctly and the definition of the flags.
> *
> @@ -244,10 +250,14 @@ struct handle_to_path_ctx {
> * space cannot be allocated, a %ERR_PTR should be returned.
> *
> * @permission:
> - * Allow filesystems to specify a custom permission function.
> + * Allow filesystems to specify a custom permission function for the
> + * open_by_handle_at(2) syscall instead of the default permission check.
> + * This custom permission function is not respected by nfsd.
> *
> * @open:
> - * Allow filesystems to specify a custom open function.
> + * Allow filesystems to specify a custom open function for the
> + * open_by_handle_at(2) syscall instead of the default file_open_root().
> + * This custom open function is not respected by nfsd.
> *
> * @commit_metadata:
> * @commit_metadata should commit metadata changes to stable storage.
> --
> 2.52.0
--
Chuck Lever
next prev parent reply other threads:[~2026-01-28 16:10 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-28 11:16 [PATCH v3 0/2] nfsd and special kernel filesystems Amir Goldstein
2026-01-28 11:16 ` [PATCH v3 1/2] exportfs: clarify the documentation of open()/permission() expotrfs ops Amir Goldstein
2026-01-28 16:09 ` Chuck Lever [this message]
2026-01-28 19:27 ` Amir Goldstein
2026-01-28 11:16 ` [PATCH v3 2/2] nfsd: do not allow exporting of special kernel filesystems Amir Goldstein
2026-01-28 16:11 ` Chuck Lever
2026-01-28 19:28 ` Amir Goldstein
2026-01-28 11:30 ` [PATCH v3 0/2] nfsd and " Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=34bda263-4b41-4388-b58a-6fdab6d1fb49@app.fastmail.com \
--to=cel@kernel.org \
--cc=amir73il@gmail.com \
--cc=brauner@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=jlayton@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neil@brown.name \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox