mds: a few simple operations crash mds
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'
(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'
(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.
#1 Updated by Venky Shankar 2 months ago
- Category set to Correctness/Safety
- Status changed from New to Triaged
- Assignee set to Zhansong Gao
- Backport set to pacific,quincy
- Labels (FS) crash added
#2 Updated by Zhansong Gao about 2 months ago
This bug will only be triggered in kernel client and ceph-fuse client doesn't have this problem.