GNOME Bugzilla – Bug 100444
full disk will cause ALL settings to be erased
Last modified: 2004-12-22 21:47:04 UTC
The other bug I reported was just related to the filters being erased but this time, accidently moved files to the home partition and it ended up being 99% full. The result was ALL of pans settings were erased, servers, perferences, filters, profiles. Checking the files many were zero. Pan defaulted to the welcoming screen asking for a server setup. It "remembered" the what was in the queue but then promptly erased that too.
I don't think there is any way around this for flat text config files.
in 99937 I suggested redundant backup of the config files. I can tell you it a bitch just downloading all the headers not to mention reconstructing filters. I did make backups of the filters from last time so redundancy will save someone a lot of grief. Something as simple as a backup directory of the config data not to be directly access and only copied in case the main config files are lost or corrupted. When the files suddenly disappear checks for errors (i.e. disk full almost full) should be done and pan should refuse to start until it is corrected.
A rather simple solution to prevent full disk errors, have a user define threshold. A pan specific quota function. Once exceeded, pan flags the partition as full and will not try to repeat or download more data. Plus the redundant backup.
I'm not sure that it makes sense to have redundant copies of header/group information, but backing up newsrc, config files, filters, scores, and rules seems like an easy/sensible idea.
*** Bug 98136 has been marked as a duplicate of this bug. ***
*** Bug 99937 has been marked as a duplicate of this bug. ***
Fixed in CVS: http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/identities&command=DIFF_FRAMESET&file=identity-xml.c&rev1=1.20&rev2=1.21&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/filters&command=DIFF_FRAMESET&file=filter-xml.c&rev1=1.36&rev2=1.37&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/base&command=DIFF_FRAMESET&file=util-file.h&rev1=1.14&rev2=1.15&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/base&command=DIFF_FRAMESET&file=util-file.c&rev1=1.40&rev2=1.41&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/base&command=DIFF_FRAMESET&file=pan-config.c&rev1=1.28&rev2=1.29&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/base&command=DIFF_FRAMESET&file=newsrc-port.c&rev1=1.20&rev2=1.21&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/base&command=DIFF_FRAMESET&file=file-grouplist.c&rev1=1.36&rev2=1.37&root=/cvs/gnome 2003-03-14 Charles Kerr <charles@rebelbase.com> (Datafile Backups) * pan/base/util-file.c (pan_file_swap_datafile): utility for moving a temporary file into a real datafile location. Any previous real datafile is backed up, and if the temporary -> real substitution fails, the datafile is restored from the backup. * pan/base/file-grouplist.c (save_groups_to_file): sync. * pan/base/newsrc-port.c (newsrc_export): sync. * pan/filters/filter-xml.c (filter_xml_write): sync. * pan/identities/identity-xml.c (identity_xml_write): sync. * pan/base/util-file.c (pan_file_write_datafile): utility wrapper around pan_file_swap_datafile() for files small enough to hold in memory. Pass the memory to pan_file_write_datafile(), which will write it to a temporary file and invoke pan_file_swap_datafile(), so that the caller doesn't have to mess with the tempfile. * pan/base/pan-config.c (pan_config_save): sync.