mirror of
https://github.com/containers/podman.git
synced 2025-06-20 09:03:43 +08:00
Merge pull request #6443 from SCHEN2015/combine_ro_readonly
Combine the code of dealing with 'readonly' and 'ro'.
This commit is contained in:
@ -209,36 +209,21 @@ func getBindMount(args []string) (spec.Mount, error) {
|
|||||||
switch kv[0] {
|
switch kv[0] {
|
||||||
case "bind-nonrecursive":
|
case "bind-nonrecursive":
|
||||||
newMount.Options = append(newMount.Options, "bind")
|
newMount.Options = append(newMount.Options, "bind")
|
||||||
case "readonly", "read-only":
|
case "readonly", "ro", "rw":
|
||||||
if setRORW {
|
|
||||||
return newMount, errors.Wrapf(optionArgError, "cannot pass 'readonly', 'ro', or 'rw' options more than once")
|
|
||||||
}
|
|
||||||
setRORW = true
|
|
||||||
switch len(kv) {
|
|
||||||
case 1:
|
|
||||||
newMount.Options = append(newMount.Options, "ro")
|
|
||||||
case 2:
|
|
||||||
switch strings.ToLower(kv[1]) {
|
|
||||||
case "true":
|
|
||||||
newMount.Options = append(newMount.Options, "ro")
|
|
||||||
case "false":
|
|
||||||
// RW is default, so do nothing
|
|
||||||
default:
|
|
||||||
return newMount, errors.Wrapf(optionArgError, "readonly must be set to true or false, instead received %q", kv[1])
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
return newMount, errors.Wrapf(optionArgError, "badly formatted option %q", val)
|
|
||||||
}
|
|
||||||
case "ro", "rw":
|
|
||||||
if setRORW {
|
if setRORW {
|
||||||
return newMount, errors.Wrapf(optionArgError, "cannot pass 'readonly', 'ro', or 'rw' options more than once")
|
return newMount, errors.Wrapf(optionArgError, "cannot pass 'readonly', 'ro', or 'rw' options more than once")
|
||||||
}
|
}
|
||||||
setRORW = true
|
setRORW = true
|
||||||
// Can be formatted as one of:
|
// Can be formatted as one of:
|
||||||
|
// readonly
|
||||||
|
// readonly=[true|false]
|
||||||
// ro
|
// ro
|
||||||
// ro=[true|false]
|
// ro=[true|false]
|
||||||
// rw
|
// rw
|
||||||
// rw=[true|false]
|
// rw=[true|false]
|
||||||
|
if kv[0] == "readonly" {
|
||||||
|
kv[0] = "ro"
|
||||||
|
}
|
||||||
switch len(kv) {
|
switch len(kv) {
|
||||||
case 1:
|
case 1:
|
||||||
newMount.Options = append(newMount.Options, kv[0])
|
newMount.Options = append(newMount.Options, kv[0])
|
||||||
@ -253,7 +238,7 @@ func getBindMount(args []string) (spec.Mount, error) {
|
|||||||
newMount.Options = append(newMount.Options, "ro")
|
newMount.Options = append(newMount.Options, "ro")
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return newMount, errors.Wrapf(optionArgError, "%s must be set to true or false, instead received %q", kv[0], kv[1])
|
return newMount, errors.Wrapf(optionArgError, "'readonly', 'ro', or 'rw' must be set to true or false, instead received %q", kv[1])
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return newMount, errors.Wrapf(optionArgError, "badly formatted option %q", val)
|
return newMount, errors.Wrapf(optionArgError, "badly formatted option %q", val)
|
||||||
|
Reference in New Issue
Block a user