Hacker News new | ask | show | jobs
by sexyrouter 2684 days ago
I wonder why they don't use syncthing.

Can't we modify syncthing so that it becomes like a low latency shared filesystem and uses bitttorent as an underlying protocol.

Or is the bitorrent not fit for making a shared/distributed file system?

2 comments

> Can't we modify syncthing so that it becomes like a low latency shared filesystem and uses bitttorent as an underlying protocol.

Well... at that point you're writing new software, so you might as well start from the ground up with something actually designed for this use case, which provides support for things like live coherency, writeback and caching.

It's not easy to just make a program "become" low-latency. Syncthing is extremely high-latency to begin with, and is specifically not meant to be used as a real-time sync application which multiple applications can depend on for live coherency. This is the design of Syncthing. Same for bittorent. Tons of overhead due to the design of the system. For something like this which requires true low latency, there are just too many design decisions which would get in the way.

One major pain point about Syncthing in particular is that there isn't a very good way to maintain complete consistency between different OS environments. Syncing files from Linux which are not valid in Windows (name, metadata, etc) either causes filesystem corruption, reduces coherency between guests and host, or straight just drops incompatible files.

Try copying a file from Linux to Windows which has a trailing space. Windows will go bonkers and cannot delete or modify this file. You have to move it to a partition which you then delete.

I was so frustrated with using Syncthing that I gave up trying to make it useful.

You are implying that you want to store the data twice on the host and the guest. The proposed virtio-fs (and also the existing virtio-9p) is about passing through a subtree hierarchy stored on the host filesystem into the guest.