• Ilya Dryomov's avatar
    libceph: set global_id as soon as we get an auth ticket · 03af4c7b
    Ilya Dryomov authored
    Commit 61ca49a9 ("libceph: don't set global_id until we get an
    auth ticket") delayed the setting of global_id too much.  It is set
    only after all tickets are received, but in pre-nautilus clusters an
    auth ticket and the service tickets are obtained in separate steps
    (for a total of three MAuth replies).  When the service tickets are
    requested, global_id is used to build an authorizer; if global_id is
    still 0 we never get them and fail to establish the session.
    
    Moving the setting of global_id into protocol implementations.  This
    way global_id can be set exactly when an auth ticket is received, not
    sooner nor later.
    
    Fixes: 61ca49a9 ("libceph: don't set global_id until we get an auth ticket")
    Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
    03af4c7b
auth.c 15.8 KB