diff options
author | 2024-09-02 16:15:44 +0200 | |
---|---|---|
committer | 2024-09-05 11:39:20 +0200 | |
commit | 7063c229a83667fec3938999b39dad0aea12906b (patch) | |
tree | 65e825a417d2eb0aa96a455a692cb84f5d75cec7 /tools/perf/scripts/python/call-graph-from-postgresql.py | |
parent | fs: drop GFP_NOFAIL mode from alloc_page_buffers (diff) | |
parent | fhandle: expose u64 mount id to name_to_handle_at(2) (diff) | |
download | wireguard-linux-7063c229a83667fec3938999b39dad0aea12906b.tar.xz wireguard-linux-7063c229a83667fec3938999b39dad0aea12906b.zip |
Merge patch series "fhandle: expose u64 mount id to name_to_handle_at(2)"
Aleksa Sarai <cyphar@cyphar.com> says:
Now that we provide a unique 64-bit mount ID interface in statx(2), we
can now provide a race-free way for name_to_handle_at(2) to provide a
file handle and corresponding mount without needing to worry about
racing with /proc/mountinfo parsing or having to open a file just to do
statx(2).
While this is not necessary if you are using AT_EMPTY_PATH and don't
care about an extra statx(2) call, users that pass full paths into
name_to_handle_at(2) need to know which mount the file handle comes from
(to make sure they don't try to open_by_handle_at a file handle from a
different filesystem) and switching to AT_EMPTY_PATH would require
allocating a file for every name_to_handle_at(2) call, turning
err = name_to_handle_at(-EBADF, "/foo/bar/baz", &handle, &mntid,
AT_HANDLE_MNT_ID_UNIQUE);
into
int fd = openat(-EBADF, "/foo/bar/baz", O_PATH | O_CLOEXEC);
err1 = name_to_handle_at(fd, "", &handle, &unused_mntid, AT_EMPTY_PATH);
err2 = statx(fd, "", AT_EMPTY_PATH, STATX_MNT_ID_UNIQUE, &statxbuf);
mntid = statxbuf.stx_mnt_id;
close(fd);
Also, this series adds a patch to clarify how AT_* flag allocation
should work going forwards.
* patches from https://lore.kernel.org/r/20240828-exportfs-u64-mount-id-v3-0-10c2c4c16708@cyphar.com:
fhandle: expose u64 mount id to name_to_handle_at(2)
uapi: explain how per-syscall AT_* flags should be allocated
Link: https://lore.kernel.org/r/20240828-exportfs-u64-mount-id-v3-0-10c2c4c16708@cyphar.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions