diff options
Diffstat (limited to 'container/vfs/unfold.go')
| -rw-r--r-- | container/vfs/unfold.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/container/vfs/unfold.go b/container/vfs/unfold.go index ca0e37b7..d63f0a9f 100644 --- a/container/vfs/unfold.go +++ b/container/vfs/unfold.go @@ -4,9 +4,14 @@ import ( "iter" "path" "strings" - "syscall" ) +type UnfoldTargetError string + +func (e UnfoldTargetError) Error() string { + return "mount point " + string(e) + " never appeared in mountinfo" +} + // MountInfoNode positions a [MountInfoEntry] in its mount hierarchy. type MountInfoNode struct { *MountInfoEntry @@ -65,7 +70,8 @@ func (d *MountInfoDecoder) Unfold(target string) (*MountInfoNode, error) { } if targetIndex == -1 { - return nil, syscall.ESTALE + // target does not exist in parsed mountinfo + return nil, &DecoderError{Op: "unfold", Line: -1, Err: UnfoldTargetError(targetClean)} } for _, cur := range mountinfo { |
