summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cwfs/9p2.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2017-03-06 03:07:03 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2017-03-06 03:07:03 +0100
commit5fc5c18208546c77f2c279f7f6acf6b01a2d2645 (patch)
treead65e67be11351837e2e0dd6fb2ef8d05085d9a6 /sys/src/cmd/cwfs/9p2.c
parent5c6a03f4f417d00a6d169cfc9c7e6efae17f4e5e (diff)
cwfs: handle DMTMP flag in create
Diffstat (limited to 'sys/src/cmd/cwfs/9p2.c')
-rw-r--r--sys/src/cmd/cwfs/9p2.c14
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 */