With VxFS as the parent directory, command 'mount -a' fails to mount some of the child file systems specified in /etc/vfstab.

book

Article ID: 100003151

calendar_today

Updated On:

Description

Error Message

UX:vxfs mount: ERROR: V-3-21264: /dev/vx/dsk/alawdg/mp2 is already mounted, /alawdg/mp1/mp2 is busy, or the allowable number of mount points has been exceeded.

Cause

Command 'mount -a' is returning 'EBUSY' errors for some of the child's file systems. Command 'mount -a' will perform different mount operations in parallel whenever possible. The issue occurs when parallel mount operations are issued for all child file systems whose parent directory is a VxFS file system. The vfs_lock() routine is called during mount to take lock of the parent VxFS file system and it fails with EBUSY error for some mount operations. For the mounts that obtained the lock, the mount operations were completed successfully. For those who received EBUSY error the mount operation failed with above error.

 

Resolution

The fix is included in VxFS 5.1SP1RP1 through Etrack 1296491 as listed in the Supplemental Materials section of this article.   Please download the fix thorugh the Veritas Operation Readiness Tools (SORT) Website.

 

The following is a workaround if the required patch cannot be applied immediately.

1) Move original vxfs mount command at /usr/lib/fs/vxfs/mount to /usr/lib/fs/vxfs/mount.orig

# mv /usr/lib/fs/vxfs/mount /usr/lib/fs/vxfs/mount.orig

2)  Create a shell wrapper of /usr/lib/fs/vxfs/mount to serialize the  mount i.e create /usr/lib/fs/vxfs/mount with below contents:

#!/bin/ksh
while ! mkdir /tmp/myvxfsmount.lock 2> dev/null
do
      sleep 5
done
/usr/lib/fs/vxfs/mount.orig $@
sleep 1
rmdir /tmp/myvxfsmount.lock

3)  Add execute permission to this shell wrapper file
# chmod +x /usr/lib/fs/vxfs/mount
 

 

 

 

Applies To

VxFS 5.1RP2

Solaris

Issue/Introduction

When a VxFS file system is mounted as a parent directory, with multiple child mounts configured to mount on top of the parent directory an attempt to mount all file systems in vfstab with command 'mount -a', may fail. For example : /alawdg/mp1 is the VxFS file system parent mount point, and we want child mounts below on /alawdg/mp1 /alawdg/mp1/mp2
/alawdg/mp1/mp3
/alawdg/mp1/mp4
/alawdg/mp1/mp5
/alawdg/mp1/mp6
So for this we have the following vfstab setup: /dev/vx/dsk/alawdg/mp1 /dev/vx/rdsk/alawdg/mp1 /alawdg/mp1 vxfs 1 yes -
/dev/vx/dsk/alawdg/mp2 /dev/vx/rdsk/alawdg/mp2 /alawdg/mp1/mp2 vxfs 1 yes -
/dev/vx/dsk/alawdg/mp3 /dev/vx/rdsk/alawdg/mp3 /alawdg/mp1/mp3 vxfs 1 yes -
/dev/vx/dsk/alawdg/mp4 /dev/vx/rdsk/alawdg/mp4 /alawdg/mp1/mp4 vxfs 1 yes -
/dev/vx/dsk/alawdg/mp5 /dev/vx/rdsk/alawdg/mp5 /alawdg/mp1/mp5 vxfs 1 yes -
/dev/vx/dsk/alawdg/mp6 /dev/vx/rdsk/alawdg/mp6 /alawdg/mp1/mp6 vxfs 1 yes -
To mount these file systems at once, command 'mount -a' is issued. # mount -a

Additional Information

ETrack: 2150850 ETrack: 1296491