Opened 9 years ago

Last modified 9 years ago

#4691 new Bug

Deleting local data doesn't work when disk is full

Reported by: zaba Owned by: jordan
Priority: Normal Milestone: None Set
Component: libtransmission Version: 2.42
Severity: Normal Keywords:
Cc:

Description

Deleting local data moves files into a temporary directory before removing them. Unfortunately, that doesn't work when it can't create the temporary directory. I often remove things only when new downloads fail with "no space left on device", and trashing local data does not work in this case. It would be better if it did, because the current behavior is counter-intuitive and purpose-defeating.

Change History (6)

comment:1 Changed 9 years ago by livings124

What operating system are you using?

comment:2 Changed 9 years ago by zaba

I use linux (debian testing, with transmission 2.42 installed from experimental).

comment:3 Changed 9 years ago by livings124

  • Component changed from Transmission to GTK+ Client
  • Owner set to jordan

comment:4 Changed 9 years ago by jordan

  • Component changed from GTK+ Client to libtransmission

This is in tr_torrentDeleteLocalData() and affects all clients, not just the GTK+ client.

The local data deleter has been redesigned a couple of times now to handle other fun cases as described in the comment at the top of deleteLocalData(), and I hesitate to make the code even less readable to handle this use case... a frustrating situation to find oneself in, to be sure. But how often does it occur?

comment:5 Changed 9 years ago by zaba

As a programmer, I understand the motivation to keep the code clean. However, I find that such baffling, counter-intuitive behavior seriously affects usability, which is generally excellent in Transmission. It's one of the few actually usable open-source programs.

Also, consider the usage scenario with a single transmission-daemon in a LAN, where downloaded files are kept on a read-only SMB share. If the downloads fill up the filesystem, users have to wait for somebody who has write access to remove the files, which escalates the usability problem further.

comment:6 Changed 9 years ago by Opperpanter

Just ran into this issue also. The way this works is that I keep all torrents seeding, and from time to time I just remove a couple of the oldest. This time the disk was full before removing (&trashing) the torrents. Now the torrents themselves are removed from transmission, but still on disk. I have > 100 torrents, so now I'll have to rematch the files on disk with the torrents to see which files on disk are no longer being seeded by transmission.

Note: See TracTickets for help on using tickets.