diff options
author | Roland McGrath <roland@gnu.org> | 2001-06-16 20:23:29 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2001-06-16 20:23:29 +0000 |
commit | 0a746fb19a663f41794f4c6ed6e63d4c5ce714b4 (patch) | |
tree | 8a32333adeedb387dabadce6165358563ec61e7d /libnetfs/file-reparent.c | |
parent | 487bba2f0cd506b4a79e1d92184a5f80d827954f (diff) | |
download | hurd-0a746fb19a663f41794f4c6ed6e63d4c5ce714b4.tar.gz hurd-0a746fb19a663f41794f4c6ed6e63d4c5ce714b4.tar.bz2 hurd-0a746fb19a663f41794f4c6ed6e63d4c5ce714b4.zip |
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.c | 13 |
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) |