Jason A. Kates <jason <at> kates.org> writes:

> 
> My backup was working fine and is working fine with the older file
> daemons.
> 
> The / file system on this client is a ext3 file system running on a:
> "Red Hat Enterprise Linux Server release 5.7 (Tikanga)" system.
> 
> As you can see from the backup output it thinks that the file system
> time is "rootfs"
> 26-Jan 17:04 bacula1-sd JobId 186151: Ready to append to end of Volume
> "CA3401L4" at file=878.
> 26-Jan 17:04 bacula1.cmpnet.com JobId 186151: Top level directory "/"
> has unlisted fstype "rootfs"
> 26-Jan 17:04 bacula1-sd JobId 186151: Job write elapsed time = 00:00:01,
> Transfer rate = 0  Bytes/second
> 26-Jan 17:04 bacula1-sd JobId 186151: Sending spooled attrs to the
> Director. Despooling 0 bytes ...
> 26-Jan 17:04 bacula1-dir JobId 186151: Bacula bacula1-dir 5.2.5
> (26Jan12):
> 
> This is the file set (with a little editing):
> FileSet {
>         Name = "LINUX_ALL_LOCAL_FS"
>         Include {
>                 Options {
>                         signature = MD5;
>                         xattrsupport=yes;
>                         onefs=no;
>                         fstype=ext2
>                         fstype=jfs
>                         fstype=reiserfs
>                         fstype=ufs
>                         fstype=xfs
>                         fstype=vxfs
>                         }
>           File = /
>               }
>         Exclude  {
>                 File= /var/spool/bacula/Drive-0
>               File= /proc
>               .....
>         }
> }
> 

First of all this is something that is probably already the case
in 5.2.2 as the changes to the mntent cache code went into that
version already on which the fstype detection is build when running Linux.

Nowadays we tend to rescan /proc/mounts every now and then
to be sure we don't miss certain filesystems which are
mounted after the filed has started. That is the hart of the
change that went into 5.2.2

Other then that I have seen this before and to be honest Bacula
is right for doing this as indeed a rootfs type is mounted as
your root filesystem first.

Most people don't think about this much but Linux tends
to first mount a filesystem what it calls rootfs on the
root (as we get our info from /proc/mount that is the
first filesystem to mention a certain dev_t binding
which we use to determine the type of filesystem mounted)

I just pushed a patch that adds a skiplist that skips
rootfs entries for Linux. 

The actual commit text explains what is actual happening:

====================================================================
Skip certain filesystem types on some platforms.

On Linux the actual rootfs gets mounted over an initial
rootfs. The mountcache on Linux is populated with the
content of /proc/mounts and as such it will contain 2
entries for the rootfs. So when the fstype function
is used to lookup the type of filesystem based on
the dev_t value it will always find the rootfs first.
But people expect to find either ext2, ext3 etc.
so we added a table with per OS (currently only Linux)
the filesystem which should NOT be loaded into the
internal lookup table.
====================================================================

This patch should be in git when it get pushed outside you can then
pickup the patch from there.

Marco


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to