Regarding the source code of transmission 2.03 (from the Transmission website)
I think I found the source files and the functions where the problem occurs.


The share ratio seems to be calculated in
./libtransmission/torrent.c    Line 1027

When I got this right s->downloadedEver is sent to the function tr_getRatio() when s->downloadedEver is not 0. Otherwise s->haveValid is sent to tr_getRatio().

In the first case mentioned in my post above where transmission tells me that I downloaded nothing from the torrent data
s->downloadedEver and s->haveValid had to be 0.


s->haveValid gets its value a few lines of code above by the function tr_cpHaveValid() which is defined in ./libtransmission/completion.h and implemented in ./libtransmission/completion.c Line 292.


When I assigned the already downloaded files to the torrent
it might be that ccp->haveValidIsDirty isn't set to true
and because of that ccp->haveValidLazy is returned (and seems to be 0)
instead of recalculating haveValidLazy by calculateHaveValid().


In the second case mentioned in my previous post I think that s->downloadedEver isn't set to the new amount of data
after assigning existing data to the torrent.


----
I forgot to mention in my previous post that I stopped the torrents before assigning the already existing data to the torrents and then asked transmission to check the local data. After that I started the torrents again.
----


Best Regards

Moritz Strohm



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to