BackupPC-users

Re: [BackupPC-users] Backupc_nightly doesn't clean pool

2008-11-21 04:01:24
Subject: Re: [BackupPC-users] Backupc_nightly doesn't clean pool
From: Tino Schwarze <backuppc.lists AT tisc DOT de>
To: backuppc-users AT lists.sourceforge DOT net
Date: Fri, 21 Nov 2008 09:59:16 +0100
On Thu, Nov 20, 2008 at 06:01:02PM -0300, Cesar Voulgaris wrote:
> Actually there is no permission problems and all is in the same filesystem
> /var/lib/backuppc is mounted in a disk. in fact when creating the partials
> backups with suficient space, Backuppc_nightly deletes correctly  the aged
> backups. The problem arises when my disk surpasses 95% of total space. Does
> backuppc needs space (more than 5% or 12 Gb aprox) to do the cpool cleanup? I
> deleted backups from backuppc_dir/pc/#backup. When I run manually
> /usr/share/backuppc/BackupPC_nightly -m 0 255 (witout other jobs running!) it
> clear the cpool. Only my cpool is ocupied no pool dir, ¿Any ideas?

That sounds exactly like the problem I had a few months ago. It's a
glitch with IO::Dirent since XFS does not return type attributes. On
startup, BackupPC tests, whether "." returns type attributes, then
assumes, that IO::Dirent works okay.

The following patch to lib/BackupPC/Lib.pm makes it work again:
--- /tmp/BackupPC-3.1.0/lib/BackupPC/Lib.pm 2007-11-26 04:00:07.000000000 +0100
+++ Lib.pm  2008-04-17 10:54:30.193901879 +0200
@@ -72,7 +72,7 @@
 
 BEGIN {
     eval "use IO::Dirent qw( readdirent DT_DIR );";
-    if ( !$@ && opendir(my $fh, ".") ) {
+    if ( !$@ && opendir(my $fh, "/YOUR_BACKUPPC_TOPDIR_HERE") ) {
         #
         # Make sure the IO::Dirent really works - some installs
         # on certain file systems don't return a valid type.
@@ -485,10 +485,12 @@
 
     from_to($path, "utf8", $need->{charsetLegacy})
                         if ( $need->{charsetLegacy} ne "" );
-    return if ( !opendir(my $fh, $path) );
+    my ($fh);
+    return if ( !opendir($fh, $path) );
+
     if ( $IODirentOk ) {
         @entries = sort({ $a->{inode} <=> $b->{inode} } readdirent($fh));
-        map { $_->{type} = 0 + $_->{type} } @entries;   # make type numeric
+        map { $_->{type} = 0 + $_->{type}; $_->{type} = undef if ($_->{type} 
eq BPC_DT_UNKNOWN); } @entries;   # make type numeric, unset unknown types
     } else {
         @entries = map { { name => $_} } readdir($fh);
     }


What kind of file system do you use?

HTH,

Tino.

-- 
"What we nourish flourishes." - "Was wir nähren erblüht."

www.lichtkreis-chemnitz.de
www.craniosacralzentrum.de

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

<Prev in Thread] Current Thread [Next in Thread>