GSD should not housekeep the thumbnails



Hey guys,

I'll try not to rant and stay constructive...

Since 2.23.1, gnome-settings-daemon contains a housekeeping plugin that
clean the .thumbnails. Even if it looks fair, it really makes the F-spot
usage awful to the point it's basically unusable.

The plugin does something like this:
- clean the thumbnails older than MAX_AGE (default to 60 days)
- clean the oldest thumbnails until the cache size is under MAX_SIZE
(default to 64MB)

A large thumbnail takes ~70K, meaning that it'll keep less than 1000
thumbs. By f-spot user standards, a collection with 1000 pictures is a
really small one, the (guessed) average sitting around 12k, and some
users are reporting some 50k images collection.

F-Spot is built to not rely on the thumbnail presence and regenerate
them once needed, but regenerating thousands of thumbnails takes hours,
slow the main loop, generate a lot of disk I/O, ...

As long as this plugin stays as is, we only have one choice available:
shout "fuck you standards" and  move our thumbs out of .thumbnails. But
I think we can figure out an arrangement:

1) the MAX_SIZE should be set to 0 by default, so the cleaning is only
done one the thumbs age
2) a) either change the comparison function to check for atime instead
of mtime
   b) or, at every f-spot startup, touch all the thumbs we could need

This means the housekeeping will housekeep way less (still eating user
disk space) and, for f-spot users a) images not accessed during the last
MAX_AGE will need to regenerate their thumbs or b) thumbs will only be
regenerated if you did not used f-spot in the last MAX_DAYS days.

Please do not underestimate this issue, as it affects more than f-spot,
as f-spot will continuously regenerate its thumbs, the other thumbs (pdf
on your desktop) will need to be regenerated every time too.

regards

Stephane

PS: looks like atime won't work for people caring about disk IO and
running with noatime

f-spot bug: http://bugzilla.gnome.org/show_bug.cgi?id=547190
g-s-d bug: http://bugzilla.gnome.org/show_bug.cgi?id=551944



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]