code: func (a *Driver) Changes(id, parent string) ([]archive.Change, error) {
  	if !a.isParent(id, parent) {
  		return a.naiveDiff.Changes(id, parent)
  	}
  
  	// AUFS doesn't have snapshots, so we need to get changes from all parent
  	// layers.
  	layers, err := a.getParentLayerPaths(id)
  	if err != nil {
  		return nil, err
  	}
  	return archive.Changes(layers, path.Join(a.rootPath(), "diff", id))
  }
docs: // Changes produces a list of changes between the specified layer
  // and its parent layer. If parent is "", then all changes will be ADD changes.