Skip to content

Conversation

@dargor
Copy link
Contributor

@dargor dargor commented Feb 13, 2017

Using docker 1.13.1 on a ppc64le host, running postgres (tried with 9.4 to 9.6) gives the following warning when trying to flush data to disks (which happens very frequently) :
WARNING: could not flush dirty data: Operation not permitted.

A quick dig in postgres source code indicate it uses sync_file_range(2) to flush data; which on ppe64le and arm64 is translated to sync_file_range2(2) for alignements reasons.

But docker does not allow sync_file_range2(2), making postgres sad because it can not flush its buffers. arm_sync_file_range(2) is an ancient alias to sync_file_range2(2), the syscall was renamed in Linux 2.6.22 when the same syscall was added for PowerPC.

This diff make postgres, docker and ppc64le great again.

@GordonTheTurtle GordonTheTurtle added dco/no Automatically set by a bot when one of the commits lacks proper signature status/0-triage labels Feb 13, 2017
@dargor dargor force-pushed the allow_sync_file_range2 branch from f10b99e to ddcfcc8 Compare February 13, 2017 13:35
@GordonTheTurtle GordonTheTurtle removed the dco/no Automatically set by a bot when one of the commits lacks proper signature label Feb 13, 2017
@cpuguy83
Copy link
Member

13:51:26 The result of go generate ./profiles/seccomp/ differs
13:51:26 
13:51:26  M profiles/seccomp/default.json
13:51:26 
13:51:26 Please re-run go generate ./profiles/seccomp/

ping @justincormack

@justincormack
Copy link
Contributor

justincormack commented Feb 13, 2017

Yes, you need to regenerate the JSON version with go generate... it is picky, it wants the final line ending the same as the script...

@justincormack
Copy link
Contributor

If you just remove the final line feed on the json perl -pi -e 'chomp if eof' profiles/seccomp/default.json should do it...

@justincormack
Copy link
Contributor

Other than that LGTM

@justincormack justincormack added this to the 1.13.2 milestone Feb 13, 2017
@cpuguy83
Copy link
Member

Please make sure to squash commits, thanks!

@dargor dargor force-pushed the allow_sync_file_range2 branch from 7084bb0 to 3d926d8 Compare February 13, 2017 16:09
@justincormack
Copy link
Contributor

Sorry, the CI is obstinately refusing to rebuild even though I poked it.

@justincormack
Copy link
Contributor

Ok, its rebuilding now should be good.

@tonistiigi
Copy link
Member

LGTM

@justincormack
Copy link
Contributor

Hmm, Janky still thinks that go generate ./profiles/seccomp/ needs to be run...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra commas here and line 642 seems to cause the validation issue.

@justincormack
Copy link
Contributor

Thanks!

@justincormack justincormack merged commit 3b5ed56 into moby:master Feb 15, 2017
@thaJeztah
Copy link
Member

@justincormack I tried cherry-picking this into the 1.13.x branch (for 17.03), but it didn't apply cleanly. If you want this into that branch, could you open a PR?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants