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

pacific: mds: Fix the linkmerge assert check #52726

Merged
merged 1 commit into from Aug 17, 2023

Commits on Aug 1, 2023

  1. mds: Fix the linkmerge assert check

    Let's say there is a hardlink created as below.
    
    touch file1
    ln file1 hl_file1
    
    In this case 'file1' holds the primary inode and 'hl_file' holds
    the remote inode (holds primary inode number and other required info).
    Now, if the 'file1' is deleted first, it's moved to a stray directory
    and can't be deleted because the hardlink 'hl_file1' still exists
    which requires primary inode. So on straydn eval, this primary
    inode is linked to 'hl_file1 and remote inode is removed. This is called
    the linkmerge/stray reintegration. So in the linkmerge case, the srcdnl
    is primary straydn and the destdnl is the remote.
    
    Signed-off-by: Kotresh HR <khiremat@redhat.com>
    Fixes: https://tracker.ceph.com/issues/61879
    (cherry picked from commit 85279ac)
    kotreshhr committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    34e83cd View commit details
    Browse the repository at this point in the history