linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Brauner <brauner@kernel.org>
To: Jeff Layton <jlayton@kernel.org>,
	Chuck Lever <chuck.lever@oracle.com>,  Jan Kara <jack@suse.cz>,
	Amir Goldstein <amir73il@gmail.com>,
	 Simona Vetter <simona@ffwll.ch>
Cc: linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
	 Christian Brauner <brauner@kernel.org>,
	stable@kernel.org
Subject: [PATCH 0/9] fhandle, pidfs: allow open_by_handle_at() purely based on file handle
Date: Mon, 23 Jun 2025 11:01:22 +0200	[thread overview]
Message-ID: <20250623-work-pidfs-fhandle-v1-0-75899d67555f@kernel.org> (raw)

Various filesystems such as pidfs and drm support opening file handles
without having to require a file descriptor to identify the filesystem.
The filesystem are global single instances and can be trivially
identified solely on the information encoded in the file handle.

This makes it possible to not have to keep or acquire a sentinal file
descriptor just to pass it to open_by_handle_at() to identify the
filesystem. That's especially useful when such sentinel file descriptor
cannot or should not be acquired.

For pidfs this means a file handle can function as full replacement for
storing a pid in a file. Instead a file handle can be stored and
reopened purely based on the file handle.

Such autonomous file handles can be opened with or without specifying a
sentinal file descriptor. Userspace can trivially test for support by
trying to open the file handle with an invalid file descriptor.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
Christian Brauner (9):
      fhandle: raise FILEID_IS_DIR in handle_type
      fhandle: hoist copy_from_user() above get_path_from_fd()
      fhandle: rename to get_path_anchor()
      pidfs: add pidfs_root_path() helper
      fhandle: reflow get_path_anchor()
      exportfs: add FILEID_PIDFS
      fhandle: add EXPORT_OP_AUTONOMOUS_HANDLES marker
      fhandle, pidfs: support open_by_handle_at() purely based on file handle
      selftests/pidfd: decode pidfd file handles withou having to specify an fd

 fs/fhandle.c                                       | 79 +++++++++++++---------
 fs/internal.h                                      |  1 +
 fs/pidfs.c                                         | 16 ++++-
 include/linux/exportfs.h                           | 15 +++-
 tools/testing/selftests/pidfd/Makefile             |  2 +-
 .../selftests/pidfd/pidfd_file_handle_test.c       | 54 +++++++++++++++
 6 files changed, 133 insertions(+), 34 deletions(-)
---
base-commit: 1ff46043a6745d56b37acfc888d6e2b4f4d90663
change-id: 20250619-work-pidfs-fhandle-b63ff35c4924


             reply	other threads:[~2025-06-23  9:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-23  9:01 Christian Brauner [this message]
2025-06-23  9:01 ` [PATCH 1/9] fhandle: raise FILEID_IS_DIR in handle_type Christian Brauner
2025-06-23 11:31   ` Jan Kara
2025-06-23  9:01 ` [PATCH 2/9] fhandle: hoist copy_from_user() above get_path_from_fd() Christian Brauner
2025-06-23 11:33   ` Jan Kara
2025-06-23  9:01 ` [PATCH 3/9] fhandle: rename to get_path_anchor() Christian Brauner
2025-06-23 11:34   ` Jan Kara
2025-06-23  9:01 ` [PATCH 4/9] pidfs: add pidfs_root_path() helper Christian Brauner
2025-06-23 11:46   ` Jan Kara
2025-06-23  9:01 ` [PATCH 5/9] fhandle: reflow get_path_anchor() Christian Brauner
2025-06-23 11:39   ` Jan Kara
2025-06-23  9:01 ` [PATCH 6/9] exportfs: add FILEID_PIDFS Christian Brauner
2025-06-23 11:55   ` Jan Kara
2025-06-23 11:58     ` Christian Brauner
2025-06-23 12:22       ` Amir Goldstein
2025-06-23 12:41         ` Jan Kara
2025-06-23 13:05           ` Amir Goldstein
2025-06-23 13:18             ` Jan Kara
2025-06-23 14:05               ` Amir Goldstein
2025-06-23 19:17                 ` Christian Brauner
2025-06-24  8:25                   ` Christian Brauner
2025-06-23  9:01 ` [PATCH 7/9] fhandle: add EXPORT_OP_AUTONOMOUS_HANDLES marker Christian Brauner
2025-06-23 11:58   ` Jan Kara
2025-06-23 12:37     ` Amir Goldstein
2025-06-23  9:01 ` [PATCH 8/9] fhandle, pidfs: support open_by_handle_at() purely based on file handle Christian Brauner
2025-06-23 12:06   ` Jan Kara
2025-06-23 12:25     ` Christian Brauner
2025-06-23 12:54       ` Amir Goldstein
2025-06-23 13:00         ` Christian Brauner
2025-06-23 13:21           ` Jan Kara
2025-06-23 14:00             ` Amir Goldstein
2025-06-23 13:29       ` Jan Kara
2025-06-23  9:01 ` [PATCH 9/9] selftests/pidfd: decode pidfd file handles withou having to specify an fd Christian Brauner

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=20250623-work-pidfs-fhandle-v1-0-75899d67555f@kernel.org \
    --to=brauner@kernel.org \
    --cc=amir73il@gmail.com \
    --cc=chuck.lever@oracle.com \
    --cc=jack@suse.cz \
    --cc=jlayton@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=simona@ffwll.ch \
    --cc=stable@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).