diff options
author | Thomas Bushnell <thomas@gnu.org> | 1996-08-13 20:09:00 +0000 |
---|---|---|
committer | Thomas Bushnell <thomas@gnu.org> | 1996-08-13 20:09:00 +0000 |
commit | 7f95a8a4c1a999bee77a323489341505abe2d3db (patch) | |
tree | b75b85bc8d298d7b0b015d2a9b7400310515f793 /nfsd | |
parent | b615272fa6dc79bd23eba5fe889733773076779d (diff) |
*** empty log message ***
Diffstat (limited to 'nfsd')
-rw-r--r-- | nfsd/ChangeLog | 8 | ||||
-rw-r--r-- | nfsd/ops.c | 11 |
2 files changed, 17 insertions, 2 deletions
diff --git a/nfsd/ChangeLog b/nfsd/ChangeLog index 6edf4199..3fc876e2 100644 --- a/nfsd/ChangeLog +++ b/nfsd/ChangeLog @@ -1,3 +1,11 @@ +Tue Aug 13 14:38:36 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (op_create): Sun's NFS client implementation actually + bombs if do do what RFC 1094 says to do in section 2.2.10. So + don't pass O_EXCL, but do pass O_TRUNC. That's what NetBSD does. + + * ops.c (op_setattr): Fill in an fattr in reply. + Mon Aug 12 11:15:15 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * Makefile (installationdir): Include quotes in variable expansion @@ -120,14 +120,21 @@ op_setattr (struct cache_handle *c, { error_t err = 0; mode_t mode; + struct stat st; mode = ntohl (*p++); if (mode != -1) err = file_chmod (c->port, mode); + + if (!err) + err = complete_setattr (c->port, p); + if (!err) + err = io_stat (c->port, &st); if (err) return err; - return complete_setattr (c->port, p); + *reply = encode_fattr (*reply, &st); + return 0; } static error_t @@ -290,7 +297,7 @@ op_create (struct cache_handle *c, p = decode_name (p, &name); mode = ntohl (*p++); - err = dir_lookup (c->port, name, O_NOTRANS | O_CREAT | O_EXCL, mode, + err = dir_lookup (c->port, name, O_NOTRANS | O_CREAT | O_TRUNC, mode, &do_retry, retry_name, &newport); if (!err && (do_retry != FS_RETRY_NORMAL |