[Box Backup] Bug fix - don't die on lstat failure

Joe Krahn boxbackup at fluffy.co.uk
Mon Dec 13 18:12:35 GMT 2004


I found why I had problems getting my home directory backed up.
If bbackupd get a bad result of lstat(), it aborts.

In my case, the problem is actually from having a DVD .ISO file.
Files greater than 4GB in size fail with stat; they need stat64.
So, stat64() support is worth adding.

But, it should also not abort the whole backup run due to one bad stat 
call. It's better to just skip the item for which fstat failed by 
chaning BackupClientDirectoryRecord.cpp from:

   if(::lstat(filename.c_str(), &st) !=
   {
        TRACE1("Stat failed for '%s' (contents)\n", filename.c_str());
        THROW_EXCEPTION(CommonException, OSFileError)
   }

to:

      if(::lstat(filename.c_str(), &st) !=
   {
        TRACE1("Stat failed for '%s' (contents)\n", filename.c_str());
   }
   else
   {
      ...
   }


Joe Krahn



More information about the Boxbackup mailing list