code: func CreateAtomicFilesystem(filesystem fs.Filesystem, path string) (*AtomicWriter, error) {
  	// The security of this depends on the tempfile having secure
  	// permissions, 0600, from the beginning. This is what ioutil.TempFile
  	// does. We have a test that verifies that that is the case, should this
  	// ever change in the standard library in the future.
  	fd, err := TempFile(filesystem, filepath.Dir(path), TempPrefix)
  	if err != nil {
  		return nil, err
  	}
  
  	w := &AtomicWriter{
  		path: path,
  		next: fd,
  		fs:   filesystem,
  	}
  
  	return w, nil
  }
docs: // CreateAtomicFilesystem is like os.Create, except a temporary file name is used
  // instead of the given name. The file is created with secure (0600)
  // permissions.