)]}'
{
  "commit": "359f392ca53e9122cafa5fc103545558b0b85d54",
  "tree": "d7baa13c1a31c58967cbe46503ac6763a214d9e2",
  "parents": [
    "54fb347e836faadaed2a5617fb4dd4a4597d0490"
  ],
  "author": {
    "name": "Amir Goldstein",
    "email": "amir73il@gmail.com",
    "time": "Wed Jun 21 15:28:41 2017 +0300"
  },
  "committer": {
    "name": "Miklos Szeredi",
    "email": "mszeredi@redhat.com",
    "time": "Tue Jul 04 22:03:17 2017 +0200"
  },
  "message": "ovl: lookup index entry for copy up origin\n\nWhen inodes index feature is enabled, lookup in indexdir for the index\nentry of lower real inode or copy up origin inode. The index entry name\nis the hex representation of the lower inode file handle.\n\nIf the index dentry in negative, then either no lower aliases have been\ncopied up yet, or aliases have been copied up in older kernels and are\nnot indexed.\n\nIf the index dentry for a copy up origin inode is positive, but points\nto an inode different than the upper inode, then either the upper inode\nhas been copied up and not indexed or it was indexed, but since then\nindex dir was cleared. Either way, that index cannot be used to indentify\nthe overlay inode.\n\nIf a positive dentry that matches the upper inode was found, then it is\nsafe to use the copy up origin st_ino for upper hardlinks, because all\nindexed upper hardlinks are represented by the same overlay inode as the\ncopy up origin.\n\nSet the INDEX type flag on an indexed upper dentry. A non-upper dentry\nmay also have a positive index from copy up of another lower hardlink.\nThis situation will be handled by following patches.\n\nIndex lookup is going to be used to prevent breaking hardlinks on copy up.\n\nSigned-off-by: Amir Goldstein \u003camir73il@gmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23d64d51f331b68464fd0cdac207a1b1b5510abf",
      "old_mode": 33188,
      "old_path": "fs/overlayfs/inode.c",
      "new_id": "35bb956af8e8a2e1c0aa13d66ada81458774cf3b",
      "new_mode": 33188,
      "new_path": "fs/overlayfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "0c816e9aa50c0337cf434da61bd1b192dbe4a06e",
      "old_mode": 33188,
      "old_path": "fs/overlayfs/namei.c",
      "new_id": "3bec4cb39967804450504bb3da85339a9efebe09",
      "new_mode": 33188,
      "new_path": "fs/overlayfs/namei.c"
    },
    {
      "type": "modify",
      "old_id": "58bbd135a7b3a64b3eb998f33973431da159a93a",
      "old_mode": 33188,
      "old_path": "fs/overlayfs/overlayfs.h",
      "new_id": "437a0301e1b6d9c829e9828023bc17adfcfcf7fe",
      "new_mode": 33188,
      "new_path": "fs/overlayfs/overlayfs.h"
    }
  ]
}
