Package: dirvish
Version: 1.2.1-1
Severity: normal
Tags: patch

If /etc/dirvish/dirvish-cronjob is used to mount an xfs filesystem for
the backup, it fails with this message:

[EMAIL PROTECTED]:~# /etc/dirvish/dirvish-cronjob 
/dirvish isn't inode 2 ?! Mount must have failed; stopping.

  File: `/dirvish'
  Size: 56              Blocks: 0          IO Block: 4096   directory
Device: 801h/2049d      Inode: 128         Links: 6
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2008-01-24 20:11:47.352157746 +0000
Modify: 2008-01-24 20:11:45.648091348 +0000
Change: 2008-01-24 20:11:45.648091348 +0000
mount output:
[EMAIL PROTECTED]:~# 

It's an xfs filesystem:

[EMAIL PROTECTED]:~# mount | grep /dirvish
/dev/sda1 on /dirvish type xfs (rw)

The script expects the root inode to be inode 2, but xfs filesystems
mount with inode 128 as the root. The attached simple patch allows
dirvish-cronjob to successfully use an xfs filesystem.

thanks,
Dave


-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-686
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

Versions of packages dirvish depends on:
ii  libtime-modules-perl         2003.1126-2 Various Perl modules for time/date
ii  libtime-period-perl          1.20-8      Perl library for testing if a time
ii  perl                         5.8.8-7     Larry Wall's Practical Extraction 
ii  perl-modules                 5.8.8-7     Core Perl modules
ii  rsync                        2.6.9-2     fast remote file copy program (lik

Versions of packages dirvish recommends:
ii  ssh                           1:4.3p2-9  Secure shell client and server (tr

-- no debconf information
--- dirvish-cronjob.orig        2008-01-24 20:22:59.000000000 +0000
+++ dirvish-cronjob     2008-01-24 20:23:20.000000000 +0000
@@ -21,7 +21,11 @@
                rm -f $mntout
                return 0 # ok
        fi
-       echo "$1 isn't inode 2 ?! Mount must have failed; stopping."
+       if stat $1 | grep 'Inode: 128[^0-9]' >/dev/null; then # ditto
+               rm -f $mntout
+               return 0 # ok
+       fi
+       echo "$1 isn't inode 2 or 128?! Mount must have failed; stopping."
        echo ''
        stat $1
        echo "mount output:"

Reply via email to