)]}'
{
  "log": [
    {
      "commit": "fffb60f93ce5880aade88e01d7133b52a4879710",
      "tree": "7882f0550af8580c0646306f6d391fe610f7ef8c",
      "parents": [
        "4b6a9316fab51af611dc8671f296734089f6a22a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache format\n\nRewrap the overly long source code lines resulting from the previous\npatch\u0027s addition of the slab cache flag SLAB_MEM_SPREAD.  This patch\ncontains only formatting changes, and no function change.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6a9316fab51af611dc8671f296734089f6a22a",
      "tree": "078f8f0f01a206af529bef137d5b71515c39053d",
      "parents": [
        "44110fe385af23ca5eee8a6ad4ff55d50339097a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache filesystems\n\nMark file system inode and similar slab caches subject to SLAB_MEM_SPREAD\nmemory spreading.\n\nIf a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that\u0027s\nin a cpuset with the \u0027memory_spread_slab\u0027 option enabled goes to allocate\nfrom such a slab cache, the allocations are spread evenly over all the\nmemory nodes (task-\u003emems_allowed) allowed to that task, instead of favoring\nallocation on the node local to the current cpu.\n\nThe following inode and similar caches are marked SLAB_MEM_SPREAD:\n\n    file                               cache\n    \u003d\u003d\u003d\u003d                               \u003d\u003d\u003d\u003d\u003d\n    fs/adfs/super.c                    adfs_inode_cache\n    fs/affs/super.c                    affs_inode_cache\n    fs/befs/linuxvfs.c                 befs_inode_cache\n    fs/bfs/inode.c                     bfs_inode_cache\n    fs/block_dev.c                     bdev_cache\n    fs/cifs/cifsfs.c                   cifs_inode_cache\n    fs/coda/inode.c                    coda_inode_cache\n    fs/dquot.c                         dquot\n    fs/efs/super.c                     efs_inode_cache\n    fs/ext2/super.c                    ext2_inode_cache\n    fs/ext2/xattr.c (fs/mbcache.c)     ext2_xattr\n    fs/ext3/super.c                    ext3_inode_cache\n    fs/ext3/xattr.c (fs/mbcache.c)     ext3_xattr\n    fs/fat/cache.c                     fat_cache\n    fs/fat/inode.c                     fat_inode_cache\n    fs/freevxfs/vxfs_super.c           vxfs_inode\n    fs/hpfs/super.c                    hpfs_inode_cache\n    fs/isofs/inode.c                   isofs_inode_cache\n    fs/jffs/inode-v23.c                jffs_fm\n    fs/jffs2/super.c                   jffs2_i\n    fs/jfs/super.c                     jfs_ip\n    fs/minix/inode.c                   minix_inode_cache\n    fs/ncpfs/inode.c                   ncp_inode_cache\n    fs/nfs/direct.c                    nfs_direct_cache\n    fs/nfs/inode.c                     nfs_inode_cache\n    fs/ntfs/super.c                    ntfs_big_inode_cache_name\n    fs/ntfs/super.c                    ntfs_inode_cache\n    fs/ocfs2/dlm/dlmfs.c               dlmfs_inode_cache\n    fs/ocfs2/super.c                   ocfs2_inode_cache\n    fs/proc/inode.c                    proc_inode_cache\n    fs/qnx4/inode.c                    qnx4_inode_cache\n    fs/reiserfs/super.c                reiser_inode_cache\n    fs/romfs/inode.c                   romfs_inode_cache\n    fs/smbfs/inode.c                   smb_inode_cache\n    fs/sysv/inode.c                    sysv_inode_cache\n    fs/udf/super.c                     udf_inode_cache\n    fs/ufs/super.c                     ufs_inode_cache\n    net/socket.c                       sock_inode_cache\n    net/sunrpc/rpc_pipe.c              rpc_inode_cache\n\nThe choice of which slab caches to so mark was quite simple.  I marked\nthose already marked SLAB_RECLAIM_ACCOUNT, except for fs/xfs, dentry_cache,\ninode_cache, and buffer_head, which were marked in a previous patch.  Even\nthough SLAB_RECLAIM_ACCOUNT is for a different purpose, it marks the same\npotentially large file system i/o related slab caches as we need for memory\nspreading.\n\nGiven that the rule now becomes \"wherever you would have used a\nSLAB_RECLAIM_ACCOUNT slab cache flag before (usually the inode cache), use\nthe SLAB_MEM_SPREAD flag too\", this should be easy enough to maintain.\nFuture file system writers will just copy one of the existing file system\nslab cache setups and tend to get it right without thinking.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69eb66d7da7dba2696281981347698e1693c2340",
      "tree": "ba699dc7a1a80efe159f4a4401b174a7e80779fc",
      "parents": [
        "be0bf7da19135a7a0f8c275f20c819940be218d9"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Thu Mar 09 13:59:30 2006 -0600"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Thu Mar 09 13:59:30 2006 -0600"
      },
      "message": "JFS: add uid, gid, and umask mount options\n\nOS/2 doesn\u0027t initialize the uid, gid, or unix-style permission bits.  The\nuid, gid, \u0026 umask mount options perform pretty much like those for the fat\nfile system, overriding what is stored on disk.  This is useful for users\nsharing the file system with OS/2.\n\nI implemented a little feature so that if you mask the execute bit, it\nwill be re-enabled on directories when the appropriate read bit is unmasked.\nI didn\u0027t want to implement an fmask \u0026 dmask option.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "5b3030e39049212c975665cdb3eeabcfaf7c94ca",
      "tree": "93742231c2e01087ae36d7c05d8bd7bdb7ca8878",
      "parents": [
        "d9e902668e815f9f33ba5056089684b0704eeac6"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Thu Feb 23 09:47:13 2006 -0600"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Thu Feb 23 09:47:13 2006 -0600"
      },
      "message": "JFS: kzalloc conversion\n\nthis converts fs/jfs to kzalloc() usage.\ncompile tested with make allyesconfig\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "91dbb4deb30e817efc8d6bed89b1190a489ca776",
      "tree": "d3742a35be49da1ab785ac398459d7a71a64a765",
      "parents": [
        "4837c672fd4d43c519d6b53308ee68d45b91b872"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Feb 15 12:49:04 2006 -0600"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Feb 15 12:49:04 2006 -0600"
      },
      "message": "JFS: Use the kthread_ API\n\nUse the kthread_ API instead of opencoding lots of hairy code for kernel\nthread creation and teardown.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "1de87444f8f91009b726108c9a56600645ee8751",
      "tree": "66f731a701a005be55337792bf873c182470141a",
      "parents": [
        "0a0fc0ddbe732779366ab6b1b879f62195e65967"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 24 15:22:50 2006 -0600"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Tue Jan 24 15:22:50 2006 -0600"
      },
      "message": "JFS: semaphore to mutex conversion.\n\nthe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nbuild and boot tested.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "28fd129827b00e12829d48a5290f46277600619b",
      "tree": "38e50e1b88965fec41ea5b36aa557fb5c2b1ca73",
      "parents": [
        "05eb0b51fb46430050d5873458612f53e0234f2e"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jan 08 01:02:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:47 2006 -0800"
      },
      "message": "[PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait)\n\nThis patch add EXPORT_SYMBOL(filemap_write_and_wait) and use it.\n\nSee mm/filemap.c:\n\nAnd changes the filemap_write_and_wait() and filemap_write_and_wait_range().\n\nCurrent filemap_write_and_wait() doesn\u0027t wait if filemap_fdatawrite()\nreturns error.  However, even if filemap_fdatawrite() returned an\nerror, it may have submitted the partially data pages to the device.\n(e.g. in the case of -ENOSPC)\n\n\u003cquotation\u003e\nAndrew Morton writes,\n\nIf filemap_fdatawrite() returns an error, this might be due to some\nI/O problem: dead disk, unplugged cable, etc.  Given the generally\ncrappy quality of the kernel\u0027s handling of such exceptions, there\u0027s a\ngood chance that the filemap_fdatawait() will get stuck in D state\nforever.\n\u003c/quotation\u003e\n\nSo, this patch doesn\u0027t wait if filemap_fdatawrite() returns the -EIO.\n\nTrond, could you please review the nfs part?  Especially I\u0027m not sure,\nnfs must use the \"filemap_fdatawrite(inode-\u003ei_mapping) \u003d\u003d 0\", or not.\n\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac17b8b57013a3e38d1958f66a218f15659e5752",
      "tree": "f7a28ccd5bd5496f6a2284f3d77a5019dc75c820",
      "parents": [
        "ddea7be0ec8d1374f0b483a81566ed56ec9f3905"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Mon Oct 03 15:32:11 2005 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Mon Oct 03 15:32:11 2005 -0500"
      },
      "message": "JFS: make special inodes play nicely with page balancing\n\nThis patch fixes up a few problems with jfs\u0027s reserved inodes.\n\n1. There is no need for the jfs code setting the I_DIRTY bits in i_state.\n   I am ashamed that the code ever did this, and surprised it hasn\u0027t been\n   noticed until now.\n\n2. Make sure special inodes are on an inode hash list.  If the inodes are\n   unhashed, __mark_inode_dirty will fail to put the inode on the\n   superblock\u0027s dirty list, and the data will not be flushed under memory\n   pressure.\n\n3. Force writing journal data to disk when metapage_writepage is unable to\n   write a metadata page due to pending journal I/O.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "8fc2751beb0941966d3a97b26544e8585e428c08",
      "tree": "30a03f2e173f31d76fb436054ed2356542099999",
      "parents": [
        "c92371566ea505cf455c208cdfb89046b3db87de"
      ],
      "author": {
        "name": "Mark Bellon",
        "email": "mbellon@mvista.com",
        "time": "Tue Sep 06 15:16:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:23 2005 -0700"
      },
      "message": "[PATCH] disk quotas fail when /etc/mtab is symlinked to /proc/mounts\n\nIf /etc/mtab is a regular file all of the mount options (of a file system)\nare written to /etc/mtab by the mount command.  The quota tools look there\nfor the quota strings for their operation.  If, however, /etc/mtab is a\nsymlink to /proc/mounts (a \"good thing\" in some environments) the tools\ndon\u0027t write anything - they assume the kernel will take care of things.\n\nWhile the quota options are sent down to the kernel via the mount system\ncall and the file system codes handle them properly unfortunately there is\nno code to echo the quota strings into /proc/mounts and the quota tools\nfail in the symlink case.\n\nThe attached patchs modify the EXT[2|3] and JFS codes to add the necessary\nhooks.  The show_options function of each file system in these patches\ncurrently deal with only those things that seemed related to quotas;\nespecially in the EXT3 case more can be done (later?).\n\nJan Kara also noted the difficulty in moving these changes above the FS\ncodes responding similarly to myself to Andrew\u0027s comment about possible\nVFS migration. Issue summary:\n\n - FS codes have to process the entire string of options anyway.\n\n - Only FS codes that use quotas must have a show_options function (for\n   quotas to work properly) however quotas are only used in a small number\n   of FS.\n\n - Since most of the quota using FS support other options these FS codes\n   should have the a show_options function to show those options - and the\n   quota echoing becomes virtually negligible.\n\nBased on feedback I have modified my patches from the original:\n\n   JFS a missing patch has been restored to the posting\n   EXT[2|3] and JFS always use the show_options function\n       - Each FS has at least one FS specific option displayed\n       - QUOTA output is under a CONFIG_QUOTA ifdef\n       - a follow-on patch will add a multitude of options for each FS\n   EXT[2|3] and JFS \"quota\" is treated as \"usrquota\"\n   EXT3 journalled data check for journalled quota removed\n   EXT[2|3] mount when quota specified but not compiled in\n\n - no changes from my original patch.  I tested the patch and the codes\n   warn but\n\n - still mount.  With all due respection I believe the comments\n   otherwise were a\n\n - misread of the patch.  Please reread/test and comment.  XFS patch\n   removed - the XFS team already made the necessary changes EXT3 mixing\n   old and new quotas are handled differently (not purely exclusive)\n\n - if old and new quotas for the same type are used together the old\n   type is silently depricated for compatability (e.g.  usrquota and\n   usrjquota)\n\n - mixing of old and new quotas is an error (e.g.  usrjquota and\n   grpquota)\n\nSigned-off-by: Mark Bellon \u003cmbellon@mvista.com\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a9cd6d676728792aaee31f30015d284acd154a3",
      "tree": "7e40b3b1802b1a86603f7ac6bf74906775a2956e",
      "parents": [
        "a5c96cab8f3c4ca9b2177dceb5de5a0edb31418e"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Aug 10 11:14:39 2005 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Aug 10 11:14:39 2005 -0500"
      },
      "message": "JFS: Fix race in txLock\n\nTxAnchor.anon_list is protected by jfsTxnLock (TXN_LOCK), but there was\na place in txLock() that was removing an entry from the list without holding\nthe spinlock.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "cbc3d65ebcb0c494183d45cf202a53352cbf3871",
      "tree": "4f05bef55fd76ddd7668187e84e7fbc16a4849f6",
      "parents": [
        "de8fd087b280797977b012a4275ee53ff2999f3f"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Jul 27 09:17:57 2005 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Jul 27 09:17:57 2005 -0500"
      },
      "message": "JFS: Improve sync barrier processing\n\nUnder heavy load, hot metadata pages are often locked by non-committed\ntransactions, making them difficult to flush to disk.  This prevents\nthe sync point from advancing past a transaction that had modified the\npage.\n\nThere is a point during the sync barrier processing where all\noutstanding transactions have been committed to disk, but no new\ntransaction have been allowed to proceed.  This is the best time\nto write the metadata.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "9a59f452abe11f569e13ec16c51e6d61c54b9838",
      "tree": "0fc242afbf51aac7214e3a9b7620e83d0d4016f2",
      "parents": [
        "f9fd27a253d5e0b23531d12ce7ad15b6535d4486"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] remove \u003clinux/xattr_acl.h\u003e\n\nThis file duplicates \u003clinux/posix_acl_xattr.h\u003e, using slightly different\nnames.\n\nSigned-off-by: 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": "1868f4aa5a4a72bbe0b7db6c1d4ee666824c3895",
      "tree": "c3bfa2751dcc1d7adf16a6a96e5ad8cab76b6f76",
      "parents": [
        "6b6bf51081a27e80334e7ebe2993ae1d046a3222"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed May 04 15:29:35 2005 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed May 04 15:29:35 2005 -0500"
      },
      "message": "JFS: fix sparse warnings by moving extern declarations to headers\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "1c6278295d6482edaaaef5faa64b18f17b3319b7",
      "tree": "226896c455d8a4996527c4a0ec5699956c657ec3",
      "parents": [
        "7fab479bebb96b1b4888bdae9b42e1fa9c5d3f38"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Mon May 02 12:25:08 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon May 02 22:23:53 2005 -0700"
      },
      "message": "[PATCH] JFS: Write journal sync points more often\n\nThis patch adds jfs_syncpt, which calls lmLogSync to write sync points\nto the journal both in jfs_sync_fs and when sync barrier processing\ncompletes.\n\nlmLogSync accomplishes two things:  1) it pushes logged-but-dirty\nmetadata pages to disk, and 2) it writes a sync record to the journal\nso that jfs_fsck doesn\u0027t need to replay more transactions than is\nnecessary.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7fab479bebb96b1b4888bdae9b42e1fa9c5d3f38",
      "tree": "3d47de90cf39002e576df02f474bc17342ff0f4a",
      "parents": [
        "dc5798d9a7b656550533a5c0177dba17d4ef4990"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Mon May 02 12:25:02 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon May 02 22:23:53 2005 -0700"
      },
      "message": "[PATCH] JFS: Support page sizes greater than 4K\n\njfs has never worked on architecutures where the page size was not 4K.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\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"
    }
  ]
}
