mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
74a84259c5
When I try to write cases about mount shared subtrees test, I find I always need to do many mount operations, then then umount those mount point one by one. To make the code clear, I use a stack to save mounted points sequentially, then I write 3 common functions to operate this stack. 1. The global stack named MOUNTED_POINT_STACK 2. _get_mount() accepts mount parameters like _mount() does, but the mountpoint parameter must be the last one. It will run the mount operation and push the mountpoint name into stack. 3. _put_mount() doesn't need any parameter. It will pop the newest mountpoint name from the stack, and umount it. 4. _clear_mount_stack() doesn't need any parameter either. It will umount all mountpoints in the stack sequentially, and set MOUNTED_POINT_STACK="" Generally, the _clear_mount_stack() function also can be used as _init_mount_stack() at the beginning of a case. Because it will prepare an empty stack. [eguan: add comments and fix code style] Signed-off-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>