Describe the bug
in memory backend, if you call file.Seek to a possition that larger than current file size will return error Invalid offset. Common behaviour is to allow to seek beyond the current file size and update new file size to cover new possition.
fs := _mem.NewFileSystem()
_, err := file.WriteAt(0, []byte("hello world"))
if err != nil {
log.Fatal(err)
}
_, err = file.WriteAt(100, []byte("hello world 2"))
if err != nil {
// -> invalid offset
log.Fatal(err)
}