diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-03-06 03:07:03 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-03-06 03:07:03 +0100 |
commit | 5fc5c18208546c77f2c279f7f6acf6b01a2d2645 (patch) | |
tree | ad65e67be11351837e2e0dd6fb2ef8d05085d9a6 /sys/src/cmd/cwfs/9p2.c | |
parent | 5c6a03f4f417d00a6d169cfc9c7e6efae17f4e5e (diff) |
cwfs: handle DMTMP flag in create
Diffstat (limited to 'sys/src/cmd/cwfs/9p2.c')
-rw-r--r-- | sys/src/cmd/cwfs/9p2.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/src/cmd/cwfs/9p2.c b/sys/src/cmd/cwfs/9p2.c index 1c51fe03a..9f5d27c57 100644 --- a/sys/src/cmd/cwfs/9p2.c +++ b/sys/src/cmd/cwfs/9p2.c @@ -894,8 +894,8 @@ fs_create(Chan* chan, Fcall* f, Fcall* r) error = Emode; goto out; } - if(f->perm & PDIR) - if((f->mode & OTRUNC) || (f->perm & PAPND) || (fmod & FWRITE)) + if(f->perm & DMDIR) + if((f->mode & OTRUNC) || (f->perm & DMAPPEND) || (fmod & FWRITE)) goto badaccess; /* * do it @@ -921,20 +921,22 @@ fs_create(Chan* chan, Fcall* f, Fcall* r) d1->uid = file->uid; d1->gid = d->gid; f->perm &= d->mode | ~0666; - if(f->perm & PDIR) + if(f->perm & DMDIR) f->perm &= d->mode | ~0777; } d1->qid.path = path; d1->qid.version = 0; d1->mode = DALLOC | (f->perm & 0777); - if(f->perm & PDIR) { + if(f->perm & DMDIR) { d1->mode |= DDIR; d1->qid.path |= QPDIR; } - if(f->perm & PAPND) + if(f->perm & DMAPPEND) d1->mode |= DAPND; + if(f->perm & DMTMP) + d1->mode |= DTMP; t = nil; - if(f->perm & PLOCK){ + if(f->perm & DMEXCL){ d1->mode |= DLOCK; t = tlocked(p1, d1); /* if nil, out of tlock structures */ |