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/ops.c | |
parent | b615272fa6dc79bd23eba5fe889733773076779d (diff) |
*** empty log message ***
Diffstat (limited to 'nfsd/ops.c')
-rw-r--r-- | nfsd/ops.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -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 |