savecore: no dump device configured

compiled by Doug Hughes

So, you've done every infodoc srdb thing you can think of and you still get savecore: no dump device configured. Why? I've found a problem with /etc/rcS.d/S85vxvm-startup2. Not sure if anybody has noticed or reported this before.
swapdev=
get_swapdev()
{
        dumpvol=
        exec < /etc/vfstab
        while read dev rdev mpoint fstype more
        do
                case $fstype in
                swap)
                        case $dev in
                        /dev/vx/dsk/rootdg/*)
                                dumpvol="`expr "\$dev" : \
                                        '/dev/vx/dsk/rootdg/\(.*\)'`"
                                ;;
                        /dev/vx/dsk/*)
                                dumpvol="`expr "\$dev" : \
                                                '/dev/vx/dsk/\(.*\)'`"
                                ;;
                        esac
                        break
                        ;;
                esac
        done

the above little routine, which ostensibly is trying to map your swap device into a dump device (there's lots more complicated and gnarly scripts further down in vxvm include files - some that will map to a dumpvol if you have one defined on your system), has a bit of a problem. If you are like me, when you build your vfstab, you like to save the original non-vx devices at the top of the vfstab, like this:

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr          ufs     1       yes     -
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
#/dev/dsk/c1t0d0s1      -       -       swap    -       no      -
#/dev/dsk/c1t0d0s0      /dev/rdsk/c1t0d0s0      /       ufs     1       -       -
#/dev/dsk/c1t0d0s6      /dev/rdsk/c1t0d0s6      /usr    ufs     1       -       -
#/dev/dsk/c1t0d0s5      /dev/rdsk/c1t0d0s5      /var    ufs     1       -       -
/dev/vx/dsk/swapvol     -       -       swap    -       no      -
/dev/vx/dsk/rootvol     /dev/vx/rdsk/rootvol    /       ufs     1       -       logging
/dev/vx/dsk/var         /dev/vx/rdsk/var        /var    vxfs    1       -       -

What happens, is, the above script looks for the first occurrence of fstype swap in vfstab, commented or not, and then does the switch match on it, sees that it doesn't match the /dev/vx pattern, and then sets dumpvol to `' and exits. Then, you get the message soon after (if you're like me, you get it twice. ;) If you have a dumpvol configured, some logic a little further down in the same file will use that instead.

user fix:
make sure you don't have that commented line near the top of your file, or if you do, change the 'swap' keyword in column 4 to something else so it isn't matched

Veritas fix:
(if somebody watching from veritas could submit this as a bug fix)
        dumpvol=
        exec < /etc/vfstab
        while read dev rdev mpoint fstype more
        do
                if echo $dev | egrep '^#'  > /dev/null 2>&1
                then
                        continue
                fi
                case $fstype in
                swap)

		...
The only other magic little thing you need to do is
# touch /etc/vx/.dumpadm (see sun srdb 44420)

also, if not existing:
# mkdir -p /etc/vx/reconfig.d/saveconf.d/etc
(not mentioned in the srdb, but should be)