Commit 5770d3f1 authored by Han-Wen Nienhuys's avatar Han-Wen Nienhuys

Merge remote branch 'origin/master' into tip

parents 14d2b1e7 d0eb74c0
...@@ -168,11 +168,8 @@ func (me *UnionFs) getBranchAttrNoCache(name string) branchResult { ...@@ -168,11 +168,8 @@ func (me *UnionFs) getBranchAttrNoCache(name string) branchResult {
a, s := fs.GetAttr(name) a, s := fs.GetAttr(name)
if s.Ok() { if s.Ok() {
if a.Mode&fuse.S_IFDIR != 0 { // Make all files appear writable
// Make all directories appear writable a.Mode |= 0222
a.Mode |= 0200
}
return branchResult{ return branchResult{
attr: a, attr: a,
code: s, code: s,
...@@ -356,7 +353,9 @@ func (me *UnionFs) Truncate(path string, offset uint64) (code fuse.Status) { ...@@ -356,7 +353,9 @@ func (me *UnionFs) Truncate(path string, offset uint64) (code fuse.Status) {
} }
if code.Ok() { if code.Ok() {
r.attr.Size = int64(offset) r.attr.Size = int64(offset)
r.attr.Mtime_ns = time.Nanoseconds() now := time.Nanoseconds()
r.attr.Mtime_ns = now
r.attr.Ctime_ns = now
me.branchCache.Set(path, r) me.branchCache.Set(path, r)
} }
return code return code
...@@ -377,6 +376,7 @@ func (me *UnionFs) Utimens(name string, atime uint64, mtime uint64) (code fuse.S ...@@ -377,6 +376,7 @@ func (me *UnionFs) Utimens(name string, atime uint64, mtime uint64) (code fuse.S
if code.Ok() { if code.Ok() {
r.attr.Atime_ns = int64(atime) r.attr.Atime_ns = int64(atime)
r.attr.Mtime_ns = int64(mtime) r.attr.Mtime_ns = int64(mtime)
r.attr.Ctime_ns = time.Nanoseconds()
me.branchCache.Set(name, r) me.branchCache.Set(name, r)
} }
return code return code
...@@ -537,8 +537,11 @@ func (me *UnionFs) Create(name string, flags uint32, mode uint32) (fuseFile fuse ...@@ -537,8 +537,11 @@ func (me *UnionFs) Create(name string, flags uint32, mode uint32) (fuseFile fuse
if code.Ok() { if code.Ok() {
me.removeDeletion(name) me.removeDeletion(name)
now := time.Nanoseconds()
a := os.FileInfo{ a := os.FileInfo{
Mode: fuse.S_IFREG | mode, Mode: fuse.S_IFREG | mode,
Ctime_ns: now,
Mtime_ns: now,
} }
me.branchCache.Set(name, branchResult{&a, fuse.OK, 0}) me.branchCache.Set(name, branchResult{&a, fuse.OK, 0})
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment