)]}'
{
  "commit": "e23d7e82b707d1d0a627e334fb46370e4f772c11",
  "tree": "58ddfd89a430ced9cf9c78c5db850376f27a60fb",
  "parents": [
    "39cd87c4eb2b893354f3b850f916353f2658ae6f"
  ],
  "author": {
    "name": "Andrey Albershteyn",
    "email": "aalbersh@redhat.com",
    "time": "Thu Mar 14 18:07:02 2024 +0100"
  },
  "committer": {
    "name": "Chandan Babu R",
    "email": "chandanbabu@kernel.org",
    "time": "Mon Apr 01 11:55:49 2024 +0530"
  },
  "message": "xfs: allow cross-linking special files without project quota\n\nThere\u0027s an issue that if special files is created before quota\nproject is enabled, then it\u0027s not possible to link this file. This\nworks fine for normal files. This happens because xfs_quota skips\nspecial files (no ioctls to set necessary flags). The check for\nhaving the same project ID for source and destination then fails as\nsource file doesn\u0027t have any ID.\n\nmkfs.xfs -f /dev/sda\nmount -o prjquota /dev/sda /mnt/test\n\nmkdir /mnt/test/foo\nmkfifo /mnt/test/foo/fifo1\n\nxfs_quota -xc \"project -sp /mnt/test/foo 9\" /mnt/test\n\u003e Setting up project 9 (path /mnt/test/foo)...\n\u003e xfs_quota: skipping special file /mnt/test/foo/fifo1\n\u003e Processed 1 (/etc/projects and cmdline) paths for project 9 with recursion depth infinite (-1).\n\nln /mnt/test/foo/fifo1 /mnt/test/foo/fifo1_link\n\u003e ln: failed to create hard link \u0027/mnt/test/testdir/fifo1_link\u0027 \u003d\u003e \u0027/mnt/test/testdir/fifo1\u0027: Invalid cross-device link\n\nmkfifo /mnt/test/foo/fifo2\nln /mnt/test/foo/fifo2 /mnt/test/foo/fifo2_link\n\nFix this by allowing linking of special files to the project quota\nif special files doesn\u0027t have any ID set (ID \u003d 0).\n\nSigned-off-by: Andrey Albershteyn \u003caalbersh@redhat.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\nSigned-off-by: Chandan Babu R \u003cchandanbabu@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ea48774f6b76d398bf6f9731145483751a4bf506",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_inode.c",
      "new_id": "d55b42b2480d6c53f3367e4453cc69c5b80c6870",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_inode.c"
    }
  ]
}
