Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mds: set the correct WRLOCK flag always in wrlock_force() #57085

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Commits on May 8, 2024

  1. mds: set the correct WRLOCK flag always in wrlock_force()

    The wrlock is not like the xlock, which needs to be acquired in
    the CInode's auth always, and it is based on the CDir's auths instead.
    
    When a remote_wrlock is acquired and the local MDS will add a lock
    item and marks it as REMOTE_WRLOCK. And later when the local MDS try
    to force wrlock in the emplace_lock() will just return the existing
    lock item without updating the WRLOCK flag. So when cleaning the
    requests later it will just release the remote locks and then removes
    lock items directly, which will miss releasing the local wrlock
    reference.
    
    Fixes: https://tracker.ceph.com/issues/65630
    Signed-off-by: Xiubo Li <xiubli@redhat.com>
    lxbsz committed May 8, 2024
    Configuration menu
    Copy the full SHA
    9a6f249 View commit details
    Browse the repository at this point in the history