-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sockets don't work through mount #90
Comments
I don't know if there's a way to communicate the internal kernel state about how the socket is supposed to work through the nfs protocol |
Interestingly, if I try to start nc using the socket in the mount (so, |
It's probably because |
good catch. it should be reasonable straight forward to add that - i think the trick will be that the underlying billy fs interface also doesn't expose anything around this, so we'll need to add another optional interface for handlers to implement if they want to expose that on their filesystem implementation. |
Yes --- we could just copy the |
Do you have a sense of what the underlying system call should be when
|
I think i have a sketch of the expected backing behavior - working through it in https://github.com/willscott/go-nfs/tree/feat/mknod and will PR once ready. The rfc is pretty thin on details on the expected semantics of a created socket in particular, but this may be close enough |
the branch has a first pass at what seems like plausible for this code, and the if you can point me to concrete repro steps for things not working ("on ubuntu, make an nfs mount, run these lines, get error") i'll be able to get to fixing potential bugs in here faster |
Sorry, didn't see this till now: interestingly, you can't create just "hanging" sockets, but it looks like you figured something out. There are two reproducers: one, create a mount exposing a local directory --- Another reproducer: Do |
Updated the branch linked above. I was able to create a socket and a fifo over the mount locally at least. can you see if that gives you better behavior? |
It does seem to work now --- the second reproducer now leads to the expected behavior (I can connect and send messages back and forth). #91 is still an issue though, so sockets wasn't the issue. Thanks! |
Create socket with
nc -lkU test.sock
, then mount server on directory and try to connect to it withmount/test.sock
--- you getConnection refused
.This is on the same computer.
The text was updated successfully, but these errors were encountered: