diff options
author | Jamie Liu <jamieliu@google.com> | 2021-02-24 12:59:08 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-02-24 13:00:59 -0800 |
commit | 303c913c5e0e6f0bac766970d9ed19c08aabb980 (patch) | |
tree | d5df28fd5b511141e23afa92af6dcd4efc29887e /pkg/sentry/fsimpl/tmpfs/filesystem.go | |
parent | fcd4ff4fca31e3c594b30aff6b008e7af4c7c1a5 (diff) |
Use mapped device number + topmost inode number for all files in VFS2 overlay.
Before this CL, VFS2's overlayfs uses a single private device number and an
autoincrementing generated inode number for directories; this is consistent
with Linux's overlayfs in the non-samefs non-xino case. However, this breaks
some applications more consistently than on Linux due to more aggressive
caching of Linux overlayfs dentries.
Switch from using mapped device numbers + the topmost layer's inode number for
just non-copied-up non-directory files, to doing so for all files. This still
allows directory dev/ino numbers to change across copy-up, but otherwise keeps
them consistent.
Fixes #5545:
```
$ docker run --runtime=runsc-vfs2-overlay --rm ubuntu:focal bash -c "mkdir -p 1/2/3/4/5/6/7/8 && rm -rf 1 && echo done"
done
```
PiperOrigin-RevId: 359350716
Diffstat (limited to 'pkg/sentry/fsimpl/tmpfs/filesystem.go')
0 files changed, 0 insertions, 0 deletions