mds: retry remounting in ceph-fuse on dcache invalidation
Right now, failure in remounting on dcache invalidation results in the following crash:
1: (()+0x6d1ff4) [0x55f21052fff4]
2: (()+0x11390) [0x7f7f92e11390]
3: (gsignal()+0x38) [0x7f7f91b9d428]
4: (abort()+0x16a) [0x7f7f91b9f02a]
5: (Client::_do_remount()+0x303) [0x55f2100ee8a3]
6: (Context::complete(int)+0x9) [0x55f2100f0bb9]
7: (Finisher::finisher_thread_entry()+0x460) [0x55f21015bbd0]
8: (()+0x76ba) [0x7f7f92e076ba]
9: (clone()+0x6d) [0x7f7f91c6f41d]
This was seen in luminous but exists in master too. errno returned is 12, but mount(3) return codes are ORed (Thanks Patrick).
For the fix -- its best to not abort and retry the remount operation. Also, fix how errno is interpreted in this case.