summaryrefslogtreecommitdiff
path: root/libnetfs/file-reparent.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2001-06-16 20:23:29 +0000
committerRoland McGrath <roland@gnu.org>2001-06-16 20:23:29 +0000
commit0a746fb19a663f41794f4c6ed6e63d4c5ce714b4 (patch)
tree8a32333adeedb387dabadce6165358563ec61e7d /libnetfs/file-reparent.c
parent487bba2f0cd506b4a79e1d92184a5f80d827954f (diff)
2001-04-01 Neal H Walfield <neal@cs.uml.edu>
* dir-lookup.c (netfs_S_dir_lookup): Use iohelp_create_empty_iouser. Use iohelp_dup_iouser as per the new semantics. * dir-mkfile.c (netfs_S_dir_mkfile): Use iohelp_dup_iouser as per the new semantics. * file-exec.c (netfs_S_file_exec): Likewise. * file-reparent.c (netfs_S_file_reparent): Likewise. * fsys-getroot.c (netfs_S_fsys_getroot): Use iohelp_create_complex_iouser. * fsys-syncfs.c (netfs_S_fsys_syncfs): Use iohelp_create_simple_iouser. * io-duplicate.c (netfs_S_io_duplicate): Use iohelp_dup_iouser as per the new semantics. * io-reauthenticate.c (netfs_S_io_reauthenticate): Use iohelp_reauth as per the new semantics. * io-restric-auth.c (netfs_S_io_restric_auth): Use iohelp_create_complex_iouser. Check return values. * trans-callback.c (_netfs_transcallback2_fn): Use iohelp_create_simple_iouser.
Diffstat (limited to 'libnetfs/file-reparent.c')
-rw-r--r--libnetfs/file-reparent.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/libnetfs/file-reparent.c b/libnetfs/file-reparent.c
index 6397951e..396a0a6b 100644
--- a/libnetfs/file-reparent.c
+++ b/libnetfs/file-reparent.c
@@ -1,8 +1,8 @@
/* Reparent a file
- Copyright (C) 1997 Free Software Foundation
+ Copyright (C) 1997, 2001 Free Software Foundation
- Written by Miles Bader <miles@gnu.ai.mit.edu>
+ Written by Miles Bader <miles@gnu.org>
This file is part of the GNU Hurd.
@@ -26,18 +26,25 @@ error_t
netfs_S_file_reparent (struct protid *cred, mach_port_t parent,
mach_port_t *new_file, mach_msg_type_name_t *new_file_type)
{
+ error_t err;
struct node *node;
struct protid *new_cred;
+ struct iouser *user;
if (! cred)
return EOPNOTSUPP;
+ err = iohelp_dup_iouser (&user, cred->user);
+ if (err)
+ return err;
+
node = cred->po->np;
mutex_lock (&node->lock);
+
new_cred =
netfs_make_protid (netfs_make_peropen (node, cred->po->openstat, cred->po),
- iohelp_dup_iouser (cred->user));
+ user);
mutex_unlock (&node->lock);
if (new_cred)