Hacker News new | ask | show | jobs
by jtl999 2186 days ago
Okay. I'm afraid to ask. What happens in the case of a) a torrent with no seeders or b) Has seeders with enough data to get a directory listing but either the seeders "drop off" afterwards or are incomplete

Other experiences with network filesystems (CIFS/NFS) on multiple platforms sometimes have things getting hairy if the connection to the server drops while the filesystem is mounted or in use

2 comments

Hi,

A quick glance at https://github.com/johang/btfs/blob/master/src/btfs.cc on line 190 reveals that no seeders would result in an infinite wait state: pthread_cond_wait(&signal_cond, &lock);

The author could mitigate this by automatically failing any reads where there are zero seeders and/or if the peer piece map does not contain the block.

I would be way more interested in this project if it downloaded normally in the background immediately after the torrent is added, and then downloaded specific bits as programs requested them. I haven't looked into the code base for this exactly but it says nothing about it in the Readme.

Otherwise, like you're describing, you could add a file and then go to read it a week later and be met with no seeders and thus no file when it could have been grabbed somewhere in between.

But maybe that extends beyond the capabilities of a file system?