afero
afero copied to clipboard
GCSFS new file object doesn't exist
When attempting to create a new file on GCSFS with flags os.O_CREATE|os.O_TRUNC, the resource delete operation throws an error "object doesn't exist"
if flag&os.O_TRUNC != 0 {
err = file.resource.obj.Delete(fs.ctx) // Throws an error
if err != nil {
return nil, err
}
return fs.Create(name)
}
I think a solution is to modify the code to something like this so it only attempts to delete the file on truncate if it exists, but I'm not certain
if flag&os.O_TRUNC != 0 {
if found {
err = file.resource.obj.Delete(fs.ctx)
if err != nil {
return nil, err
}
}
return fs.Create(name)
}