ZVOL/ZFS hosting UFS filesystems ... ERROR!

Scot Hetzel swhetzel at gmail.com
Mon Aug 13 06:35:00 PDT 2007


On 8/13/07, Gary Jennejohn <gary.jennejohn at freenet.de> wrote:
> On Mon, 13 Aug 2007 15:05:30 +0800
> "Wilkinson, Alex" <alex.wilkinson at dsto.defence.gov.au> wrote:
>
> >     0n Mon, Aug 13, 2007 at 01:50:32AM -0500, Scot Hetzel wrote:
> >
> >     >On 8/13/07, Wilkinson, Alex <alex.wilkinson at dsto.defence.gov.au>
> wrote:
> >     >> Currently when boostrapping I get the following error:
> >     >>
> >     >>   "Can't stat /dev/zvol/data_dg/export/ufs
> >     >>    Unknown error; help!
> >     >>    ERROR: ABORTING BOOT (sending SIGTERM to parent)!"
> >     >>
> >     >> And I drop into single user mode.
> >     >>
> >     >> The line causing this in fstab(5) is:
> >     >>
> >     >>    /dev/zvol/data_dg/export/ufs /export/mod ufs   rw,acls  1  1
> >     >>
> >     >> Can anyone recommend how I can get around this ?
> >     >>
> >     >Try using:
> >     >
> >     >    /dev/zvol/data_dg/export/ufs /export/mod ufs   rw,acls,late  1  1
> >     >
> >     >I had a similar problem, except I was mounting UFS filesystems
> >     >(/dev/ad0s2d) on to a mount point that was in a ZFS filesystem.  When
> >     >I added the 'late' option, I nolonger saw messages that the mount
> >     >point didn't exist.
> >
> > Unfortuneately the 'late' option does not help. Exact same problem as I
> have
> > described above with 'late' included in fstab(5). :-(
> >
> > I am dropped into single user mode, then I have to:
> >
> >   #/etc/rc.d/hostid start
> >   #/etc/rc.d/zfs start
> >   #mount /export/mod
> >   #^D
> >
> > And THEN all is good. OR set "noauto" in fstab(5) for /export/mod
> >
> > :-(
> >
>
> Add this line to /boot/loader.conf (if it's already there then I can't help
> you):
>
> zfs_load="YES"
>
If this doesn't work add the following to /etc/rc.d/zfs start_main so
that it will mount the zfs volumes after the module has been loaded:

        # Mount ZVOLs with property org.freebsd:late=on.
        zfs list -H -o org.freebsd:late,name -t volume | \
        while read state name; do
                case "${state}" in
                [oO][nN])
                        mount /dev/zvol/${name}
                        ;;
                esac
        done

Edit /etc/fstab to add noauto to each ZVOLs, and then add the
"org.freebsd:late" attribute to each ZVOLs:

zfs set org.freebsd:late=on data_dg/export/ufs

Scot
-- 
DISCLAIMER:
No electrons were mamed while sending this message. Only slightly bruised.


More information about the freebsd-current mailing list