)]}'
{
  "commit": "b928095b0a7cff7fb9fcf4c706348ceb8ab2c295",
  "tree": "3fb6e68aabf7f0fbb9a28be6423942311c67cee0",
  "parents": [
    "0f33be009b89d2268e94194dc4fd01a7851b6d51"
  ],
  "author": {
    "name": "Miklos Szeredi",
    "email": "mszeredi@suse.cz",
    "time": "Wed Sep 24 17:56:17 2014 +0200"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Fri Sep 26 21:16:42 2014 -0400"
  },
  "message": "shmem: fix nlink for rename overwrite directory\n\nIf overwriting an empty directory with rename, then need to drop the extra\nnlink.\n\nTest prog:\n\n#include \u003cstdio.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cerr.h\u003e\n#include \u003csys/stat.h\u003e\n\nint main(void)\n{\n\tconst char *test_dir1 \u003d \"test-dir1\";\n\tconst char *test_dir2 \u003d \"test-dir2\";\n\tint res;\n\tint fd;\n\tstruct stat statbuf;\n\n\tres \u003d mkdir(test_dir1, 0777);\n\tif (res \u003d\u003d -1)\n\t\terr(1, \"mkdir(\\\"%s\\\")\", test_dir1);\n\n\tres \u003d mkdir(test_dir2, 0777);\n\tif (res \u003d\u003d -1)\n\t\terr(1, \"mkdir(\\\"%s\\\")\", test_dir2);\n\n\tfd \u003d open(test_dir2, O_RDONLY);\n\tif (fd \u003d\u003d -1)\n\t\terr(1, \"open(\\\"%s\\\")\", test_dir2);\n\n\tres \u003d rename(test_dir1, test_dir2);\n\tif (res \u003d\u003d -1)\n\t\terr(1, \"rename(\\\"%s\\\", \\\"%s\\\")\", test_dir1, test_dir2);\n\n\tres \u003d fstat(fd, \u0026statbuf);\n\tif (res \u003d\u003d -1)\n\t\terr(1, \"fstat(%i)\", fd);\n\n\tif (statbuf.st_nlink !\u003d 0) {\n\t\tfprintf(stderr, \"nlink is %lu, should be 0\\n\", statbuf.st_nlink);\n\t\treturn 1;\n\t}\n\n\treturn 0;\n}\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0e5fb225007c519a27b680673160011bd74dd445",
      "old_mode": 33188,
      "old_path": "mm/shmem.c",
      "new_id": "469f90d56051984c674f395042029ea737608d5b",
      "new_mode": 33188,
      "new_path": "mm/shmem.c"
    }
  ]
}
