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

Article: 100003151
Last Published: 2014-11-04
Ratings: 0 0
Product(s): InfoScale & Storage Foundation

Problem

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 to 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 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

 

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' error for some of the child file systems. Command 'mount -a' will perform different mount operations in parallel whenever possible. The issue occurs when parallel mount operation 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 completed successfully. For those who received EBUSY error the mount operation failed with above error.

 

Solution

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.

https://sort.Veritas.com/patch/matrix

 

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

References

Etrack : 1296491 Etrack : 2150850

Was this content helpful?