From the libtorrent-devel msg: LibTorrent 0.12.5 and rTorrent 0.8.5 released: * Add support for any number of custom download values identified by string keys. d.set_custom=key,value d.get_custom=key (returns "" if not set) d.get_custom_throw=key (returns error if not set) * With this patch, rtorrent will detect and complain about .torrent files with broken bencode representation (e.g. where the order of dictionary keys is not lexicographic). * Choose a different poll type using the RTORRENT_POLL env. variable (if it's implemented), probably only useful as RTORRENT_POLL=select. * Add the commands execute_capture and execute_capture_nothrow that work like their other counterparts but return the OUTPUT (stdout) of the given command. Note that the output is not modified in any way, in particular a trailing newline is NOT removed. To work around this, have the command write its output without it e.g. using echo -n. Also note that with execute_capture_nothrow there is no way to check if the command failed. Example usage: d.set_custom4=$execute_capture=handler.sh * Fixes the code that detects which peer was sending bad data. Peers are then automatically banned after sending three bad chunks. * Stops rtorrent from always creating and resizing ALL files, even those set to "off". Files will still be created, but with a size of zero, until a part of them is getting downloaded. This helps with filesystems that don't support sparse files (such as FAT, HFS+, and others). * Fix inefficient piece distribution due to linear chunk request strategy by randomizing position every few (on average 32) chunks, see ticket #190. * Enable custom throttles, both per-download or per-IP. See http://libtorrent.rakshasa.no/ticket/20 for info and instructions. * Fix crashes/errors due to rtorrent attempting to pass non-utf-8 strings to xmlrpc. === All patches above by Josef Drexler === * Added support for using posix_fallocate on newly resized files. * Include locally available chunks in the "chunks seen" statistics for completed/distributed copies. Patch by Josef Drexler. * Added 'd.get_bitfield' command for retrieving the bitfield in hex format. Patch by Thomas Rosner. * Fixed include headers for gcc-4.4.0. Patch by 'kloeri'. ---- I've renamed the ebuild, removed the headers's patch and added --with-posix-fallocat to econf. Works here on x86+glibc-2.10.1+XFS. Reproducible: Always
Created attachment 198779 [details] libtorrent ebuild
Created attachment 198781 [details] rtorrent ebuild
Please attach unified diffs (diff -u) when you did changes to an ebuild. That would be much more handy for our devs.
Created attachment 198836 [details, diff] Libtorrent patch
Created attachment 198839 [details, diff] rtorrent patch
I've downloaded a couple of big torrents with the 0.12.5 version compiled with --with-posix-fallocate and the fragmentation went from several hundreds of extents to one on an XFS partition. Please bump the version in portage
Done, and done. Thanks for testing!