)]}'
{
  "commit": "6552321831dce87ff5c466a55b58d472732caadc",
  "tree": "84f3de7b89690c84fd13e2efa7a85d4918d342e3",
  "parents": [
    "f8319483f57f1ca22370f4150bb990aca7728a67"
  ],
  "author": {
    "name": "Christoph Hellwig",
    "email": "hch@lst.de",
    "time": "Wed Nov 30 14:33:25 2016 +1100"
  },
  "committer": {
    "name": "Dave Chinner",
    "email": "david@fromorbit.com",
    "time": "Wed Nov 30 14:33:25 2016 +1100"
  },
  "message": "xfs: remove i_iolock and use i_rwsem in the VFS inode instead\n\nThis patch drops the XFS-own i_iolock and uses the VFS i_rwsem which\nrecently replaced i_mutex instead.  This means we only have to take\none lock instead of two in many fast path operations, and we can\nalso shrink the xfs_inode structure.  Thanks to the xfs_ilock family\nthere is very little churn, the only thing of note is that we need\nto switch to use the lock_two_directory helper for taking the i_rwsem\non two inodes in a few places to make sure our lock order matches\nthe one used in the VFS.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nTested-by: Jens Axboe \u003caxboe@fb.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ab266d66124da0381b9b5669eec5fe47d1e3d707",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_aops.c",
      "new_id": "e8f6c2bcd4a4f861c9b7319caf69d8208043d567",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_aops.c"
    },
    {
      "type": "modify",
      "old_id": "0670a8bd5818aa7c99dbfd69203ce1bc0ebf276d",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_bmap_util.c",
      "new_id": "b9abce524c33b1af8581e8d52d032685fb767747",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_bmap_util.c"
    },
    {
      "type": "modify",
      "old_id": "29816981b50a92c1657b19778fd9e09f1d199c16",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_dir2_readdir.c",
      "new_id": "003a99b83bd8845e22d6311be1d474679521242d",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_dir2_readdir.c"
    },
    {
      "type": "modify",
      "old_id": "d818c160451f50486fd6f72fa88fe6b3d889e1e6",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_file.c",
      "new_id": "d054b73b56fbbaee27721f34627823819c6db086",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_file.c"
    },
    {
      "type": "modify",
      "old_id": "9c3e5c6ddf20d1bf53b9c8bfd7cb028b62265547",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_icache.c",
      "new_id": "ff4d6311c7f4b4912e5bc1c6bdcead81ab855d81",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_icache.c"
    },
    {
      "type": "modify",
      "old_id": "4e560e6a12c1cc2d4b913292c62714bf78e9ae77",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_inode.c",
      "new_id": "e9ab42d8965ba329ce9abe5032c7f2e6a27db58e",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_inode.c"
    },
    {
      "type": "modify",
      "old_id": "71e8a81c91a371d659dbad0b57099916ad0b2168",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_inode.h",
      "new_id": "10dcf27b4c85ae9d437e77a554dd15f139a40bb3",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_inode.h"
    },
    {
      "type": "modify",
      "old_id": "a39197501a7cd8cb597eb0250233c5802b1d8b9d",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_ioctl.c",
      "new_id": "fc563b82aea65a666aecd67f349046c06d68147b",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_ioctl.c"
    },
    {
      "type": "modify",
      "old_id": "405a65cd9d6bcf4c7fdf21f502ee267c0af7e970",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_iops.c",
      "new_id": "c962999a87ab7c4c5db851a6dea7a950a730023b",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_iops.c"
    },
    {
      "type": "modify",
      "old_id": "93a7aafa56d6fdd9b76246f4e5c3196fdc17f985",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_pnfs.c",
      "new_id": "2f2dc3c09ad008a75fa0ffba6fd5d7aed392c162",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_pnfs.c"
    },
    {
      "type": "modify",
      "old_id": "e8339f74966b18b43a929ed29f3d9259aa17142b",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_pnfs.h",
      "new_id": "b587cb99b2b76140555ce6bd10988420aeeb4186",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_pnfs.h"
    },
    {
      "type": "modify",
      "old_id": "becf2465dd2312d01b6a01accdf8e5bd9b6de163",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_reflink.c",
      "new_id": "88fd03c66e990a02aa444ccae9bf0227ed70fc50",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_reflink.c"
    },
    {
      "type": "modify",
      "old_id": "ade4691e3f7403ca65241856b355d0cb0f5709a0",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_super.c",
      "new_id": "563d1d146b8c3be883267e9bc75bdce280989dc6",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_super.c"
    },
    {
      "type": "modify",
      "old_id": "58142aeeeea69d2b191354911c0ebc07fd12f3fc",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_symlink.c",
      "new_id": "f2cb45ed1d54c3507ceb365a243e105f2e20e7fb",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_symlink.c"
    }
  ]
}
