summaryrefslogtreecommitdiff
path: root/libnetfs
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-01-30 10:53:46 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-02-25 11:18:59 +0100
commit9366d6b2e48ba409366adc0516825c41a86dec9b (patch)
tree10431eba7bdaf8bfbb8811a5c4fed93616c5eb0d /libnetfs
parentd4129a39dda08e8cfbc002461e1e76103de8f108 (diff)
hurd: fix the get-children and get-source procedures
* hurd/fs.defs: Add file_get_children and file_get_source. * hurd/fsys.defs: Remove fsys_get_children and fsys_get_source. * libdiskfs/fsys-get-children.c: Rename and adapt accordingly. * libdiskfs/fsys-get-source.c: Likewise. * libnetfs/fsys-get-children.c: Likewise. * libnetfs/fsys-get-source.c: Likewise. * libtrivfs/fsys-get-children.c: Likewise. * libtrivfs/fsys-get-source.c: Likewise. * libdiskfs/diskfs.h: Adapt prototype and comment. * libnetfs/netfs.h: Likewise. * libtrivfs/trivfs.h: Likewise. * libdiskfs/get-source.c: Adapt default implementation, provide diskfs_disk_name by default. * libnetfs/netfs.h: Adapt default implementation. * libtrivfs/get-source.c: Likewise. * libdiskfs/Makefile: Adapt accordingly. * libnetfs/Makefile: Likewise. * libtrivfs/Makefile: Likewise. * trans/symlink.c: Likewise. * trans/mtab.c: Likewise.
Diffstat (limited to 'libnetfs')
-rw-r--r--libnetfs/Makefile2
-rw-r--r--libnetfs/file-get-children.c (renamed from libnetfs/fsys-get-children.c)14
-rw-r--r--libnetfs/file-get-source.c (renamed from libnetfs/fsys-get-source.c)15
-rw-r--r--libnetfs/get-source.c2
-rw-r--r--libnetfs/netfs.h9
5 files changed, 21 insertions, 21 deletions
diff --git a/libnetfs/Makefile b/libnetfs/Makefile
index 1a71b499..c3830c03 100644
--- a/libnetfs/Makefile
+++ b/libnetfs/Makefile
@@ -45,7 +45,7 @@ IOSRCS= io-read.c io-readable.c io-seek.c io-write.c io-stat.c io-async.c \
io-version.c
FSYSSRCS= fsys-syncfs.c fsys-getroot.c fsys-get-options.c fsys-set-options.c \
- fsys-goaway.c fsysstubs.c fsys-get-children.c fsys-get-source.c
+ fsys-goaway.c fsysstubs.c file-get-children.c file-get-source.c
IFSOCKSRCS=
OTHERSRCS= drop-node.c init-init.c make-node.c make-peropen.c make-protid.c \
diff --git a/libnetfs/fsys-get-children.c b/libnetfs/file-get-children.c
index fb3af914..80a727f5 100644
--- a/libnetfs/fsys-get-children.c
+++ b/libnetfs/file-get-children.c
@@ -1,4 +1,4 @@
-/* fsys_get_children
+/* file_get_children
Copyright (C) 2013 Free Software Foundation, Inc.
@@ -27,18 +27,14 @@
filesystem. CHILDREN is an argz vector containing file names
relative to the root of the receiving translator. */
error_t
-netfs_S_fsys_get_children (fsys_t server,
- mach_port_t reply,
- mach_msg_type_name_t replyPoly,
+netfs_S_file_get_children (struct protid *cred,
char **children,
mach_msg_type_number_t *children_len)
{
error_t err;
-
- struct protid *cred = ports_lookup_port (netfs_port_bucket,
- server,
- netfs_protid_class);
- if (! cred)
+ if (! cred
+ || cred->pi.bucket != netfs_port_bucket
+ || cred->pi.class != netfs_protid_class)
return EOPNOTSUPP;
/* check_access performs the same permission check as is normally
diff --git a/libnetfs/fsys-get-source.c b/libnetfs/file-get-source.c
index 6143d10b..8b73d5a1 100644
--- a/libnetfs/fsys-get-source.c
+++ b/libnetfs/file-get-source.c
@@ -1,4 +1,4 @@
-/* fsys_get_source
+/* file_get_source
Copyright (C) 2013 Free Software Foundation, Inc.
@@ -20,15 +20,18 @@
along with the GNU Hurd. If not, see <http://www.gnu.org/licenses/>. */
#include "priv.h"
-#include "fsys_S.h"
+#include "fs_S.h"
/* Return information about the source of the receiving
filesystem. */
error_t
-netfs_S_fsys_get_source (fsys_t server,
- mach_port_t reply,
- mach_msg_type_name_t replyPoly,
+netfs_S_file_get_source (struct protid *cred,
char *source)
{
- return netfs_get_source (source);
+ if (! cred
+ || cred->pi.bucket != netfs_port_bucket
+ || cred->pi.class != netfs_protid_class)
+ return EOPNOTSUPP;
+
+ return netfs_get_source (cred, source, 1024 /* XXX */);
}
diff --git a/libnetfs/get-source.c b/libnetfs/get-source.c
index 71a96390..73e48be8 100644
--- a/libnetfs/get-source.c
+++ b/libnetfs/get-source.c
@@ -22,7 +22,7 @@
#include "priv.h"
error_t
-netfs_get_source (char *source)
+netfs_get_source (struct protid *cred, char *source, size_t source_len)
{
return EOPNOTSUPP;
}
diff --git a/libnetfs/netfs.h b/libnetfs/netfs.h
index e10ccae0..5d50f57d 100644
--- a/libnetfs/netfs.h
+++ b/libnetfs/netfs.h
@@ -315,10 +315,11 @@ error_t netfs_file_get_storage_info (struct iouser *cred,
mach_msg_type_number_t *data_len);
/* The user may define this function. The function must set source to
- the source device of the filesystem. The function may return an
- EOPNOTSUPP to indicate that the concept of a source device is not
- applicable. The default function always returns EOPNOTSUPP. */
-error_t netfs_get_source (char *source);
+ the source of CRED. The function may return an EOPNOTSUPP to
+ indicate that the concept of a source device is not applicable. The
+ default function always returns EOPNOTSUPP. */
+error_t netfs_get_source (struct protid *cred,
+ char *source, size_t source_len);
/* Option parsing */