arvidn / libtorrent

an efficient feature complete C++ bittorrent implementation

Home Page:http://libtorrent.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

file_error_alert - file_mmap with plan9 filesystem over virtio transport

kantlivelong opened this issue · comments

Please provide the following information

libtorrent version (or branch): libtorrent-rasterbar-2.0.9-r0 x86_64

platform/architecture: Alpine/amd64

application: Deluge running via Docker ( https://hub.docker.com/r/linuxserver/deluge )

compiler and compiler version:
Unsure

This seems like a similar issue to #6612 but with the plan9 filesystem using the virtio transport ( See https://www.kernel.org/doc/html/latest/filesystems/9p.html )

I've confirmed that this does not occur locally with ext4 or over NFS.

deluge  | 12:38:13 [DEBUG   ][deluge.core.alertmanager      :1622] file_error_alert: ubuntu-22.04.2-live-server-amd64.iso file_mmap (/mnt/storage/Temp/torrent/incomplete/ubuntu-22.04.2-live-server-amd64.iso) error: Invalid argument
deluge  | 12:38:13 [DEBUG   ][deluge.core.alertmanager      :1622] Handling alert: file_error_alert
deluge  | 12:38:13 [DEBUG   ][deluge.core.alertmanager      :1622] torrent_error_alert: ubuntu-22.04.2-live-server-amd64.iso ERROR: (22 Invalid argument) /mnt/storage/Temp/torrent/incomplete/ubuntu-22.04.2-live-server-amd64.iso

I tried seeing if there was any additional info supplied via pdbing Deluge and setting a breakpoint when it logs the error. Not much that I can see other than maybe the category code?

alert.error.message = "Invalid argument"
alert.error.value = 22
alert.error.category = 73
alert.what = "file_error"

output from mount:

storage on /mnt/storage type 9p (rw,relatime,sync,dirsync,access=client,posixacl,msize=512000,trans=virtio,_netdev)

I think I may just need to add the mount option cache=mmap but am not 100% sure if that's the right solution.

Seems to be working. Will close this out for now.