)]}'
{
  "log": [
    {
      "commit": "af6ea9ca23504fe620412826a420dca9c43a8bf6",
      "tree": "19bebbeb442a8d08ad29f2056665b5fdd9bf1478",
      "parents": [
        "1fa4aad496b9c96fcde6c8f905a43ae6733e5a79",
        "c514720716c7b109ff980f8b3cb93f9af872c91c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 16 11:47:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 16 11:47:51 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/aia21/ntfs-2.6\n"
    },
    {
      "commit": "6f97933d0fd13920d7d53b6e0107bb674b3a1f0b",
      "tree": "f6e5a75915e10747b8e472b9452db5a767c3340a",
      "parents": [
        "35e422c967d3208f188e3096c9f603ac7333fb1b"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Fri Jul 15 03:56:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 15 09:54:51 2005 -0700"
      },
      "message": "[PATCH] inotify: documentation update\n\nClean up and expand some of the inotify documentation.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c514720716c7b109ff980f8b3cb93f9af872c91c",
      "tree": "490a9578995705de69712893a190b67651bddc56",
      "parents": [
        "07929dcb963786512c760dd3ecd148d89295e7e5",
        "1e279dd855d15b72364b4103f872d67d8592647e"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Jul 13 23:09:23 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Wed Jul 13 23:09:23 2005 +0100"
      },
      "message": "Automatic merge with /usr/src/ntfs-2.6.git.\n"
    },
    {
      "commit": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Christoph Hellwig \u003chch@lst.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": "38b22b6e9f46ab8f73ef5734f0e0a000766a9258",
      "tree": "2ccc41ef55918d3af43e444bde7648562a031559",
      "parents": [
        "3357d4c75f1fb67e7304998c4ad4e9a9fed66fa4",
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 14:27:27 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat Jun 25 14:27:27 2005 +0100"
      },
      "message": "Automerge with /usr/src/ntfs-2.6.git.\n"
    },
    {
      "commit": "d763b7a4736e219528f77bf6bc75dd78b1d75c03",
      "tree": "022b661841982e7b34ee5e6579df0c3d7989aa04",
      "parents": [
        "fe77ba6f4f97690baa4c756611a07f3cc033f6ae"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@freenet.de",
        "time": "Thu Jun 23 22:05:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:42 2005 -0700"
      },
      "message": "[PATCH] xip: description\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3357d4c75f1fb67e7304998c4ad4e9a9fed66fa4",
      "tree": "ceba46966a5a1112a05d257d8ecb25ae5eee95e0",
      "parents": [
        "364f6c717deef4a3ac4982e670fa9846b43cd060",
        "ee98689be1b054897ff17655008c3048fe88be94"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Jun 23 11:26:22 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Thu Jun 23 11:26:22 2005 +0100"
      },
      "message": "Automatic merge with /usr/src/ntfs-2.6.git.\n"
    },
    {
      "commit": "9769f4eb3fad2dd53a5d24c81ee5f7f05450742b",
      "tree": "f8847263d1f91e16a819a97314b497a7ca561f9c",
      "parents": [
        "f2966632a134e865db3c819346a1dc7d96e05309"
      ],
      "author": {
        "name": "Jeremy White",
        "email": "jwhite@codeweavers.com",
        "time": "Tue Jun 21 17:16:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:38 2005 -0700"
      },
      "message": "[PATCH] isofs: show hidden files, add granularity for assoc/hidden files flags\n\nThe current isofs treatment of hidden files is flawed in two ways.  First,\nit does not provide sufficient granularity; it hides both \u0027hidden\u0027 files\nand \u0027associated\u0027 files (resource fork for Mac files).  Second, the default\nbehavior to completely strip hidden files, while an admirable\nimplementation of the spec, is a poor choice given the real world use of\nhidden files as a poor mans copy protection scheme for MSDOS and Windows\nbased systems.  A longer description of this is available here:\n\n   http://www.uwsg.iu.edu/hypermail/linux/kernel/0205.3/0267.html\n\nThis patch was originally built after a few private conversations with Alan\nCox; I shamefully failed to persist in seeing it go forward, I hope to make\namends now.\n\nThis patch introduces granularity by allowing explicit control for both\nhidden and associated files.  It also reverses the default so that by\ndefault, hidden files are treated as regular files on the iso9660 file\nsystem.\n\nThis allow Wine to process Windows CDs, including those that are hybrid\nMac/Windows CDs properly and completely, without our having to go muck up\npeoples fstabs as we do now.  (I have tested this with such a hybrid +\nhidden CD and have verified that this patch works as claimed).\n\nSigned-off-by: Jeremy White \u003cjwhite@codeweavers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0edd73b33426df61b1d8a0a50d1f2ec097500abb",
      "tree": "edbc6d9b53ebd107befaf53fbefaaf1a55244273",
      "parents": [
        "65ed0b337bd2b47097cf6c772f024772513b7b0d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] shmem: restore superblock info\n\nTo improve shmem scalability, we allowed tmpfs instances which don\u0027t need\ntheir blocks or inodes limited not to count them, and not to allocate any\nsbinfo.  Which was okay when the only use for the sbinfo was accounting\nblocks and inodes; but since then a couple of unrelated projects extending\ntmpfs want to store other data in the sbinfo.  Whether either extension\nreaches mainline is beside the point: I\u0027m guilty of a bad design decision,\nand should restore sbinfo to make any such future extensions easier.\n\nSo, once again allocate a shmem_sb_info for every shmem/tmpfs instance, and\nnow let max_blocks 0 indicate unlimited blocks, and max_inodes 0 unlimited\ninodes.  Brent Casavant verified (many months ago) that this does not\nperceptibly impact the scalability (since the unlimited sbinfo cacheline is\nrepeatedly accessed but only once dirtied).\n\nAnd merge shmem_set_size into its sole caller shmem_remount_fs.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3eb8c7836eb074b61d63597be3e4f085814ac4c0",
      "tree": "41256899f1451a7e4fe0c764e15195c967e988ca",
      "parents": [
        "54b6f35c99974e99e64c05c2895718355123c55f"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:40:28 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:32 2005 -0700"
      },
      "message": "[PATCH] Driver core: Documentation: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "67394f8f069c2fdf90f3b6d851824c07815442af",
      "tree": "0c33e62d34dbaecea434ae9ece3cc0c56db8b1f7",
      "parents": [
        "450cbfbbbd88876e3ccec1d277f613221ca82bb7",
        "9636273dae265b9354b861b373cd43cd76a6d0fe"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat May 21 22:00:02 2005 +0100"
      },
      "committer": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cantab.net",
        "time": "Sat May 21 22:00:02 2005 +0100"
      },
      "message": "Merge with /usr/src/ntfs-2.6.git\n"
    },
    {
      "commit": "0b405a0f7e4d4d18fd1fe46ddf5ff465443036ab",
      "tree": "49d74df6eddfdd095c650e0af34cde7f4548a2d5",
      "parents": [
        "82428b62aa6294ea640c7e920a9224ecaf46db65"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu May 12 12:06:27 2005 -0700"
      },
      "committer": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Tue May 17 14:54:55 2005 -0700"
      },
      "message": "[PATCH] Driver Core: remove driver model detach_state\n\nThe driver model has a \"detach_state\" mechanism that:\n\n - Has never been used by any in-kernel drive;\n - Is superfluous, since driver remove() methods can do the same thing;\n - Became buggy when the suspend() parameter changed semantics and type;\n - Could self-deadlock when called from certain suspend contexts;\n - Is effectively wasted documentation, object code, and headspace.\n\nThis removes that \"detach_state\" mechanism; net code shrink, as well\nas a per-device saving in the driver model and sysfs.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\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": "c31403a1f5a761599df38bcc2d6ba94f24320c33",
      "tree": "b753650fba949d8b56c65d024b7e82363b894871",
      "parents": [
        "fd4a3244941ed74fffc24b64857977270e6f64e2"
      ],
      "author": {
        "name": "Cosmin Nicolaescu",
        "email": "can29@bandersnatch.cs.drexel.edu",
        "time": "Sun May 01 08:59:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:28 2005 -0700"
      },
      "message": "[PATCH] Documentation: remove super-{nr, max} to reflect fs/super.c\n\nThe patch updates the documentation for /proc.  super-nr and super-max have\nbeen dropped from the kernel since 2.4.9 due to minor numbering issues.\nThis change was not documented in the documentation.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2054606ad6dd6fee559fe790f190b15ed9355237",
      "tree": "6c097981520088c6e6d13c2950f2d9ec9ba7f480",
      "parents": [
        "bd53b714d32a29bdf33009f812e295667e92b930"
      ],
      "author": {
        "name": "Nikita Danilov",
        "email": "nikita@clusterfs.com",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:37 2005 -0700"
      },
      "message": "[PATCH] doc: Locking update\n\nMake the Locking document truer.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
