• Alexander Aring's avatar
    fs: dlm: remove ls_remove_wait waitqueue · 3872f87b
    Alexander Aring authored
    This patch removes the ls_remove_wait waitqueue handling. The current
    handling tries to wait before a lookup is send out for a identically
    resource name which is going to be removed. Hereby the remove message
    should be send out before the new lookup message. The reason is that
    after a lookup request and response will actually use the specific
    remote rsb. A followed remove message would delete the rsb on the remote
    side but it's still being used.
    
    To reach a similar behaviour we simple send the remove message out while
    the rsb lookup lock is held and the rsb is removed from the toss list.
    Other find_rsb() calls would never have the change to get a rsb back to
    live while a remove message will be send out (without holding the lock).
    
    This behaviour requires a non-sleepable context which should be provided
    now and might be the reason why it was not implemented so in the first
    place.
    Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
    Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
    3872f87b
lock.c 160 KB