(p string)
| 28 | } |
| 29 | |
| 30 | func (f overlayFS) target(p string) fs.FS { |
| 31 | target := f.baseFS |
| 32 | for _, overlay := range f.overlays { |
| 33 | if strings.HasPrefix(path.Clean(p), overlay.Path) { |
| 34 | target = overlay.FS |
| 35 | break |
| 36 | } |
| 37 | } |
| 38 | return target |
| 39 | } |
| 40 | |
| 41 | func (f overlayFS) Open(p string) (fs.File, error) { |
| 42 | return f.target(p).Open(p) |