From 61f97083c63bfc0636235c4bd9e4aa586478bf20 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Tue, 8 Feb 2022 17:07:29 -0500 Subject: idmap should be able to be specified along with other options [NO NEW TESTS NEEDED] crun is not available everywhere to test idmap. Kernel might not be recent enough and not all file systems support idmap option. Signed-off-by: Daniel J Walsh --- pkg/util/mountOpts.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/util/mountOpts.go b/pkg/util/mountOpts.go index f32cf6ea6..d8b14c0df 100644 --- a/pkg/util/mountOpts.go +++ b/pkg/util/mountOpts.go @@ -25,7 +25,7 @@ type defaultMountOptions struct { // The sourcePath variable, if not empty, contains a bind mount source. func ProcessOptions(options []string, isTmpfs bool, sourcePath string) ([]string, error) { var ( - foundWrite, foundSize, foundProp, foundMode, foundExec, foundSuid, foundDev, foundCopyUp, foundBind, foundZ, foundU, foundOverlay bool + foundWrite, foundSize, foundProp, foundMode, foundExec, foundSuid, foundDev, foundCopyUp, foundBind, foundZ, foundU, foundOverlay, foundIdmap bool ) newOptions := make([]string, 0, len(options)) @@ -49,9 +49,10 @@ func ProcessOptions(options []string, isTmpfs bool, sourcePath string) ([]string case "O": foundOverlay = true case "idmap": - if len(options) > 1 { - return nil, errors.Wrapf(ErrDupeMntOption, "'O' option can not be used with other options") + if foundIdmap { + return nil, errors.Wrapf(ErrDupeMntOption, "the 'idmap' option can only be set once") } + foundIdmap = true case "exec", "noexec": if foundExec { return nil, errors.Wrapf(ErrDupeMntOption, "only one of 'noexec' and 'exec' can be used") -- cgit v1.2.3-54-g00ecf