[Ocfs2-devel] [PATCH 0/1] test case for patch 1/1
Heming Zhao
heming.zhao at suse.com
Wed Jun 8 10:48:07 UTC 2022
=== test cases ====
<1> remount on local node for cluster env
mount -t ocfs2 /dev/vdb /mnt
mount -t ocfs2 /dev/vdb /mnt <=== failure
mount -t ocfs2 -o nocluster /dev/vdb /mnt <=== failure
<2> remount on local node for nocluster env
mount -t ocfs2 -o nocluster /dev/vdb /mnt
mount -t ocfs2 /dev/vdb /mnt <=== failure
mount -t ocfs2 -o nocluster /dev/vdb /mnt <=== failure
<3> remount on another node for cluster env
node2:
mount -t ocfs2 /dev/vdb /mnt
node1:
mount -t ocfs2 /dev/vdb /mnt <== success
umount
mount -t ocfs2 -o nocluster /dev/vdb /mnt <== failure
<4> remount on another node for nocluster env
node2:
mount -t ocfs2 -o nocluster /dev/vdb /mnt
node1:
mount -t ocfs2 /dev/vdb /mnt <== failure
mount -t ocfs2 -o nocluster /dev/vdb /mnt <== success, see below comment
<5> simulate after crash status for cluster env
(below all steps did on node1. node2 is unmount status)
mount -t ocfs2 /dev/vdb /mnt
dd if=/dev/vdb bs=1 count=8 skip=76058624 of=/root/slotmap.cluster.mnted
umount /mnt
dd if=/root/slotmap.cluster.mnted of=/dev/vdb seek=76058624 bs=1 count=8
mount -t ocfs2 -o nocluster /dev/vdb /mnt <== failure
mount -t ocfs2 /dev/vdb /mnt && umount /mnt <== clean slot 0
mount -t ocfs2 -o nocluster /dev/vdb /mnt <== success
<6> simulate after crash status for nocluster env
(below all steps did on node1. node2 is unmount status)
mount -t ocfs2 -o nocluster /dev/vdb /mnt
dd if=/dev/vdb bs=1 count=8 skip=76058624 of=/root/slotmap.nocluster.mnted
umount /mnt
dd if=/root/slotmap.nocluster.mnted of=/dev/vdb seek=76058624 bs=1 count=8
mount -t ocfs2 /dev/vdb /mnt <== failure
mount -t ocfs2 -o nocluster /dev/vdb /mnt && umount /mnt <== clean slot 0
mount -t ocfs2 /dev/vdb /mnt <== success
-----
For test case <4>, the kernel job is done, but there still left
userspace work todo.
In my view, mount.ocfs2 needs add double confirm for this scenario.
current style:
```
# mount -t ocfs2 -o nocluster /dev/vdb /mnt && umount /mnt
Warning: to mount a clustered volume without the cluster stack.
Please make sure you only mount the file system from one node.
Otherwise, the file system may be damaged.
Proceed (y/N): y
```
I plan to change as:
```
# mount -t ocfs2 -o nocluster /dev/vdb /mnt && umount /mnt
Warning: to mount a clustered volume without the cluster stack.
Please make sure you only mount the file system from one node.
Otherwise, the file system may be damaged.
Proceed (y/N): y
Warning: detect volume already mounted as nocluster mode.
Do you mount this volume on another node?
Please confirm you want to mount this volume on this node.
Proceed (y/N): y
```
Heming Zhao (1):
ocfs2: fix ocfs2_find_slot repeats alloc same slot issue
fs/ocfs2/dlmglue.c | 3 ++
fs/ocfs2/ocfs2_fs.h | 3 ++
fs/ocfs2/slot_map.c | 70 ++++++++++++++++++++++++++++++++++++---------
3 files changed, 62 insertions(+), 14 deletions(-)
--
2.34.1
More information about the Ocfs2-devel
mailing list