Mounting /ipns/ has negative consequences (one can't use ipfs name publish) so option to mount only /ipfs/ or /ipns in read only mode would be beneficial.
Can you describe what happens when you try to ipfs name publish while /ipns is mounted?
I'm unable to repro: I can still publish properly with /ipns mounted.
when you run a publish while you have ipns mounted, the updated value doesnt propogate to the fuse code.
Is the solution then to have a workaround (this issue) or would it make more sense to have the changes propagate to the mounted fuse FS? (I ask this with no notion of how non-trivial it is.)
having changes propogate to the fuse mount is non-trivial and not the solution we're going to go for
the thing we want for this issue is essentially ipfs mount --ipns=/ipns only mount /ipns, and ipfs mount --ipfs=/ipfs only mount /ipfs
We should also either disable ipfs name publish when /ipns is mounted with write privileges, or at very least warn.
Yeah, i totally thought that ipfs name publish was disabled while the mount was active... thats a bug
For what it's worth I have an implementation that separates the mount options via their namespace and was looking to speak with someone about restrictions like these. I can imagine having a shared locking mechanism that allows the mount to be active without (permanently) preventing things like publishing, so long as the systems share the same path lock. (basically just have the mount hold a lock for a key if it's in use, and if not allow publish while blocking specific operations on the mount temporarily)
While this mechanism is in place, the stability of the actual (new) mount implementation is still in progress. This shows off some of the flexibility of it though
https://www.youtube.com/watch?v=IBRLt_ibct8
allowing to dynamically mount and unmount various APIs the node understands to various places on various operating systems using various backing apis (like fuse, winfsp, and 9p). Lots of variety...