diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-14 23:49:17 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-14 23:49:17 +0200 |
commit | 8099d78f447fd77b215e2cc6a6bab2097a0d4d54 (patch) | |
tree | bba4ffff4d1ed703f7ea918f7608d9689ab1e9ce /sys/src/cmd/cwfs/dentry.c | |
parent | b494f61baa98f9ebb17cae13257d056af995b9f3 (diff) |
cwfs: noatime flag
Diffstat (limited to 'sys/src/cmd/cwfs/dentry.c')
-rw-r--r-- | sys/src/cmd/cwfs/dentry.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/sys/src/cmd/cwfs/dentry.c b/sys/src/cmd/cwfs/dentry.c index e34090e4c..ad0d55d0e 100644 --- a/sys/src/cmd/cwfs/dentry.c +++ b/sys/src/cmd/cwfs/dentry.c @@ -13,16 +13,18 @@ accessdir(Iobuf *p, Dentry *d, int f, int uid) { Timet t; - if(p && p->dev->type != Devro) { - p->flags |= Bmod; - t = time(nil); - if(f & (FREAD|FWRITE)) - d->atime = t; - if(f & FWRITE) { - d->mtime = t; - d->muid = uid; - d->qid.version++; - } + if(p == nil || p->dev->type == Devro) + return; + f &= FREAD|FWRITE; + if(f != FWRITE && noatime) + return; + p->flags |= Bmod; + t = time(nil); + d->atime = t; + if(f & FWRITE){ + d->mtime = t; + d->muid = uid; + d->qid.version++; } } |