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?
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.
continuity/fs/diff.go
Line 101 in 206f576
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?