[Box Backup] Bug fix - don't die on lstat failure
Joe Krahn
boxbackup@fluffy.co.uk
Mon, 13 Dec 2004 13:12:35 -0500
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