Veritas InfoScale 8.0 Update 1 Release Notes - Linux
Hang seen while running CFS Conformance -> mount "parallel_nested_mount" test [4085140]
While performing two or more mount (of vxfs file system) operations in parallel, underneath an already existing vxfs mount point, if a force unmount is attempted on the parent vxfs mount point, then sometimes the forced unmount operation hangs permanently.
Here are the steps when the issue may occur.
- Create the following file systems:
fs1 on dev1
fs2 on dev2
fs3 on dev3
- Mounts fs1 from dev1 on mnt1
- Creates two subdir /mnt1/dir1 and /mnt1/dir2
- Then initiate mounts of fs2 and fs3 in parallel and in background under /mnt1:
# mount -t vxfs /dev/vx/dsk/tdg/vol2 /mnt1/dir1 > /dev/null 2>&1 &
# mount -t vxfs /dev/vx/dsk/tdg/vol3 /mnt1/dir2 > /dev/null 2>&1 &
- Initiate a force unmount of fs1 (ie unmount -f /mnt1 >).
- It is expected that all FS gets unmounted. As part of parent forced unmount, the child FS must also get unmounted. All FS do get unmounted as expected, but in some cases, the unmount on parent gets stuck and hang is seen.
Since the parent mount point has mount points underneath, the kernel should internally attempt unmount by calling sb->put_super of the child FS. In this case, kernel does not call sb->put_super for one of the child mount point.
Due to this there remains an active reference count on the directory (corresponding to child mount point which was not unmounted) and parent unmount cannot be completed leading to system hang.
Workaround: There is no resolution for this issue. If the issue occurs, reboot the system.