We have an 8GB image we are trying to commit with nerdctl. It takes a long time for this to happen. It seems to be because fs.Changes implemented in continuity is not using the diff functionality from overlayfs but just walking every file.
|
func Changes(ctx context.Context, a, b string, changeFn ChangeFunc) error { |
It seems like this needs to be implemented here:
https://github.com/containerd/continuity/blob/main/fs/diff_unix.go#L34
Could someone please take a look to see if our understanding is correct. If it is, what would it take to fix this code so it can work more effectively for overlayfs?