)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ]
}
