summaryrefslogtreecommitdiff
path: root/libnetfs/io-write.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <marcus@gnu.org>2000-12-30 18:22:29 +0000
committerMarcus Brinkmann <marcus@gnu.org>2000-12-30 18:22:29 +0000
commitfe8055abcf2253dabdeb9b34d27ec763b8a6c1d2 (patch)
tree267190fe91b8eabf556e4e7ba14f5ab6a902c1f7 /libnetfs/io-write.c
parentd2a271dbdbdd7ec93b615cd87c8922ccee3ce579 (diff)
2000-12-30 Marcus Brinkmann <marcus@gnu.org>
* netfs.h (struct node): Adjust comment fixes by last change to be more in line with similar comments elsewhere. * make-node.c (netfs_make_node): Return 0 if malloc does. Reported by Neal H Walfield <neal@cs.uml.edu>. 2000-12-29 Neal H Walfield <neal@cs.uml.edu> * dir-lookup.c (netfs_S_dir_lookup): Do not bother zeroing np, it happens later anyway. Replace bcopy with memcpy. * file-get-translator.c (netfs_S_file_get_translator): Replace bcopy with memcpy. * io-seek.c (netfs_S_io_seek): Only get the lock if we need it. * io-stat.c (netfs_S_io_stat): Replace bcopy with memcpy. * io-write.c (netfs_S_io_write): Wait until the lock is needed. * netfs.h: Complete documentation revision. The locking protocol is now very explicit. * nput.c (netfs_nput): Added comment. * nrele.c (netfs_nrele): Likewise. * set-get-trans.c: Likewise.
Diffstat (limited to 'libnetfs/io-write.c')
-rw-r--r--libnetfs/io-write.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/libnetfs/io-write.c b/libnetfs/io-write.c
index 26c3c297..c4423dab 100644
--- a/libnetfs/io-write.c
+++ b/libnetfs/io-write.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc.
Written by Michael I. Bushnell, p/BSG.
This file is part of the GNU Hurd.
@@ -36,17 +36,14 @@ netfs_S_io_write (struct protid *user,
if (!user)
return EOPNOTSUPP;
- np = user->po->np;
-
- mutex_lock (&np->lock);
if ((user->po->openstat & O_WRITE) == 0)
- {
- mutex_unlock (&np->lock);
- return EBADF;
- }
+ return EBADF;
*amount = datalen;
+ np = user->po->np;
+ mutex_lock (&np->lock);
+
if (off == -1)
{
if (user->po->openstat & O_APPEND)