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

Re: [Bacula-devel] win32 restore warning on german umlauts


On Tuesday 14 October 2008 15:22:03 Ulrich Leodolter wrote:
> On Mon, 2008-10-13 at 16:42 +0200, Kern Sibbald wrote:
> > On Monday 13 October 2008 15:45:23 Ulrich Leodolter wrote:
> > > Hello,
> > >
> > > Today i have built a winbacula-2.5.14.exe (README.mingw32)
> > > from svn trunk.  There was one issue in
> > > bacula/src/win32/installer/winbacula.nsi,
> > > looks like winbacula.nsi is not adapted to new manuals.
> >
> > Yes, we still build it with the old manual.
> >
> > > After removing the DocumentationGroup from winbacula.nsi
> > > the installer build succeeds.
> > >
> > > After installing winbacula-2.5.14.exe into my VirtualBox Windose
> > > (XP SP3) i've run a new Full Backup (using Accurate = yes),
> > > this job succeeds without problems.
> > >
> > > Then i've run a full restore into C:/bacula-restores.
> > > this job also terminates OK and number of restored files
> > > is identical to previous full backup.
> > >
> > > But there are a lots of warnings on files and directories
> > > using german umlauts.
> >
> > I suspect that either your Director is not setup to run UTF-8 (see the
> > manual), or you have some other strange configuration problem -- e.g.
> > perhaps you are not using VSS, though that really should not matter ...
>
> Hello,
>
> I looked a bit closer at the Warning messages and started bacula-fd.exe
> with debug level 200.
>
> 1) Warning messages are limited to directories containing umlauts at
> least in one path part.  Files inside such directories are restored
> without warnings.  So this is a first hint.
>
> 2) I've attached a restore log for one directory (cut from
> bacula-fd.trace)
>
> There u can see 2 messages like:
>
> FindFirstFile(C:.../): Das System kann die angegebene Datei nicht finden
>
> Maybe the trailing (back)slash should be removed before calling
> FindFirstFile.
>
> The msdn Documentation of FindFirstFile says:
> lpFileName [in]
>
>         The directory or path, and the file name, which can include
>         wildcard characters, for example, an asterisk (*) or a question
>         mark (?).
>
>         This parameter should not be NULL, an invalid string (for
>         example, an empty string or a string that is missing the
>         terminating null character), or end in a trailing backslash (\).
>
>
> Thanks
> Ulrich
>
> > > All warnings look like this:
> > >
> > > 13-Oct 15:10 leodolter-win-fd JobId 4274:
> > > Warning: ../../findlib/mkpath.c:75 Cannot change permissions of
> > > C:/bacula-restores/C/Dokumente und Einstellungen/All Users/Startmenü:
> > > ERR=No such file or directory
> > > 13-Oct 15:10 leodolter-win-fd JobId 4274:
> > > Warning: ../../findlib/mkpath.c:75 Cannot change permissions of
> > > C:/bacula-restores/C/Dokumente und Einstellungen/All
> > > Users/Startmenü/Programme/Autostart: ERR=No such file or directory
> > >
> > >
> > > Is it a WARNING, an ERR or a BUG ?
> >
> > A warning is a warning, a "minor" but not critical error.

I just took another look at this, and perhaps I now understand what is going 
on, and if I am right the problem should exist on all Bacula versions. 

The way Bacula restores directories is if you have explicitly backed up a path 
directory, Bacula will use BackupWrite() to create the path during a restore, 
providing you are putting it back into the existing tree (i.e. restoring it 
to the same place).  If you are restoring it to a different location, or if 
you did not explicitly select the directory item to be restored, Bacula will 
have to create a sort of "dummy" directory to put the file in.  In that case, 
I believe that it uses simple standard APIs (not the Wide character) APIs to 
create the directory entries, and in that case, it is going to have problems.

I believe that this is documented (particularly the premissions problems) in 
the Win32 chapter of the manual.  I am not sure if it talks about accented 
characters.

Possibly one work around for this problem, as is already documented in the 
manual, would be for you to create all these "weird" directories prior to 
doing the restore.  If they pre-exist, then quite possibly Bacula will be 
able to correctly use them (though I have some doubts here).

Another work around, that may or may not be possible is to copy any existing 
directories that you want to restore to some other place for safekeeping, 
then do a restore without specifying a "where" i.e. directly to the original 
locations.  I suspect that will work

Regards,

Kern


> >
> > Regards,
> >
> > Kern
> >
> > > Thanks
> > > Ulrich
> > >
> > >
> > >
> > > -----------------------------------------------------------------------
> > >-- 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=/
> > > _______________________________________________
> > > Bacula-devel mailing list
> > > Bacula-devel@xxxxxxxxxxxxxxxxxxxxx
> > > https://lists.sourceforge.net/lists/listinfo/bacula-devel



-------------------------------------------------------------------------
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=/
_______________________________________________
Bacula-devel mailing list
Bacula-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/bacula-devel


This mailing list archive is a service of Copilotco.