• Sage Weil's avatar
    ceph: initialize client debugfs outside of monc->mutex · ab434b60
    Sage Weil authored
    Initializing debufs under monc->mutex introduces a lock dependency for
    sb->s_type->i_mutex_key, which (combined with several other dependencies)
    leads to an annoying lockdep warning.  There's no particular reason to do
    the debugfs setup under this lock, so move it out.
    
    It used to be the case that our first monmap could come from the OSD; that
    is no longer the case with recent servers, so we will reliably set up the
    client entry during the initial authentication.
    
    We don't have to worry about racing with debugfs teardown by
    ceph_debugfs_client_cleanup() because ceph_destroy_client() calls
    ceph_msgr_flush() first, which will wait for the message dispatch work
    to complete (and the debugfs init to complete).
    
    Fixes: #1940
    Signed-off-by: default avatarSage Weil <sage@newdream.net>
    ab434b60
ceph_common.c 14.1 KB