)]}'
{
  "commit": "df5e6223407e3e645065c4bd968fee007f0e0287",
  "tree": "d5027dc9645dea4a5536819ac98f4299757fff22",
  "parents": [
    "7ad8e4e6ae2a7c95445ee1715b1714106fb95037"
  ],
  "author": {
    "name": "Jan Kara",
    "email": "jack@suse.cz",
    "time": "Tue May 03 11:12:58 2011 -0400"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Tue May 03 11:12:58 2011 -0400"
  },
  "message": "ext4: fix deadlock in ext4_symlink() in ENOSPC conditions\n\next4_symlink() cannot call __page_symlink() with transaction open.\n__page_symlink() calls ext4_write_begin() which can wait for\ntransaction commit if we are running out of space thus causing a\ndeadlock. Also error recovery in ext4_truncate_failed_write() does not\ncount with the transaction being already started (although I\u0027m not\naware of any particular deadlock here).\n\nFix the problem by stopping a transaction before calling\n__page_symlink() (we have to be careful and put inode to orphan list\nso that it gets deleted in case of crash) and starting another one\nafter __page_symlink() returns for addition of symlink into a\ndirectory.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cadf04b924aadbd164e9e33da10b5089be665a7f",
      "old_mode": 33188,
      "old_path": "fs/ext4/namei.c",
      "new_id": "3c7a06e584693876315dbce91ae5ce444115eee8",
      "new_mode": 33188,
      "new_path": "fs/ext4/namei.c"
    }
  ]
}
