Bug #227
closedcaps flush races with caps export
0%
Description
This leads to sync hanging.
relevant log on the client side:
Jun 23 23:54:58 uml kernel: [ 482.100000] ceph: caps.c:1385 : inode 0000000065055270 now flushing seq 5689
Jun 23 23:54:58 uml kernel: [ 482.100000] ceph: caps.c:1096 : __send_cap 0000000065055270 cap 0000000065021bb8 session 000000006ffd4240 pAsxLsXsxFsxcrwb > pAsxLsXsxFsxcrwb (revoking -) 000000006fe5ed68 to mds0 784=client_caps len 176+0+0 -----
Jun 23 23:54:58 uml kernel: [ 482.100000] ceph: caps.c:1139 : cap_flush_tid 1
Jun 23 23:54:58 uml kernel: [ 482.100000] ceph: caps.c:933 : send_cap_msg update 1cf3 10000000db4 caps pAsxLsXsxFsxcrwb wanted Fcb dirty AxFxw seq 1/1 mseq 0 follows 1 size 3135/3135 xattr_ver 0 xattr_len 0
Jun 23 23:54:58 uml kernel: [ 482.100000] ceph: messenger.c:2002 : ----
...
Jun 23 23:54:59 uml kernel: [ 482.850000] ceph: caps.c:2741 : op import ino 10000000db4.fffffffffffffffe inode 0000000065055270
...
Jun 24 00:00:00 uml kernel: [ 660.450000] ceph: mds_client.c:1211 : check_cap_flush still flushing 0000000065055270 seq 5689 <= 32328 to mds0
log on the mds side:
10.06.23_16:54:58.002410 418aa950 -- 10.0.1.245:6802/7461 <== client4104 10.0.1.202:0/13390511 12304 ==== client_caps(update ino 10000000db4 7411 seq 1 caps=pAsxLsXsxFsxcrwb dirty=AxFxw wanted=Fcb follows 1 size 3135/3135 mtime 10.01.18_10:23:35.000000 tws 2) ==== 176+0+0 (172349719 0 0) 0x7f7554264050
...
10.06.23_16:54:58.632868 418aa950 -- 10.0.1.245:6802/7461 --> 10.0.1.202:0/13390511 -- client_caps(export ino 10000000db4 7411 seq 1 caps=pAsxLsXsxFsxcrwb dirty=- wanted=pAsxXsxFxwb follows 0 size 0/0 mtime 0.000000) v1 -- ?+0 0x2472660
Updated by Yehuda Sadeh almost 14 years ago
There are multiple issues, one is that if we have pending caps on old session, we need to flush those caps in the new one. Another problem is when we first get the export message and then the import message we later on don't clean up the cap flushing session related stuff.
Updated by Sage Weil over 13 years ago
- Target version changed from v2.6.36 to v2.6.37