The code path is "open4_ex -> fsal_open2 -> mdcache_open2 -> _mdcache_kill_entry -> cih_remove_checked -> _mdcache_lru_unref". In this code path, open4_ex() acquires file_obj->state_hdl->state_lock but entry->fsobj.hdl.no_cleanup is NOT set. I haven't looked at coredump for more details, but based on the backtrace, this seems to a possible issue. state_hdl lock and no_cleanup could co-ordinate, meaning set the no_cleanup bit with every lock acquisition... Any other approach instead of fixing everyone of code paths...
Regards, Malahal.