With VxFS as the parent directory, command 'mount -a' fails to mount some of the child file systems specified in /etc/vfstab.
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
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
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.
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.
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:
while ! mkdir /tmp/myvxfsmount.lock 2> dev/null
3) Add execute permission to this shell wrapper file
# chmod +x /usr/lib/fs/vxfs/mount
Related Knowledge Base Articles
Was this content helpful?
Rating submitted. Please provide additional feedback (optional):