New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix linux mount calls not applying propagation type changes #30416

Merged
merged 1 commit into from Feb 15, 2017

Conversation

Projects
None yet
7 participants
@stevenh
Contributor

stevenh commented Jan 24, 2017

Propagation type changes must be done as a separate call, in the same way as read only bind mounts.

To fix this:

  1. Ensure propagation type change flags aren't included in other calls.
  2. Only apply read only bind mount changes once.
  3. Make it clear which parameters are ignored by passing them as empty.
  4. Apply propagation type change in a separate call.

Fixes #30415

Signed-off-by: Steven Hartland steven.hartland@multiplay.co.uk

@thaJeztah

This comment has been minimized.

Show comment
Hide comment
@thaJeztah
Member

thaJeztah commented Jan 24, 2017

@stevenh

This comment has been minimized.

Show comment
Hide comment
@stevenh

stevenh Jan 24, 2017

Contributor

Not sure the jenkins errors are related to this PR?
Error processing tar file(exit status 1): no such device

Contributor

stevenh commented Jan 24, 2017

Not sure the jenkins errors are related to this PR?
Error processing tar file(exit status 1): no such device

@justincormack

This comment has been minimized.

Show comment
Hide comment
@justincormack

justincormack Jan 24, 2017

Contributor

Can we add some tests for these, as clearly there were not sufficient ones before or it would have been noticed...

Contributor

justincormack commented Jan 24, 2017

Can we add some tests for these, as clearly there were not sufficient ones before or it would have been noticed...

@stevenh

This comment has been minimized.

Show comment
Hide comment
@stevenh

stevenh Jan 24, 2017

Contributor

@justincormack tests added

Contributor

stevenh commented Jan 24, 2017

@justincormack tests added

@justincormack

This comment has been minimized.

Show comment
Hide comment
@justincormack

justincormack Jan 25, 2017

Contributor

@stevenh the tests seem to be failing...

Contributor

justincormack commented Jan 25, 2017

@stevenh the tests seem to be failing...

@stevenh

This comment has been minimized.

Show comment
Hide comment
@stevenh

stevenh Jan 25, 2017

Contributor

I think there may be something kernel / OS specific about slave mount reporting as this latest version works fine here on ubuntu 16 LTS here, need to investigate more.

Contributor

stevenh commented Jan 25, 2017

I think there may be something kernel / OS specific about slave mount reporting as this latest version works fine here on ubuntu 16 LTS here, need to investigate more.

@stevenh

This comment has been minimized.

Show comment
Hide comment
@stevenh

stevenh Jan 26, 2017

Contributor

The underlying issue was false assumptions about the parent mounts propagation type in the test, locally its was shared on jenkins they must be private, so the resulting Optionals where unstable.

I've restructured the test to start with a source that has known flags, so hopefully it should be good now.

Contributor

stevenh commented Jan 26, 2017

The underlying issue was false assumptions about the parent mounts propagation type in the test, locally its was shared on jenkins they must be private, so the resulting Optionals where unstable.

I've restructured the test to start with a source that has known flags, so hopefully it should be good now.

@stevenh

This comment has been minimized.

Show comment
Hide comment
@stevenh

stevenh Jan 27, 2017

Contributor

@justincormack this good for you now?

Contributor

stevenh commented Jan 27, 2017

@justincormack this good for you now?

@LK4D4

This comment has been minimized.

Show comment
Hide comment
@LK4D4

LK4D4 Feb 1, 2017

Contributor
Contributor

LK4D4 commented Feb 1, 2017

@justincormack

This comment has been minimized.

Show comment
Hide comment
@justincormack

justincormack Feb 2, 2017

Contributor
Contributor

justincormack commented Feb 2, 2017

@LK4D4

This comment has been minimized.

Show comment
Hide comment
@LK4D4

LK4D4 Feb 13, 2017

Contributor
Contributor

LK4D4 commented Feb 13, 2017

Fix linux mount calls not applying propagation type changes
Propagation type changes must be done as a separate call, in the
same way as read only bind mounts.

To fix this:
1. Ensure propagation type change flags aren't included in other calls.
2. Apply propagation type change in a separate call.

Also:
* Make it clear which parameters are ignored by passing them as empty.
* Add tests to ensure Mount options are applied correctly.

Fixes #30415

Signed-off-by: Steven Hartland <steven.hartland@multiplay.co.uk>
@justincormack

This comment has been minimized.

Show comment
Hide comment
@justincormack

justincormack Feb 15, 2017

Contributor

Windows failure unrelated and passed before comments changed.

Contributor

justincormack commented Feb 15, 2017

Windows failure unrelated and passed before comments changed.

@LK4D4

LK4D4 approved these changes Feb 15, 2017

LGTM

@LK4D4 LK4D4 merged commit d52350d into moby:master Feb 15, 2017

4 checks passed

dco-signed All commits are signed
experimental Jenkins build Docker-PRs-experimental 30793 has succeeded
Details
janky Jenkins build Docker-PRs 39396 has succeeded
Details
windowsRS1 Jenkins build Docker-PRs-WoW-RS1 10469 has succeeded
Details

@GordonTheTurtle GordonTheTurtle added this to the 1.14.0 milestone Feb 15, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment