Bug #58411
closedmds: a few simple operations crash mds
100%
Description
mount a cephfs with multiple active mds daemons on '/mnt/cephfs' and then do the following operations in order:
(1) create directorys 'target' and 'link'
mkdir /mnt/cephfs/{target,link}
(2) pinning 'target' to mds.0 and 'link' to mds.1
setfattr -n ceph.dir.pin -v 0 /mnt/cephfs/target && setfattr -n ceph.dir.pin -v 1 /mnt/cephfs/link
(3) create file 'test.txt' in directory 'target'
touch /mnt/cephfs/target/test.txt
(4) create a hard link for 'test.txt' in directory 'link'
ln /mnt/cephfs/target/test.txt /mnt/cephfs/link/test.txt
(5) truncate 'test.txt' by opening hard link
truncate -s 0 /mnt/cephfs/link/test.txt
The mds.1 will crash after the above operations and operation(5) will be blocked.
If a standby mds replaces the crashed mds as mds.1, it will also crash immediately.
To stop the endless crash, use 'ceph tell mds.0 client ls' to find the client
currently in use and 'ceph tell mds.0 client evict' to evict it, and then restart
the crashed mds daemons.