)]}'
{
  "commit": "ab9bbda0204dfd0e5342562d9979d1241b14ea5f",
  "tree": "621e623d99fbef1432da17b6390c92d7f13224a4",
  "parents": [
    "f18185291d605ea9e442e00e2cf6c917a84d9837"
  ],
  "author": {
    "name": "Steven Whitehouse",
    "email": "swhiteho@redhat.com",
    "time": "Mon Aug 15 14:20:36 2011 +0100"
  },
  "committer": {
    "name": "Steven Whitehouse",
    "email": "swhiteho@redhat.com",
    "time": "Fri Oct 21 12:39:26 2011 +0100"
  },
  "message": "GFS2: Use -\u003edirty_inode()\n\nThe aim of this patch is to use the newly enhanced -\u003edirty_inode()\nsuper block operation to deal with atime updates, rather than\npiggy backing that code into -\u003ewrite_inode() as is currently\ndone.\n\nThe net result is a simplification of the code in various places\nand a reduction of the number of gfs2_dinode_out() calls since\nthis is now implied by -\u003edirty_inode().\n\nSome of the mark_inode_dirty() calls have been moved under glocks\nin order to take advantage of then being able to avoid locking in\n-\u003edirty_inode() when we already have suitable locks.\n\nOne consequence is that generic_write_end() now correctly deals\nwith file size updates, so that we do not need a separate check\nfor that afterwards. This also, indirectly, means that fdatasync\nshould work correctly on GFS2 - the current code always syncs the\nmetadata whether it needs to or not.\n\nHas survived testing with postmark (with and without atime) and\nalso fsx.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "34501b64bc47a416993677b641b30fe64a84d13c",
      "old_mode": 33188,
      "old_path": "fs/gfs2/acl.c",
      "new_id": "65978d7885c863b896e7da2ca04062498c449ac2",
      "new_mode": 33188,
      "new_path": "fs/gfs2/acl.c"
    },
    {
      "type": "modify",
      "old_id": "f9fbbe96c222860374840a825f2168d14b340f83",
      "old_mode": 33188,
      "old_path": "fs/gfs2/aops.c",
      "new_id": "212fe74927ba7852ee5843291bdfa30dee627404",
      "new_mode": 33188,
      "new_path": "fs/gfs2/aops.c"
    },
    {
      "type": "modify",
      "old_id": "2045d70753f1769e0fa34cc46c23f4f56d23afcc",
      "old_mode": 33188,
      "old_path": "fs/gfs2/dir.c",
      "new_id": "898e62ed5b85f4685260d9b19bf15efe56d05365",
      "new_mode": 33188,
      "new_path": "fs/gfs2/dir.c"
    },
    {
      "type": "modify",
      "old_id": "9d12286d81115e9028eaea182361623edec17412",
      "old_mode": 33188,
      "old_path": "fs/gfs2/file.c",
      "new_id": "4416a1cfa1fe7fb2f430b9f647d34b3d2f2f90b2",
      "new_mode": 33188,
      "new_path": "fs/gfs2/file.c"
    },
    {
      "type": "modify",
      "old_id": "044efe273b97da802e708ef5ef0f36407d2ae211",
      "old_mode": 33188,
      "old_path": "fs/gfs2/inode.c",
      "new_id": "a0b53d3bd8faed83705df5c1a00f6866b28ae4bc",
      "new_mode": 33188,
      "new_path": "fs/gfs2/inode.c"
    },
    {
      "type": "modify",
      "old_id": "8d90e0c076722b42e2ed8da9fa40e65e2142e94f",
      "old_mode": 33188,
      "old_path": "fs/gfs2/inode.h",
      "new_id": "276e7b52b6585d8755b991d6ee745f9dd7d982df",
      "new_mode": 33188,
      "new_path": "fs/gfs2/inode.h"
    },
    {
      "type": "modify",
      "old_id": "0e8bb13381e446f358c3c9336df038cdecc435c7",
      "old_mode": 33188,
      "old_path": "fs/gfs2/quota.c",
      "new_id": "3a9a9749f4968ab25d431bc19a5cbb0312f75600",
      "new_mode": 33188,
      "new_path": "fs/gfs2/quota.c"
    },
    {
      "type": "modify",
      "old_id": "9961de702d1babc25b5923ae6813260fbfd31fa0",
      "old_mode": 33188,
      "old_path": "fs/gfs2/super.c",
      "new_id": "b05fa59545500160436d467530dee381e694b2fc",
      "new_mode": 33188,
      "new_path": "fs/gfs2/super.c"
    },
    {
      "type": "modify",
      "old_id": "439b61c03262b767956e23f761b637e0b6905383",
      "old_mode": 33188,
      "old_path": "fs/gfs2/xattr.c",
      "new_id": "695304cf01cc672e7a1ce9d5036a1345a5a4f8ae",
      "new_mode": 33188,
      "new_path": "fs/gfs2/xattr.c"
    }
  ]
}
