)]}'
{
  "log": [
    {
      "commit": "89ecf38c7aee6eb3f6aaf40a6d196ddff4b6d4a8",
      "tree": "5ef720a9cb7fa8320e4a813ce53bcb82c2d42aff",
      "parents": [
        "5d46770f5f8bb0eff0a82596860958be13e7baf1"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Sep 12 15:43:03 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Sep 12 15:43:03 2005 +0100"
      },
      "message": "NTFS: Mask out __GFP_HIGHMEM when doing kmalloc() in __ntfs_malloc() as it\n      otherwise causes a BUG().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "5d46770f5f8bb0eff0a82596860958be13e7baf1",
      "tree": "72e99a7eb6cc236706b056dc0af53e9b5d78d899",
      "parents": [
        "c93a777103263c2a610a49771c6336f7a53d8ab7"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Sep 12 14:33:47 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Sep 12 14:33:47 2005 +0100"
      },
      "message": "NTFS: Change the mount options {u,f,d}mask to always parse the number as\n      an octal number to conform to how chmod(1) works, too.  Thanks to\n      Giuseppe Bilotta and Horst von Brand for pointing out the errors of\n      my ways.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "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": "67bb103725e4cde322cb4ddb160a12933c5c7072",
      "tree": "161c6d47cf8029acd650f946c2492fec1c2ee7d0",
      "parents": [
        "1c7d469d47668f4664b892a6cd1c452a0c02d710"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:19:45 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:19:45 2005 +0100"
      },
      "message": "NTFS: Fixup handling of sparse, compressed, and encrypted attributes in\n      fs/ntfs/inode.c::ntfs_read_locked_{,attr_,index_}inode().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "1c7d469d47668f4664b892a6cd1c452a0c02d710",
      "tree": "b91793f34092eaa312d9f96bed80af8dfd19ad6f",
      "parents": [
        "bbf1813fb8ff9d21171bf22e6d1f0e0393601e86"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:15:09 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:15:09 2005 +0100"
      },
      "message": "NTFS: Truncate {a,c,m}time to the ntfs supported time granularity when\n      updating the times in the inode in ntfs_setattr().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "bbf1813fb8ff9d21171bf22e6d1f0e0393601e86",
      "tree": "2b8474019c1320df290d5df03514eaed56e44cc6",
      "parents": [
        "807c453de7c5487d2e5eece76bafdea8f39d249e"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:09:06 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:09:06 2005 +0100"
      },
      "message": "NTFS: Fix cluster (de)allocators to work when the runlist is NULL and more\n      importantly to take a locked runlist rather than them locking it\n      which leads to lock reversal.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "807c453de7c5487d2e5eece76bafdea8f39d249e",
      "tree": "3930ef9ddf9c754517bef4c6cf9969d888300ecd",
      "parents": [
        "2983d1bd1a596e88cdddc0c2d45b9e97728f3f41"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:01:17 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 21:01:17 2005 +0100"
      },
      "message": "NTFS: Fix handling of sparse attributes in ntfs_attr_make_non_resident().\n      Also, add BUG() checks to ntfs_attr_make_non_resident() and\n      ntfs_attr_set() to ensure that these functions are never called\n      for compressed or encrypted attributes.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "2983d1bd1a596e88cdddc0c2d45b9e97728f3f41",
      "tree": "ae064cdea63edcf081ed9bc7a746426e28488e11",
      "parents": [
        "0aacceacf35451ffb771ec825555e98c5dce8b01"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:56:09 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:56:09 2005 +0100"
      },
      "message": "NTFS: Fix several bugs in fs/ntfs/attrib.c.\n\n- Fix a bug in ntfs_map_runlist_nolock() where we forgot to protect\n  access to the allocated size in the ntfs inode with the size lock.\n- Fix ntfs_attr_vcn_to_lcn_nolock() and ntfs_attr_find_vcn_nolock() to\n  return LCN_ENOENT when there is no runlist and the allocated size is\n  zero.\n- Fix load_attribute_list() to handle the case of a NULL runlist.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "0aacceacf35451ffb771ec825555e98c5dce8b01",
      "tree": "91ee974bcc56bf4bb55352098fa1b69131a2fe89",
      "parents": [
        "f25dfb5e44fa8641961780d681bc1871abcfb861"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:40:32 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:40:32 2005 +0100"
      },
      "message": "NTFS: Add fs/ntfs/attrib.[hc]::ntfs_resident_attr_value_resize().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "f25dfb5e44fa8641961780d681bc1871abcfb861",
      "tree": "f51bfcdd7baa9ee52f27bf196a32e44ee5cb5d5a",
      "parents": [
        "8e08ceaeacd5d300aaad166f2eef8bfc37e09831"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:35:33 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:35:33 2005 +0100"
      },
      "message": "NTFS: Remove bogus setting of PageError in ntfs_read_compressed_block().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "8e08ceaeacd5d300aaad166f2eef8bfc37e09831",
      "tree": "ab4bb4330cf47b188c5aa02c58d9fa04d93d348d",
      "parents": [
        "6e48321a40610f7213e3ac75ba234f6f8b3ed5f5"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:29:50 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:29:50 2005 +0100"
      },
      "message": "NTFS: Fix a bug in fs/ntfs/index.c::ntfs_index_lookup().  When the returned\n      index entry is in the index root, we forgot to set the @ir pointer in\n      the index context.  Thanks for Yura Pakhuchiy for finding this bug.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "6e48321a40610f7213e3ac75ba234f6f8b3ed5f5",
      "tree": "6ba4b289e1fd0c8a3554a75206c4d2a88b54d1bc",
      "parents": [
        "3ffc5a443824fcf426d8d35dc632acc4dd9fb6d1"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:26:34 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:26:34 2005 +0100"
      },
      "message": "NTFS: Add ntfs_rl_punch_nolock() which punches a caller specified hole into a runlist.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "3ffc5a443824fcf426d8d35dc632acc4dd9fb6d1",
      "tree": "7d8108fed6ed170766ffc0bd95945c69498e740a",
      "parents": [
        "f94ad38e68e1623660fdbb063d0c580ba6661c29"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:23:06 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 20:23:06 2005 +0100"
      },
      "message": "NTFS: Change ntfs_rl_truncate_nolock() to throw away the runlist if the new\n      length is zero.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "f94ad38e68e1623660fdbb063d0c580ba6661c29",
      "tree": "e1ba4ba85b82c636b7c9fd2645422a485a6bf40b",
      "parents": [
        "2b0ada2b8e086c267dd116a39ad41ff0a717b665"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 17:04:11 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 17:04:11 2005 +0100"
      },
      "message": "NTFS: Report unrepresentable inodes during ntfs_readdir() as KERN_WARNING\n      messages and include the inode number.  Thanks to Yura Pakhuchiy for\n      pointing this out.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "2b0ada2b8e086c267dd116a39ad41ff0a717b665",
      "tree": "37bf95af38d5a829edb322663d26df69a1287b94",
      "parents": [
        "8bb735216a0675e247bbe8b8b92c09d6884d1a17"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:52:31 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:52:31 2005 +0100"
      },
      "message": "NTFS: Fix handling of valid but empty mapping pairs array in\n      fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "8bb735216a0675e247bbe8b8b92c09d6884d1a17",
      "tree": "7d98e06d0f093e205f21090a123617f2913cb7b3",
      "parents": [
        "84d6ebe63f50b6efd8be252b58a207132157c60f"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:48:28 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:48:28 2005 +0100"
      },
      "message": "NTFS: Remove two bogus BUG_ON()s from fs/ntfs/mft.c.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "84d6ebe63f50b6efd8be252b58a207132157c60f",
      "tree": "5e78199877a800c92528c2ed0272c863d2c9733c",
      "parents": [
        "9529d461d0992959026264b8fc002ac01d226708"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:46:55 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:46:55 2005 +0100"
      },
      "message": "NTFS: Fix two nasty runlist merging bugs that had gone unnoticed so far.\n      Thanks to Stefano Picerno for the bug report.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "9529d461d0992959026264b8fc002ac01d226708",
      "tree": "25e08068af33bf8fe05cdca944e0100642b87190",
      "parents": [
        "06d0e3cf3d527f927681773c6ffbe697ccc5db7f"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:33:12 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:33:12 2005 +0100"
      },
      "message": "NTFS: Use ntfs_malloc_nofs_nofail() in runlist.c::ntfs_runlists_merge()\n      in the two critical regions.  This means we no longer need to\n      panic() when the allocation fails as it now cannot fail.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "06d0e3cf3d527f927681773c6ffbe697ccc5db7f",
      "tree": "e9692f00331c8951752785481c893d242bf9a29d",
      "parents": [
        "e7a1033b946f4f2622f2b338ab107f559aad542c"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:28:25 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:28:25 2005 +0100"
      },
      "message": "NTFS: Allow highmem kmalloc() in ntfs_malloc_nofs() and add _nofail() version.\n\n- Modify fs/ntfs/malloc.h::ntfs_malloc_nofs() to do the kmalloc() based\n  allocations with __GFP_HIGHMEM, analogous to how the vmalloc() based\n  allocations are done.\n- Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to\n  ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and\n  hence cannot fail.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "e7a1033b946f4f2622f2b338ab107f559aad542c",
      "tree": "333b235d6903392d269e0e5cab807631ab652854",
      "parents": [
        "caf39e87cc1182f7dae84eefc43ca14d54c78ef9"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:12:28 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Sep 08 16:12:28 2005 +0100"
      },
      "message": "NTFS: Support more clean journal ($LogFile) states.\n\n      - Support journals ($LogFile) which have been modified by chkdsk.  This\n        means users can boot into Windows after we marked the volume dirty.\n        The Windows boot will run chkdsk and then reboot.  The user can then\n        immediately boot into Linux rather than having to do a full Windows\n        boot first before rebooting into Linux and we will recognize such a\n        journal and empty it as it is clean by definition.\n      - Support journals ($LogFile) with only one restart page as well as\n        journals with two different restart pages.  We sanity check both and\n        either use the only sane one or the more recent one of the two in the\n        case that both are valid.\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": "e74589ac250e463973361774a90fee2c9d71da02",
      "tree": "d66e3870b1ad88cd174628411fd8e85a6af0fdc4",
      "parents": [
        "3edea4833a1efcd43e1dff082bc8001fdfe74b34"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Tue Aug 16 16:38:28 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Tue Aug 16 16:38:28 2005 +0100"
      },
      "message": "NTFS: Fix bug in mft record writing where we forgot to set the device in\n      the buffers when mapping them after the VM had discarded them.\n      Thanks to Martin MOKREJŠ for the bug report.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "44456d37b59d8e541936ed26d8b6e08d27e88ac1",
      "tree": "11ca6fa29b8cfb56ecef2d1f4f9dc2d9d71d2a2f",
      "parents": [
        "02b775696fee75a04041d8d94db26a9462216d24"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Wed Jul 27 11:45:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:26:08 2005 -0700"
      },
      "message": "[PATCH] turn many #if $undefined_string into #ifdef $undefined_string\n\nturn many #if $undefined_string into #ifdef $undefined_string to fix some\nwarnings after -Wno-def was added to global CFLAGS\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba6d2377c85c9b8a793f455d8c9b6cf31985d70f",
      "tree": "21e65c76db693869c84864af02e91c4b997a6ba5",
      "parents": [
        "af859a42d798f047fbfe198ed315a942662c39d2"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sun Jun 26 22:12:02 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sun Jun 26 22:12:02 2005 +0100"
      },
      "message": "NTFS: Fix a nasty deadlock that appeared in recent kernels.\n      The situation: VFS inode X on a mounted ntfs volume is dirty.  For\n      same inode X, the ntfs_inode is dirty and thus corresponding on-disk\n      inode, i.e. mft record, which is in a dirty PAGE_CACHE_PAGE belonging\n      to the table of inodes, i.e. $MFT, inode 0.\n      What happens:\n      Process 1: sys_sync()/umount()/whatever...  calls\n      __sync_single_inode() for $MFT -\u003e do_writepages() -\u003e write_page for\n      the dirty page containing the on-disk inode X, the page is now locked\n      -\u003e ntfs_write_mst_block() which clears PageUptodate() on the page to\n      prevent anyone else getting hold of it whilst it does the write out.\n      This is necessary as the on-disk inode needs \"fixups\" applied before\n      the write to disk which are removed again after the write and\n      PageUptodate is then set again.  It then analyses the page looking\n      for dirty on-disk inodes and when it finds one it calls\n      ntfs_may_write_mft_record() to see if it is safe to write this\n      on-disk inode.  This then calls ilookup5() to check if the\n      corresponding VFS inode is in icache().  This in turn calls ifind()\n      which waits on the inode lock via wait_on_inode whilst holding the\n      global inode_lock.\n      Process 2: pdflush results in a call to __sync_single_inode for the\n      same VFS inode X on the ntfs volume.  This locks the inode (I_LOCK)\n      then calls write-inode -\u003e ntfs_write_inode -\u003e map_mft_record() -\u003e\n      read_cache_page() for the page (in page cache of table of inodes\n      $MFT, inode 0) containing the on-disk inode.  This page has\n      PageUptodate() clear because of Process 1 (see above) so\n      read_cache_page() blocks when it tries to take the page lock for the\n      page so it can call ntfs_read_page().\n      Thus Process 1 is holding the page lock on the page containing the\n      on-disk inode X and it is waiting on the inode X to be unlocked in\n      ifind() so it can write the page out and then unlock the page.\n      And Process 2 is holding the inode lock on inode X and is waiting for\n      the page to be unlocked so it can call ntfs_readpage() or discover\n      that Process 1 set PageUptodate() again and use the page.\n      Thus we have a deadlock due to ifind() waiting on the inode lock.\n      The solution: The fix is to use the newly introduced\n      ilookup5_nowait() which does not wait on the inode\u0027s lock and hence\n      avoids the deadlock.  This is safe as we do not care about the VFS\n      inode and only use the fact that it is in the VFS inode cache and the\n      fact that the vfs and ntfs inodes are one struct in memory to find\n      the ntfs inode in memory if present.  Also, the ntfs inode has its\n      own locking so it does not matter if the vfs inode is locked.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "af859a42d798f047fbfe198ed315a942662c39d2",
      "tree": "6c892cbd43284e98cc879f0518dde8efc09740c7",
      "parents": [
        "4757d7dff65b56f2115038ad1615725f31806787"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 21:07:27 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 21:07:27 2005 +0100"
      },
      "message": "NTFS: Prepare for 2.1.23 release: Update documentation and bump version.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "4757d7dff65b56f2115038ad1615725f31806787",
      "tree": "b4a17ecec51c9b1175a22513699ae97c099c5d63",
      "parents": [
        "fa3be92317c4ae34edcf5274e8bbeff181e20b7a"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 17:24:08 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 17:24:08 2005 +0100"
      },
      "message": "NTFS: Change ntfs_map_runlist_nolock() to only decompress the mapping pairs\n      if the requested vcn is inside it.  Otherwise we get into problems\n      when we try to map an out of bounds vcn because we then try to map\n      the already mapped runlist fragment which causes\n      ntfs_mapping_pairs_decompress() to fail and return error.  Update\n      ntfs_attr_find_vcn_nolock() accordingly.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "fa3be92317c4ae34edcf5274e8bbeff181e20b7a",
      "tree": "84ae4ace6c891aa95b804950283e1f8f3e46c730",
      "parents": [
        "1d58b27b8d77ecb816cfa8f846b78c845675eb89"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 17:15:36 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 17:15:36 2005 +0100"
      },
      "message": "NTFS: Add an extra parameter @last_vcn to ntfs_get_size_for_mapping_pairs()\n      and ntfs_mapping_pairs_build() to allow the runlist encoding to be\n      partial which is desirable when filling holes in sparse attributes.\n      Update all callers.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "1d58b27b8d77ecb816cfa8f846b78c845675eb89",
      "tree": "7c10e4182f87d00511aeb1d0583e3c09eeb807de",
      "parents": [
        "3bd1f4a173a3445f9919c21e775de2d8b9deacf8"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 17:04:55 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 17:04:55 2005 +0100"
      },
      "message": "NTFS: Change the runlist terminator of the newly allocated cluster(s) to\n      LCN_ENOENT in ntfs_attr_make_non_resident().  Otherwise the runlist\n      code gets confused.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "3bd1f4a173a3445f9919c21e775de2d8b9deacf8",
      "tree": "6b32056b5b63d41fc5d032318ed0f94dbc562288",
      "parents": [
        "ca8fd7a0c6aa835e8014830b290cb965e85ac88e"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 16:51:58 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 16:51:58 2005 +0100"
      },
      "message": "NTFS: Fix several occurences of a bug where we would perform \u0027var \u0026 ~const\u0027\n      with a 64-bit variable and a int, i.e. 32-bit, constant.  This causes\n      the higher order 32-bits of the 64-bit variable to be zeroed.  To fix\n      this cast the \u0027const\u0027 to the same 64-bit type as \u0027var\u0027.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "ca8fd7a0c6aa835e8014830b290cb965e85ac88e",
      "tree": "504929d2a4beacb86fbc420c85f5c102f2a27fed",
      "parents": [
        "9f993fe4634b39ca4404ba278053b03f360ec08a"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 16:31:27 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 16:31:27 2005 +0100"
      },
      "message": "NTFS: Detect the case when Windows has been suspended to disk on the volume\n      to be mounted and if this is the case do not allow (re)mounting\n      read-write.  This is done by parsing hiberfil.sys if present.\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": "3f2faef00c6af17542ea8672ed7d09367222b2d0",
      "tree": "8b5cf2d76f2af684988d79b04e21ae92aaea8711",
      "parents": [
        "38b22b6e9f46ab8f73ef5734f0e0a000766a9258"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 15:28:56 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 15:28:56 2005 +0100"
      },
      "message": "NTFS: Stamp the transaction log ($UsnJrnl), aka user space journal, if it\n      is active on the volume and we are mounting read-write or remounting\n      from read-only to read-write.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "442d207eb0b4e7047c4fedccd900c425e689d502",
      "tree": "2c23dc98fba6912417164ba65b258a9da1241ae1",
      "parents": [
        "2fb21db2548fc8b196eb8d8425f05ee1965d5344"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Fri May 27 16:42:56 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Fri May 27 16:42:56 2005 +0100"
      },
      "message": "NTFS: Use C99 style structure initialization after memory allocation where\n      possible (fs/ntfs/{attrib.c,index.c,super.c}).  Thanks to Al Viro and\n      Pekka Enberg.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "2fb21db2548fc8b196eb8d8425f05ee1965d5344",
      "tree": "b319e97bfb3e50bcde9a82cf089d86a7dcb03df5",
      "parents": [
        "5eac51462f340b7c4a03b9220cf157c40b4990a5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 25 21:15:34 2005 +0300"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Fri May 27 16:00:53 2005 +0100"
      },
      "message": "NTFS: Remove spurious void pointer casts from fs/ntfs/.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\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": "7fafb8b634121f4fa35ff92f85737f8bc2259f06",
      "tree": "ed581b567781b6b2a99a9f2059e3f3c324a0c928",
      "parents": [
        "bb3cf33509009132cf8c7a7729f9d26c0c5fa961"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Apr 06 16:09:21 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:48:00 2005 +0100"
      },
      "message": "NTFS: Minor cleanup: Define and use NTFS_MAX_CLUSTER_SIZE constant instead\n      of hard coded 0x10000 in fs/ntfs/super.c.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "bb3cf33509009132cf8c7a7729f9d26c0c5fa961",
      "tree": "1e5a6a8bdf12e158a792b26b1d24b1743ce8a975",
      "parents": [
        "b0d2374d62faed034dd80e6524efb98a6341597c"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Apr 06 13:34:31 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:46:17 2005 +0100"
      },
      "message": "NTFS: Update attribute definition handling.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "b0d2374d62faed034dd80e6524efb98a6341597c",
      "tree": "99ae91efcc90ead7b8aa1cc44f286a528adc6545",
      "parents": [
        "251c8427c9c418674fc3c04a11de95dc3661b560"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Apr 04 16:20:14 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:44:41 2005 +0100"
      },
      "message": "NTFS: Some utilities modify the boot sector but do not update the checksum.\n      Thus, relax the checking in fs/ntfs/super.c::is_boot_sector_ntfs() to\n      only emit a warning when the checksum is incorrect rather than\n      refusing the mount.  Thanks to Bernd Casimir for pointing this\n      problem out.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "251c8427c9c418674fc3c04a11de95dc3661b560",
      "tree": "b67bab32762a4a64083de64281b1249bccfd9402",
      "parents": [
        "53d59aad9326199ef5749c97513db498309a057e"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Mon Apr 04 14:59:56 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:42:27 2005 +0100"
      },
      "message": "NTFS: Remove checks for NULL before calling kfree() since kfree() does the\n      checking itself.  (Jesper Juhl)\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "53d59aad9326199ef5749c97513db498309a057e",
      "tree": "3fc3e99673cf5c5c8f275cca1ec7ed2dfe5fa192",
      "parents": [
        "1ef334d372d6a7006e20f56f7e85d8f4ec32e3c2"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Mar 17 10:51:33 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:39:30 2005 +0100"
      },
      "message": "NTFS: Fix compilation when configured read-only.\n\n- Add ifdef NTFS_RW around write specific code if fs/ntfs/runlist.[hc] and\n  fs/ntfs/attrib.[hc].\n- Minor bugfix to fs/ntfs/attrib.c::ntfs_attr_make_non_resident() where the\n  runlist was not freed in all error cases.\n- Add fs/ntfs/runlist.[hc]::ntfs_rl_find_vcn_nolock().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "1ef334d372d6a7006e20f56f7e85d8f4ec32e3c2",
      "tree": "5b03ef9048fec32ebd7b1d75686b1dc73599c661",
      "parents": [
        "905685f68fc72844b8c2689c39a5c6c35e840152"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Apr 04 14:59:42 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:27:45 2005 +0100"
      },
      "message": "NTFS: Include linux/swap.h in fs/ntfs/attrib.c for mark_page_accessed().\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": "43b01fda8b17b2b63e7dcdeed11c2ebba56b1fc9",
      "tree": "fd925e409efa2787469689180afa78152947c4a0",
      "parents": [
        "2bfb4fff3e9731ecfe745881e53cfb2e646c47bb"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Mar 09 15:18:43 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:23:20 2005 +0100"
      },
      "message": "NTFS: Fix sign of various error return values to be negative in\n      fs/ntfs/lcnalloc.c.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "2bfb4fff3e9731ecfe745881e53cfb2e646c47bb",
      "tree": "a607df8a7d0532803584dab19bf13b69acbb668d",
      "parents": [
        "c0c1cc0e46b36347f11b566f99087dc5e6fc1b89"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Mar 09 15:15:06 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:22:07 2005 +0100"
      },
      "message": "NTFS: Add fs/ntfs/attrib.[hc]::ntfs_attr_make_non_resident().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "c0c1cc0e46b36347f11b566f99087dc5e6fc1b89",
      "tree": "773105bdde7454d10dccc127048a9847f7e01f11",
      "parents": [
        "271849a98849394ea85fa7caa8a1aaa2b3a849b7"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Mar 07 21:43:38 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:20:49 2005 +0100"
      },
      "message": "NTFS: - Fix bug in fs/ntfs/attrib.c::ntfs_find_vcn_nolock() where after\n        dropping the read lock and taking the write lock we were not checking\n        whether someone else did not already do the work we wanted to do.\n      - Rename ntfs_find_vcn_nolock() to ntfs_attr_find_vcn_nolock().\n      - Tidy up some comments in fs/ntfs/runlist.c.\n      - Add LCN_ENOMEM and LCN_EIO definitions to fs/ntfs/runlist.h.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "271849a98849394ea85fa7caa8a1aaa2b3a849b7",
      "tree": "08e932656e463845faaa3610059c67e16aa92b7d",
      "parents": [
        "7e693073a940c7484c0c21e3e1603e29ce46f30c"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Mon Mar 07 21:36:18 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:18:43 2005 +0100"
      },
      "message": "NTFS: Add fs/ntfs/attrib.[hc]::ntfs_attr_vcn_to_lcn_nolock() used by the new\n      write code.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "7e693073a940c7484c0c21e3e1603e29ce46f30c",
      "tree": "865f7c9374fd2c4f072c17b97aff2225bfc06a75",
      "parents": [
        "9451f8519c5e6d5d064c30033fc3d4ce77de321c"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Mar 03 16:38:59 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:17:08 2005 +0100"
      },
      "message": "NTFS: Add AT_EA in addition to AT_DATA to whitelist for being allowed to be\n      non-resident in fs/ntfs/attrib.c::ntfs_attr_can_be_non_resident().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "9451f8519c5e6d5d064c30033fc3d4ce77de321c",
      "tree": "104eedf065c4091838a27f6e674875a035c30820",
      "parents": [
        "413826868fb49d200b741bcaeaf58ea5c5e45321"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Mar 03 14:43:43 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:15:46 2005 +0100"
      },
      "message": "NTFS: Correct sparse file handling.  The compressed values need to be\n      checked and set in the ntfs inode as done for compressed files\n      and the compressed size needs to be used for vfs inode-\u003ei_blocks\n      instead of the allocated size, again, as done for compressed files.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "413826868fb49d200b741bcaeaf58ea5c5e45321",
      "tree": "a106b6e0bae52a68a0b824f1999ab694d894a1f2",
      "parents": [
        "8907547d4b099e67762ea4891c127ea1f6dd1cb7"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Mar 03 13:44:15 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:13:56 2005 +0100"
      },
      "message": "NTFS: Make fs/ntfs/namei.c::ntfs_get_{parent,dentry} static and move the\n      definition of ntfs_export_ops from fs/ntfs/super.c to namei.c.\n      Also, declare ntfs_export_ops in fs/ntfs/ntfs.h.\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": "5ae9fcf8f329baba4bada8719cb0337eef083a1a",
      "tree": "28f268908b5bd780a114825879d7bc35d98d9dca",
      "parents": [
        "37e4c13b987a7923ec13bda7368901b3e094fecb"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Mar 02 17:03:24 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:04:54 2005 +0100"
      },
      "message": "NTFS: - Set the ntfs_inode-\u003eallocated_size to the real allocated size in the\n        mft record for resident attributes (fs/ntfs/inode.c).\n      - Small readability cleanup to use \"a\" instead of \"ctx-\u003eattr\"\n        everywhere (fs/ntfs/inode.c).\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "37e4c13b987a7923ec13bda7368901b3e094fecb",
      "tree": "781dcc0990fc42c26492206261d4b5f325715821",
      "parents": [
        "d8ec785e0bf2941ed546711c2f240a3e030c39c7"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Fri Feb 18 10:03:13 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:03:01 2005 +0100"
      },
      "message": "NTFS: Fix a nasty runlist merge bug when merging two holes.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "d8ec785e0bf2941ed546711c2f240a3e030c39c7",
      "tree": "c4b69ce75a331731d9616fa9868cceba4e90325e",
      "parents": [
        "b6ad6c52fe36ab35d0fe28c064f59de2ba670c2a"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Fri Feb 18 09:23:39 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 11:01:13 2005 +0100"
      },
      "message": "NTFS: Change time to u64 in time.h::ntfs2utc() as it otherwise generates a\n      warning in the do_div() call on sparc32.  Thanks to Meelis Roos for the\n      report and analysis of the warning.\n\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": "1a0df15acdae065789446aca83021c72b71db9a5",
      "tree": "bb3bf97da4f2753aba46e1dd4855c0ef9f7c55b8",
      "parents": [
        "c002f42543e155dd2b5b5039ea2637ab26c82513"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Feb 03 12:04:36 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:54:37 2005 +0100"
      },
      "message": "NTFS: Fix a bug in fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress() in\n      the creation of the unmapped runlist element for the base attribute\n      extent.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "c002f42543e155dd2b5b5039ea2637ab26c82513",
      "tree": "ea408493d2e0e9096166ab39a8657689c15c7dfa",
      "parents": [
        "f40661be038ce6ed9ef6a8b80307a9153bd95769"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Feb 03 12:02:56 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:53:01 2005 +0100"
      },
      "message": "NTFS: - Add disable_sparse mount option together with a per volume sparse\n\tenable bit which is set appropriately and a per inode sparse disable\n\tbit which is preset on some system file inodes as appropriate.\n      - Enforce that sparse support is disabled on NTFS volumes pre 3.0.\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": "3834c3f227725e2395840aed82342bda4ee9d379",
      "tree": "7a145a78efc44cb5ddce614cdd2618c710c8e3b7",
      "parents": [
        "149f0c5200188a43f1fc11ca2fb14d8183013d10"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Jan 13 11:04:39 2005 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:45:36 2005 +0100"
      },
      "message": "NTFS: Fix stupid bug in fs/ntfs/mft.c introduced in last changeset.\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": "f50f3ac51983025405a71b70b033cc6bcb0d1fc1",
      "tree": "98c9e85271354a878237d77c30a144680cbc1bb1",
      "parents": [
        "218357ff1b1b2f1bfdce89d608dbe33dd2f9f14b"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Fri Nov 19 22:16:00 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:37:22 2005 +0100"
      },
      "message": "NTFS: Use i_size_read() in fs/ntfs/inode.c once and then use the cached value\n      afterwards when reading the size of the bitmap inode.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "218357ff1b1b2f1bfdce89d608dbe33dd2f9f14b",
      "tree": "b7621daec3c516507fed85a25e9e82198589f216",
      "parents": [
        "206f9f35b2348b7b966ff18a5564b8a3ca325ed5"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Nov 18 20:34:59 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:34:45 2005 +0100"
      },
      "message": "NTFS: - Use i_size_read() in fs/ntfs/super.c once and then use the cached\n\tvalue afterwards.  Cache the initialized_size in the same way and\n\tprotect access to the two sizes using the size_lock.\n      - Minor optimization to fs/ntfs/super.c::ntfs_statfs() and its helpers.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "206f9f35b2348b7b966ff18a5564b8a3ca325ed5",
      "tree": "2f221334cf8b1b9756a58e323b5fba2cdd4dc583",
      "parents": [
        "367636772f094fd840d2d79e75257bcfaa28e70f"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Nov 18 15:01:06 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:32:43 2005 +0100"
      },
      "message": "NTFS: In fs/ntfs/dir.c, use i_size_read() once and then the cached value\n      afterwards.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "367636772f094fd840d2d79e75257bcfaa28e70f",
      "tree": "a8d8f3154eea80710a8cad2b7de082046aa012f0",
      "parents": [
        "899101aebb9ab3692aa8efe2805174ee0ee3edb5"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Nov 18 13:46:45 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu May 05 10:30:29 2005 +0100"
      },
      "message": "NTFS: - In fs/ntfs/compress.c, use i_size_read() at the start and then use the\n\tcached value everywhere.  Cache the initialized_size in the same way\n\tand protect the critical region where the two sizes are read using the\n\tnew size_lock of the ntfs inode.\n      - Add the new size_lock to the ntfs_inode structure (fs/ntfs/inode.h)\n\tand initialize it (fs/ntfs/inode.c).\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "d4b9ba7bf6f38cff55b5d95a0db7dd91311ce20a",
      "tree": "b86c83f8c04e159bb8f806990cbf61e88ceebf30",
      "parents": [
        "db30d160cd8dfe1e53435fd76f4189778f1c728e"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Nov 17 15:45:08 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed May 04 17:02:25 2005 +0100"
      },
      "message": "NTFS: Use i_size_read() in fs/ntfs/file.c::ntfs_file_open().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "db30d160cd8dfe1e53435fd76f4189778f1c728e",
      "tree": "add695bfe2311c653143b08fa717ad909bf48f5c",
      "parents": [
        "66129f88c4cc719591f687e5c8c764fe9d3e437a"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Nov 11 12:42:00 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed May 04 17:00:18 2005 +0100"
      },
      "message": "NTFS: Use i_size_read() once and then use the cached value in\n      fs/ntfs/lcnalloc.c::ntfs_cluster_alloc().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "66129f88c4cc719591f687e5c8c764fe9d3e437a",
      "tree": "3fc9f181a1666eff445bdb6a243dd4e080c233f9",
      "parents": [
        "da28438cae9a271c5c232177f81dfb243de9b7fa"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Nov 11 12:34:00 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed May 04 16:57:47 2005 +0100"
      },
      "message": "NTFS: Use i_size_read() in fs/ntfs/logfile.c::ntfs_{check,empty}_logfile().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\n"
    },
    {
      "commit": "da28438cae9a271c5c232177f81dfb243de9b7fa",
      "tree": "40817e52c229dbb288f6425b2056c1ad61ad6470",
      "parents": [
        "8800cea62025a5209d110c5fa5990429239d6eee"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Nov 11 11:18:10 2004 +0000"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed May 04 14:24:16 2005 +0100"
      },
      "message": "NTFS: Use i_size_read() in fs/ntfs/attrib.c::ntfs_attr_set().\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"
    }
  ]
}
