Seeking understanding of different file operation behavior between runc and runsc

24 views
Skip to first unread message

Jonathon Belotti

unread,
May 3, 2024, 11:17:08 AM5/3/24
to gVisor Users [Public]
Hey, 

I'm trying to understand a problem we're having with gVisor and mountpoint-s3


The above comment shows differing operations being made against a FUSE mount when using gVisor. In particular there's two OPEN operations for one openat syscall. 

I'm interesting in knowing which part(s) of the codebase I should read to understand why this is happening. 

Regards,

Jonathon


Ayush Ranjan

unread,
May 3, 2024, 4:15:45 PM5/3/24
to Jonathon Belotti, gVisor Users [Public]
Hi Jonathon,

I think this is a gVisor specific issue. I have responded to the GH issue in mountpoint-s3 repo. Can you open a gVisor issue. I can try looking into it.

--
You received this message because you are subscribed to the Google Groups "gVisor Users [Public]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gvisor-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gvisor-users/be6b4d97-60a6-4c26-9c50-daf33fb84a3an%40googlegroups.com.

--
Ayush Ranjan

Jamie Liu

unread,
May 7, 2024, 12:47:51 PM5/7/24
to Jonathon Belotti, gVisor Users [Public]
Hi Jonathon,

The invoker of the FUSE_OPEN operation is here: https://github.com/google/gvisor/blob/f67e10cf3866fe3a809c217ae0f47a9c47854ce1/pkg/sentry/fsimpl/fuse/inode.go#L261
In context (O_CREAT is set and the file exists) it should be called from here: https://github.com/google/gvisor/blob/f67e10cf3866fe3a809c217ae0f47a9c47854ce1/pkg/sentry/fsimpl/kernfs/filesystem.go#L637

At a glance, I don't understand why our FUSE client would be doing that either. Maybe an overlay filesystem is involved? Can you share at least the mounts in the container config, and what flags you're passing to runsc?

Thanks,
Jamie

Reply all
Reply to author
Forward
0 new messages