Opened 12 years ago

Closed 12 years ago

#1966 closed Enhancement (fixed)

Too many Xfs extents with preallocation:1

Reported by: 103450 Owned by: charles
Priority: Low Milestone: 1.60
Component: libtransmission Version: 1.51
Severity: Minor Keywords: xfs, preallocation, extents, linux, gtk
Cc:

Description

Starting in version 1.50 and onward my XFS (version 2) filesystem creates 2000+ extents for a small 200 MB file even with preallocation on. Obviously with larger Gig-size files the extents are exponential. Preallocation is set to 1 in settings.json.

If I use transmission v1.42 I don't have this problem(ex. 1 Extent per file). It would be handy to have a little gui tab for the different types of file allocation methods, if there are any. Is this a regression,bug,or just a part of the new design? Thanks.

Currently using the nightly Ubuntu builds (gtk client).

Change History (8)

comment:1 Changed 12 years ago by livings124

  • Milestone changed from 1.60 to None Set

Are you sure this is a problem with Transmission and not the operating system.

Also, please don't set milestones without patches.

comment:2 Changed 12 years ago by 103450

Sorry first time writing a trac ticket.

No, I don't believe it's a system or xfs problem. Even with full allocation(preallocation:2 setting) it doesn't help the matter. Same behavior. Other xfs users would have to help me confirm this which is a long shot,so guess I'll just live with it as it is.

comment:3 follow-up: Changed 12 years ago by charles

  • Milestone changed from None Set to 1.60
  • Owner set to charles
  • Status changed from new to assigned
  • Type changed from Bug to Enhancement

http://linux.die.net/man/3/xfsctl

xfs has run-time checks that can be used to see if a FS is xfs or not, and has its own preallocation function. It doesn't look like it would be too painful to get this into the next release.

103450: will you be able to test this feature in the nightly builds when it gets added? I don't have an xfs system handy to test with.

comment:4 in reply to: ↑ 3 ; follow-up: Changed 12 years ago by 103450

Replying to charles:

http://linux.die.net/man/3/xfsctl

xfs has run-time checks that can be used to see if a FS is xfs or not, and has its own preallocation function. It doesn't look like it would be too painful to get this into the next release.

103450: will you be able to test this feature in the nightly builds when it gets added? I don't have an xfs system handy to test with.

I found out that the problem seems to lie with the gtk-gui not having a selection for file writing behavior (ie. None,Fast,Full). If I set preallocation:2 (Full) in ~/.config/transmission/settings.json it gets overwritten with preallocation:1 on startup. It also affects things like "upload-slots-per-torrent" which I can set to 20 but gets overwritten with 14 on startup. The simple solution was just to make the settings.json READ-ONLY. The Full preallocation works like it should without any extent problems even with large (ex.1.5 gig) files.

comment:5 in reply to: ↑ 4 ; follow-up: Changed 12 years ago by charles

Replying to 103450:

I found out that the problem seems to lie with the gtk-gui not having a selection for file writing behavior (ie. None,Fast,Full). If I set preallocation:2 (Full) in ~/.config/transmission/settings.json it gets overwritten with preallocation:1 on startup.

Is this the behavior in the latest nightly builds?? If so there is a regression somewhere. Please update to a new build, test it out, and let me know how it goes.

comment:6 in reply to: ↑ 5 Changed 12 years ago by 103450

Replying to charles:

Replying to 103450:

I found out that the problem seems to lie with the gtk-gui not having a selection for file writing behavior (ie. None,Fast,Full). If I set preallocation:2 (Full) in ~/.config/transmission/settings.json it gets overwritten with preallocation:1 on startup.

Is this the behavior in the latest nightly builds?? If so there is a regression somewhere. Please update to a new build, test it out, and let me know how it goes.

Going by tonight's build (build 2689 ?) it doesn't show the overwriting behavior anymore. I'm trying to find a way to trigger it but it hasn't happened yet. So there must have been a change that helped from the 2685 build March 31st. I'm looking for relevant changes/etc in http://build.transmissionbt.com/ ->trunk-linux-inc if this is what the Ubuntu build is based on.

I'm using the 9.04 Beta which is stll getting updates so maybe it was something in the updates/packages and not Transmission's fault. I'll keep an eye on it.

comment:7 Changed 12 years ago by charles

  • Component changed from Transmission to libtransmission
  • Version changed from 1.50+ to 1.51

explicit xfs allocation added in trunk (for 1.60) in r8142.

comment:8 Changed 12 years ago by charles

  • Resolution set to fixed
  • Status changed from assigned to closed

I've confirmed that trunk is not overwriting the preallocation setting. If this was a problem before, it was probably fixed by the changes to tr_sessionSaveSettings in r8097.

Since XFS preallocation has been added, and since the preallocation setting is confirmed to stick, I'm going to mark this ticket as fixed.

Note: See TracTickets for help on using tickets.