← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 671906] Re: Files with hashes to avoid rehashing (files on network disk)

 

DC++ rehashes files only when path or filedate/time/timezone changed. If
you add a share in \\SHAREHOST\SharedFolder\ format, whatever the host
IP address changes to, files should not be rehashed (or there's a bug
somewhere). (I mean the situation when SHAREHOST is a samba hostname not
the IP address itself of course)

What if you map \\SHAREHOST\SharedFolder\ to a network drive with a fix
drive letter and share the drive (X:\)?

Your solution is not acceptable because 
1. most users won't accept spamming hash files into their folders and 
2. you (we) should have find out why those rehashes occour as they shouldn't have to

** Changed in: dcplusplus
       Status: New => Incomplete

-- 
Files with hashes to avoid rehashing (files on network disk)
https://bugs.launchpad.net/bugs/671906
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.

Status in DC++: Incomplete

Bug description:
When sharing files located on a network disk I encounter the problem of frequent rehashing of files due to IP address change or device being turned off and on again while DC++ is on. I think that solution to this would be putting files with hash values of the shared files in their folder. Those files would override the need to hash files before adding them to the filelist.


example share:

----------------
\\SHAREHOST\SharedFolder\
--------
BigFile.file
linuxDVD.iso


By creating hashes of files on \\sharehost and placing them there I know those are hashes of those files exactly and I can skip hashing them when reattaching the device. Those 'static' hash files could be named in a manner:
BigFile.file.dctthfile,
linuxDVD.iso.dctthfile
and would not be shared (filtered by DC++) (optional)

It would be useful for big files and archives that don't change often or don't change at all and are located on network drives, removable media and network share in a network with changing IP addresses.


What if one of those files changed? User trying to download it wold probably get TTH inconsistency, but that's just the same if I changed any of the files and didn't refresh my filelist.

(optional) Possible additional feature: Assume 'Alice' sharing with 'static' hash files and 'Bob' trying to download one of them.
- Bob's DC gets TTH inconsistency and informs Alice's DC which part of which file it is referring to
- Alice's DC checks this information and in case it's true removes this file from share (since it cannot hash it as there is override in place hash file revocation system may be introduced (e.g. special flag set) but it's not necessary)
- in case that Information turns out false Alice's DC ignores Bob sending any other information about TTH inconsistency temporarily (1h or increasing amounts if repeated)


In other words: DC++ should:
- be able to create mentioned files containing necessary hash values on demand
- use the values instead of hashing files again
- ignore (not show in share) the hash files. (possible to set in options)


JB





References