// Creates a regular file in dir with the attributes supplied in req func (dir *Directory) Create(req *fuse.CreateRequest, resp *fuse.CreateResponse, intr fs.Intr) (fs.Node, fs.Handle, fuse.Error) { if strings.Contains(req.Name, "@") { return nil, nil, fuse.EPERM } filesystem.Lock(dir) defer filesystem.Unlock(dir) util.P_out(req.String()) rval := new(File) rval.InitFile(req.Name, req.Mode, dir) rval.Attrs.Gid = req.Gid rval.Attrs.Uid = req.Uid dir.setChild(rval) resp.Attr = rval.Attr() resp.Node = fuse.NodeID(rval.Attr().Inode) rval.dirty = true dir.dirty = true return rval, rval, nil }