• Christoph Hellwig's avatar
    xfs: fix dentry aliasing issues in open_by_handle · ab596ad8
    Christoph Hellwig authored
    Open by handle just grabs an inode by handle and then creates itself
    a dentry for it.  While this works for regular files it is horribly
    broken for directories, where the VFS locking relies on the fact that
    there is only just one single dentry for a given inode, and that
    these are always connected to the root of the filesystem so that
    it's locking algorithms work (see Documentations/filesystems/Locking)
    
    Remove all the existing open by handle code and replace it with a small
    wrapper around the exportfs code which deals with all these issues.
    At the same time we also make the checks for a valid handle strict
    enough to reject all not perfectly well formed handles - given that
    we never hand out others that's okay and simplifies the code.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarDave Chinner <david@fromorbit.com>
    ab596ad8
xfs_ioctl.c 34.1 KB