|
Message-ID: <20180913013041.GE1878@brightrain.aerifal.cx> Date: Wed, 12 Sep 2018 21:30:41 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: [PATCH] wireup linux/name_to_handle_at and name_to_handle_at syscalls On Wed, Sep 12, 2018 at 06:02:11PM -0700, Khem Raj wrote: > Signed-off-by: Khem Raj <raj.khem@...il.com> > --- > include/fcntl.h | 7 +++++++ > src/linux/name_to_handle_at.c | 11 +++++++++++ > src/linux/open_by_handle_at.c | 10 ++++++++++ > 3 files changed, 28 insertions(+) > create mode 100644 src/linux/name_to_handle_at.c > create mode 100644 src/linux/open_by_handle_at.c > > diff --git a/include/fcntl.h b/include/fcntl.h > index 6d8edcd1..5c3defcb 100644 > --- a/include/fcntl.h > +++ b/include/fcntl.h > @@ -155,6 +155,11 @@ int lockf(int, int, off_t); > #define F_OWNER_PID 1 > #define F_OWNER_PGRP 2 > #define F_OWNER_GID 2 > +struct file_handle { > + unsigned int handle_bytes; > + int handle_type; > + unsigned char f_handle[]; > +}; > struct f_owner_ex { > int type; > pid_t pid; > @@ -170,6 +175,8 @@ struct f_owner_ex { > #define SPLICE_F_GIFT 8 > int fallocate(int, int, off_t, off_t); > #define fallocate64 fallocate > +int name_to_handle_at(int, const char *, struct file_handle *, int *, int); > +int open_by_handle_at(int, struct file_handle *, int); > ssize_t readahead(int, off_t, size_t); > int sync_file_range(int, off_t, off_t, unsigned); > ssize_t vmsplice(int, const struct iovec *, size_t, unsigned); > diff --git a/src/linux/name_to_handle_at.c b/src/linux/name_to_handle_at.c > new file mode 100644 > index 00000000..bb6f8007 > --- /dev/null > +++ b/src/linux/name_to_handle_at.c > @@ -0,0 +1,11 @@ > +#define _GNU_SOURCE > +#include <fcntl.h> > +#include "syscall.h" > + > +int name_to_handle_at(int dirfd, const char *pathname, > + struct file_handle *handle, > + int *mount_id, int flags) > +{ > + return syscall(SYS_name_to_handle_at, dirfd, > + pathname, handle, mount_id, flags); > +} > diff --git a/src/linux/open_by_handle_at.c b/src/linux/open_by_handle_at.c > new file mode 100644 > index 00000000..9bc93f14 > --- /dev/null > +++ b/src/linux/open_by_handle_at.c > @@ -0,0 +1,10 @@ > +#define _GNU_SOURCE > +#include <fcntl.h> > +#include "syscall.h" > + > +int open_by_handle_at(int mount_fd, struct file_handle *handle, > + int flags) > +{ > + return syscall(SYS_open_by_handle_at, mount_fd, > + handle, flags); > +} > -- > 2.19.0 Thanks. Merging with minor style fixes. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.