)]}'
{
  "log": [
    {
      "commit": "b4012a9895b3e28e3bff3aa534d58c7827af6d4f",
      "tree": "9d0908bee91a10d98e41f34bf0bcd249bc38c6e8",
      "parents": [
        "87fc767b832ef5a681a0ff9d203c3289bc3be2bf"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Sep 10 00:25:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:20 2005 -0700"
      },
      "message": "[PATCH] ntfs build fix\n\n*** Warning: \"bit_spin_lock\" [fs/ntfs/ntfs.ko] undefined!\n*** Warning: \"bit_spin_unlock\" [fs/ntfs/ntfs.ko] undefined!\n\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d333d6c739a5cd6d60102ea1a9940cbbb0546ec",
      "tree": "aa8563971adea0f7b2bdb91cda07057e2a85722e",
      "parents": [
        "e604635c8bea16f6177e6133eb3efbfb4a029ef6"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 23:01:16 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 23:01:16 2005 +0100"
      },
      "message": "NTFS: 2.1.24 release and some minor final fixes.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "e604635c8bea16f6177e6133eb3efbfb4a029ef6",
      "tree": "d0d7237d58ee4200123701c61ffb35a88872c04c",
      "parents": [
        "a01ac532b519dc0e0b4d8bc4e12373e4e4cd1b1a"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:13:02 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:13:02 2005 +0100"
      },
      "message": "NTFS: Improve scalability by changing the driver global spin lock in\n      fs/ntfs/aops.c::ntfs_end_buffer_async_read() to a bit spin lock\n      in the first buffer head of a page.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "a01ac532b519dc0e0b4d8bc4e12373e4e4cd1b1a",
      "tree": "6d6021b5f951790b32f332d05106b9ff82ebb5a1",
      "parents": [
        "311120eca0013083f5eb0aff13ffb8aa9fdd050c"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:08:11 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:08:11 2005 +0100"
      },
      "message": "NTFS: Fix page_has_buffers()/page_buffers() handling in fs/ntfs/aops.c.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "311120eca0013083f5eb0aff13ffb8aa9fdd050c",
      "tree": "f93f77b4fc129b45d7b72c180e9e30a592959d4e",
      "parents": [
        "8273d5d4c28a9fde68f830cc6ff61e37e8ae1dca"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:04:20 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:04:20 2005 +0100"
      },
      "message": "NTFS: Fixup handling of sparse, compressed, and encrypted attributes in\n      fs/ntfs/aops.c::ntfs_readpage().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "8273d5d4c28a9fde68f830cc6ff61e37e8ae1dca",
      "tree": "d4abd74f9b9b5ea9d84f1b9bcfe80e75f72f36d3",
      "parents": [
        "54b02eb01c0172294e43e2b54d6815f65637c111"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:00:33 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 22:00:33 2005 +0100"
      },
      "message": "NTFS: Fix fs/ntfs/aops.c::ntfs_{read,write}_block() to handle the case\n      where a concurrent truncate has truncated the runlist under our feet.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "54b02eb01c0172294e43e2b54d6815f65637c111",
      "tree": "0dec3c7f9553f96e3edeab769077723d1ab922e1",
      "parents": [
        "bd45fdd209ca49c5010ac9af469c41ae6dd3f145"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:43:47 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:43:47 2005 +0100"
      },
      "message": "NTFS: Optimize fs/ntfs/aops.c::ntfs_write_block() by extending the page\n      lock protection over the buffer submission for i/o which allows the\n      removal of the get_bh()/put_bh() pairs for each buffer.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "bd45fdd209ca49c5010ac9af469c41ae6dd3f145",
      "tree": "eae397a23bda1ae88b2923a54751a22c46e23f72",
      "parents": [
        "8dcdebafb848415eae25924b00c4f0b9ec907da0"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:38:05 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:38:05 2005 +0100"
      },
      "message": "NTFS: Fixup handling of sparse, compressed, and encrypted attributes in\n      fs/ntfs/aops.c::ntfs_writepage().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "8dcdebafb848415eae25924b00c4f0b9ec907da0",
      "tree": "5e7289dca23148d6b157817c6272c0fc3460f449",
      "parents": [
        "67bb103725e4cde322cb4ddb160a12933c5c7072"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:25:48 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:25:48 2005 +0100"
      },
      "message": "NTFS: Make ntfs_write_block() not instantiate sparse blocks if they are zero.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "481d0374217f3fefaf98efbd8d21d73c138dd928",
      "tree": "a48cb569e03337a3ae0ffed5b30bc60c991fb498",
      "parents": [
        "cf59001235c5a36f3e3701bd593a78cf955a4242"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Tue Aug 16 19:42:56 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Tue Aug 16 19:42:56 2005 +0100"
      },
      "message": "NTFS: Complete the previous fix for the unset device when mapping buffers\n      for  mft record writing.  I had missed the writepage based mft record\n      write code path.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "9f993fe4634b39ca4404ba278053b03f360ec08a",
      "tree": "36e62a3d384fa9c313cacd73b7aea086d7f74e82",
      "parents": [
        "3f2faef00c6af17542ea8672ed7d09367222b2d0"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 16:15:36 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 16:15:36 2005 +0100"
      },
      "message": "NTFS: Fix a bug in address space operations error recovery code paths where\n      if the runlist was not mapped at all and a mapping error occured we\n      would leave the runlist locked on exit to the function so that the\n      next access to the same file would try to take the lock and deadlock.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "d53ee3222459f347cb18985a845864bc81a44eaf",
      "tree": "e9f8a061e958579a6de1d3ee133fd30ca4139f9c",
      "parents": [
        "7fafb8b634121f4fa35ff92f85737f8bc2259f06"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Apr 06 16:11:20 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:49:42 2005 +0100"
      },
      "message": "NTFS: Use MAX_BUF_PER_PAGE instead of variable sized array allocation for\n      better code generation and one less sparse warning in fs/ntfs/aops.c.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "905685f68fc72844b8c2689c39a5c6c35e840152",
      "tree": "0ff1d145a7771b24643c1b685ecbb3f791cda6fb",
      "parents": [
        "43b01fda8b17b2b63e7dcdeed11c2ebba56b1fc9"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Mar 10 11:06:19 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:26:01 2005 +0100"
      },
      "message": "NTFS: - Modify -\u003ereadpage and -\u003ewritepage (fs/ntfs/aops.c) so they detect\n        and handle the case where an attribute is converted from resident\n        to non-resident by a concurrent file write.\n      - Reorder some operations when converting an attribute from resident\n        to non-resident (fs/ntfs/attrib.c) so it is safe wrt concurrent\n        -\u003ereadpage and -\u003ewritepage.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "8907547d4b099e67762ea4891c127ea1f6dd1cb7",
      "tree": "74fa9c887db8a7915325ad9a76d874ed134c0d9a",
      "parents": [
        "5ae9fcf8f329baba4bada8719cb0337eef083a1a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rddunlap@osdl.org",
        "time": "Thu Mar 03 11:19:53 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:11:47 2005 +0100"
      },
      "message": "NTFS: Fix printk format warnings on ia64. (Randy Dunlap)\n\nSigned-off-by: Randy Dunlap \u003crddunlap@osdl.org\u003e\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "b6ad6c52fe36ab35d0fe28c064f59de2ba670c2a",
      "tree": "d888c28a2c3c7fa733045dc7dc9c9bc7f157bf4a",
      "parents": [
        "1a0df15acdae065789446aca83021c72b71db9a5"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Tue Feb 15 10:08:43 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:56:31 2005 +0100"
      },
      "message": "NTFS: - Split ntfs_map_runlist() into ntfs_map_runlist() and a non-locking\n\thelper ntfs_map_runlist_nolock() which is used by ntfs_map_runlist().\n\tThis allows us to map runlist fragments with the runlist lock already\n\theld without having to drop and reacquire it around the call.  Adapt\n\tall callers.\n      - Change ntfs_find_vcn() to ntfs_find_vcn_nolock() which takes a locked\n\trunlist.  This allows us to find runlist elements with the runlist\n\tlock already held without having to drop and reacquire it around the\n\tcall.  Adapt all callers.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "f40661be038ce6ed9ef6a8b80307a9153bd95769",
      "tree": "61c9c81643c96ffa7cdb186b10e5e2f141493b56",
      "parents": [
        "946929d813a3bde095678526dd037ab9ac6efe35"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Jan 13 16:03:38 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:48:11 2005 +0100"
      },
      "message": "NTFS: Optimise/reorganise some error handling code in fs/ntfs/aops.c.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "946929d813a3bde095678526dd037ab9ac6efe35",
      "tree": "eb2601dc94364d9d376be372ccaadb304c921653",
      "parents": [
        "3834c3f227725e2395840aed82342bda4ee9d379"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Jan 13 15:26:29 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:47:05 2005 +0100"
      },
      "message": "NTFS: Fixup the resident attribute resizing code in\n      fs/ntfs/aops.c::ntfs_{prepare,commit}_write()() and re-enable it.\n      It should be safe now.  (Famous last words...)\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "149f0c5200188a43f1fc11ca2fb14d8183013d10",
      "tree": "6fed760d28b70790e26803f6f18a663eb487764c",
      "parents": [
        "07a4e2da7dd3c9345f84b2552872f9d38c257451"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Jan 12 13:52:30 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:43:29 2005 +0100"
      },
      "message": "NTFS: Repeat a failed ntfs_truncate() in fs/ntfs/aops.c::ntfs_writepage()\n      and abort if it fails again.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "07a4e2da7dd3c9345f84b2552872f9d38c257451",
      "tree": "8fbd4c3e11196752ae8ff7944ccb26b93cafbb1c",
      "parents": [
        "f50f3ac51983025405a71b70b033cc6bcb0d1fc1"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Jan 12 13:08:26 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:39:08 2005 +0100"
      },
      "message": "NTFS: Use i_size_{read,write}() in fs/ntfs/{aops.c,mft.c} and protect\n      access to the i_size and other size fields using the size_lock.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
