Debugging issue #25511
Volumes and other content created under a bind mount should be
recursively propagated using rshared, not shared. This could be
the reason for EBUSY during removal. Override options with rbind,
rshared and see if CI errors are fixed.
May fix #25511
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit e58028d078
)
Signed-off-by: Tibor Vass <tibor@docker.com>
This commit is contained in:
parent
f21cdf48f9
commit
09dc9a2a9e
1 changed files with 6 additions and 0 deletions
|
@ -90,7 +90,13 @@ func (pm *Manager) initSpec(p *plugin) (*specs.Spec, error) {
|
||||||
if mount.Source != nil {
|
if mount.Source != nil {
|
||||||
m.Source = *mount.Source
|
m.Source = *mount.Source
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.Source != "" && m.Type == "bind" {
|
if m.Source != "" && m.Type == "bind" {
|
||||||
|
/* Debugging issue #25511: Volumes and other content created under the
|
||||||
|
bind mount should be recursively propagated. rshared, not shared.
|
||||||
|
This could be the reason for EBUSY during removal. Override options
|
||||||
|
with rbind, rshared and see if CI errors are fixed. */
|
||||||
|
m.Options = []string{"rbind", "rshared"}
|
||||||
fi, err := os.Lstat(filepath.Join(rootfs, string(os.PathSeparator), m.Destination)) // TODO: followsymlinks
|
fi, err := os.Lstat(filepath.Join(rootfs, string(os.PathSeparator), m.Destination)) // TODO: followsymlinks
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in a new issue