-
Notifications
You must be signed in to change notification settings - Fork 159
cmd/runtimetest/main.go: Unify validateMountsExist and validateMountsOrder #456
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
cmd/runtimetest/main.go: Unify validateMountsExist and validateMountsOrder #456
Conversation
0fa2a3b to
401f3b6
Compare
|
@Mashimiao had expected this unified approach to be long and complicated, but it ended up dropping over 20 lines even with the extra bookkeeping for |
401f3b6 to
60ab7ad
Compare
|
The changes are good, but I don't think something like |
…Order
Also increase the error message detail and continue through the
remaining mounts instead of breaking on the first missing/misordered
mount. Based on previous discussion in [1,2]. With this commit,
a configuration like:
"mounts": [
{
"destination": "/tmp",
"type": "tmpfs",
"source": "none"
},
{
"destination": "/tmp",
"type": "tmpfs",
"source": "none"
},
{
"destination": "/dev",
"type": "devtmpfs",
"source": "devtmpfs"
}
]
and mountinfo like:
$ grep -n '/dev \|/tmp ' /proc/self/mountinfo
2:19 17 0:6 / /dev rw,nosuid,relatime - devtmpfs devtmpfs rw,size=10240k,nr_inodes=2043951,mode=755
25:41 17 0:38 / /tmp rw,relatime - tmpfs none rw
will generate errors like:
* mounts[1] {/tmp tmpfs none []} does not exist
* mounts[2] {/dev devtmpfs devtmpfs []} mounted before mounts[0] {/tmp tmpfs none []}
Before this commit, the error was just:
* Mounts[1] /tmp is not mounted in order
I'd prefer errors like:
* mounts[1] {/tmp tmpfs none []} does not exist
* mounts[2] {/dev devtmpfs devtmpfs []} is system mount 1, while mounts[0] {/tmp tmpfs none []} is system mount 24
where grep reports 2 and 25 because it's counting from one, and
runtimetest reports 1 and 24 because it's counting from zero, but Ma
prefers to not mention the system-mount order [3].
[1]: opencontainers#444 (comment)
[2]: opencontainers#444 (comment)
[3]: opencontainers#456 (comment)
Signed-off-by: W. Trevor King <[email protected]>
60ab7ad to
bcb5379
Compare
|
On Thu, Aug 31, 2017 at 06:50:20AM +0000, Ma Shimiao wrote:
The changes are good, but I don't think something like `system mount
1` really make sense. we don't need to care about what it really
mounted number, we just need to care about if it is mounted in
order. And `system mount` is not easy understand. I think
`mounts[2] {/dev devtmpfs devtmpfs []} MUST be mounted in order
after mounts[0] {/tmp tmpfs none []}, but not` may be better.
I like the system mount order information (or I wouldn't have put it
in ;), but I don't feel that strongly about it. Removed in 60ab7ad →
bcb5379, so now the errors look like:
* mounts[1] {/tmp tmpfs none []} does not exist
* mounts[2] {/dev devtmpfs devtmpfs []} mounted before mounts[0] {/tmp tmpfs none []}
|
Also increase the error message detail and continue through the remaining mounts instead of breaking on the first missing/misordered mount. Based on previous discussion here and here. With this commit, a configuration like:
and mountinfo like:
will generate errors like:
Grep reports 2 and 25 because it's counting from one, and
runtimetestreports 1 and 24 because it's counting from zero.Before this commit, the error was just: