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: fix issuing redundant reintegrate/migrate_stray requests #53280

Merged
merged 2 commits into from
Oct 20, 2023

Commits on Sep 21, 2023

  1. mds: record the internal client request and receive client reply

    This will be used to avoid possible multiple reintegration issue
    later.
    
    Fixes: https://tracker.ceph.com/issues/62702
    Signed-off-by: Xiubo Li <xiubli@redhat.com>
    lxbsz committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    723c1b7 View commit details
    Browse the repository at this point in the history
  2. mds: fix issuing redundant reintegrate/migrate_stray requests

    Just in case a CInode's nlink is 1, and then a unlink request comes
    and then early replies and submits to the MDLogs, but just before
    the MDlogs are flushed a link request comes, and the link request
    also succeeds and early replies to client.
    
    Later when the unlink/link requests' MDLog events are flushed and
    the callbacks are called, which will fire a stray denty reintegration.
    But it will pick the new dentry, which is from the link's request
    and is a remote dentry, to do the reintegration. While in the
    'rename' code when traversing the path it will trigger to call the
    'dn->link_remote()', which later will fire a new stray dentry
    reintegration.
    
    The problem is if the first 'rename' request is retried several
    times, and in each time it will fire a new reintegration, which
    makes no sense and maybe blocked for a very long time dues to some
    reasons and then will be reported as slow request warning.
    
    Fixes: https://tracker.ceph.com/issues/62702
    Signed-off-by: Xiubo Li <xiubli@redhat.com>
    lxbsz committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    53d9e65 View commit details
    Browse the repository at this point in the history