func (fs *Goofys) SetInodeAttributes( ctx context.Context, op *fuseops.SetInodeAttributesOp) (err error) { fs.mu.Lock() inode := fs.getInodeOrDie(op.Inode) fs.mu.Unlock() attr, err := inode.GetAttributes(fs) op.Attributes = *attr op.AttributesExpiration = time.Now().Add(365 * 24 * time.Hour) return }
func (fs *memFS) SetInodeAttributes( op *fuseops.SetInodeAttributesOp) (err error) { fs.mu.Lock() defer fs.mu.Unlock() // Grab the inode. inode := fs.getInodeOrDie(op.Inode) // Handle the request. inode.SetAttributes(op.Size, op.Mode, op.Mtime) // Fill in the response. op.Attributes = inode.attrs // We don't spontaneously mutate, so the kernel can cache as long as it wants // (since it also handles invalidation). op.AttributesExpiration = fs.clock.Now().Add(365 * 24 * time.Hour) return }