Commit 9520c192 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'xfs-6.9-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull xfs fix from Chandan Babu:

 - Allow creating new links to special files which were not associated
   with a project quota

* tag 'xfs-6.9-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  xfs: allow cross-linking special files without project quota
parents 119c2894 e23d7e82
...@@ -1301,9 +1301,20 @@ xfs_link( ...@@ -1301,9 +1301,20 @@ xfs_link(
*/ */
if (unlikely((tdp->i_diflags & XFS_DIFLAG_PROJINHERIT) && if (unlikely((tdp->i_diflags & XFS_DIFLAG_PROJINHERIT) &&
tdp->i_projid != sip->i_projid)) { tdp->i_projid != sip->i_projid)) {
/*
* Project quota setup skips special files which can
* leave inodes in a PROJINHERIT directory without a
* project ID set. We need to allow links to be made
* to these "project-less" inodes because userspace
* expects them to succeed after project ID setup,
* but everything else should be rejected.
*/
if (!special_file(VFS_I(sip)->i_mode) ||
sip->i_projid != 0) {
error = -EXDEV; error = -EXDEV;
goto error_return; goto error_return;
} }
}
if (!resblks) { if (!resblks) {
error = xfs_dir_canenter(tp, tdp, target_name); error = xfs_dir_canenter(tp, tdp, target_name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment