)]}'
{
  "log": [
    {
      "commit": "997396a73a94de7d92d82e30d7bb1d931e38cb16",
      "tree": "2190a66e085f16a1985e008be167d6fc4ea6734d",
      "parents": [
        "6f4dbeca1a5bac4552d49d9e7b774da9f6625e74",
        "b545787dbb00a041c541a4759d938ddb0108295a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:07:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:07:20 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: fix get_ticket_handler() error handling\n  ceph: don\u0027t BUG on ENOMEM during mds reconnect\n  ceph: ceph_mdsc_build_path() returns an ERR_PTR\n  ceph: Fix warnings\n  ceph: ceph_get_inode() returns an ERR_PTR\n  ceph: initialize fields on new dentry_infos\n  ceph: maintain i_head_snapc when any caps are dirty, not just for data\n  ceph: fix osd request lru adjustment when sending request\n  ceph: don\u0027t improperly set dir complete when holding EXCL cap\n  mm: exporting account_page_dirty\n  ceph: direct requests in snapped namespace based on nonsnap parent\n  ceph: queue cap snap writeback for realm children on snap update\n  ceph: include dirty xattrs state in snapped caps\n  ceph: fix xattr cap writeback\n  ceph: fix multiple mds session shutdown\n"
    },
    {
      "commit": "2547d1d20f3a252567f974de8ce1c572a0815d5a",
      "tree": "786404cb38c6ca55ca46a63df570c119ca32561e",
      "parents": [
        "7be0d4f90ad8e0f9591fd311765a212a42e26b13",
        "f6360efb83cd6dd1476cd758834c8277508c1f15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:05:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:05:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: fix NULL dereference in nfsd_statfs()\n  nfsd4: fix downgrade/lock logic\n  nfsd4: typo fix in find_any_file\n  nfsd4: bad BUG() in preprocess_stateid_op\n"
    },
    {
      "commit": "f6360efb83cd6dd1476cd758834c8277508c1f15",
      "tree": "e57015159bf6f361d45050f28a8da7beaceaea60",
      "parents": [
        "f632265d0ffb5acf331252d98c64939849d96bb2"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Aug 13 15:53:49 2010 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Aug 26 13:23:16 2010 -0400"
      },
      "message": "nfsd: fix NULL dereference in nfsd_statfs()\n\nThe commit ebabe9a9001af0af56c0c2780ca1576246e7a74b\n    pass a struct path to vfs_statfs\nintroduced the struct path initialization, and this seems to trigger\nan Oops on my machine.\n\nfh_dentry field may be NULL and set later in fh_verify(), thus the\ninitialization of path must be after fh_verify().\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "f632265d0ffb5acf331252d98c64939849d96bb2",
      "tree": "31187d9a726bf1ca6ca12e26ad8e7c609eaf4d8b",
      "parents": [
        "7d94784293096c0a46897acdb83be5abd9278ece",
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Aug 26 13:22:27 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Aug 26 13:22:27 2010 -0400"
      },
      "message": "Merge commit \u0027v2.6.36-rc1\u0027 into HEAD\n"
    },
    {
      "commit": "7d94784293096c0a46897acdb83be5abd9278ece",
      "tree": "da2bc54b7d2527b465833610d80ec0285b90c8a7",
      "parents": [
        "18608ad49cffa430cfd0b4e027dedfe3114f916e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 20 18:09:31 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Aug 26 13:22:02 2010 -0400"
      },
      "message": "nfsd4: fix downgrade/lock logic\n\nIf we already had a RW open for a file, and get a readonly open, we were\npiggybacking on the existing RW open.  That\u0027s inconsistent with the\ndowngrade logic which blows away the RW open assuming you\u0027ll still have\na readonly open.\n\nAlso, make sure there is a readonly or writeonly open available for\nlocking, again to prevent bad behavior in downgrade cases when any RW\nopen may be lost.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "18608ad49cffa430cfd0b4e027dedfe3114f916e",
      "tree": "e821f9abcfc309d65bbbc5df27665c391218d89c",
      "parents": [
        "30c0e1ef0a8a6cab4e0f9357698c81a2f7f73cc5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 20 18:06:26 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Aug 26 13:21:09 2010 -0400"
      },
      "message": "nfsd4: typo fix in find_any_file\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "30c0e1ef0a8a6cab4e0f9357698c81a2f7f73cc5",
      "tree": "3bccc5ba7e8dff301f8dd4536158306d9261244d",
      "parents": [
        "998db52c03cd293d16a457f1b396cea932244147"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 17 18:46:33 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Aug 26 13:20:51 2010 -0400"
      },
      "message": "nfsd4: bad BUG() in preprocess_stateid_op\n\nIt\u0027s OK for this function to return without setting filp--we do it in\nthe special-stateid case.\n\nAnd there\u0027s a legitimate case where we can hit this, since we do permit\nreads on write-only stateid\u0027s.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "f0138a79d74e1e942970ea163be268cd2e4bbcfc",
      "tree": "b3c3ddc0dbb3b46ecbb78ab24ea20a405b2b4b49",
      "parents": [
        "c89e5198b26a869ce2842bad8519264f3394dee9"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Thu Aug 26 14:46:09 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 26 16:53:27 2010 +0000"
      },
      "message": "Cannot allocate memory error on mount\n\nOn 08/26/2010 01:56 AM, joe hefner wrote:\n\u003e On a recent Fedora (13), I am seeing a mount failure message that I can not explain. I have a Windows Server 2003ýa with a share set up for access only for a specific username (say userfoo). If I try to mount it from Linux,ýusing userfoo and the correct password all is well. If I try with a bad password or with some other username (userbar), it fails with \"Permission denied\" as expected. If I try to mount as username \u003d administrator, and give the correct administrator password, I would also expect \"Permission denied\", but I see \"Cannot allocate memory\" instead.\n\n\u003e ýfs/cifs/netmisc.c: Mapping smb error code 5 to POSIX err -13\n\u003e ýfs/cifs/cifssmb.c: Send error in QPathInfo \u003d -13\n\u003e ýCIFS VFS: cifs_read_super: get root inode failed\n\nLooks like the commit 0b8f18e3 assumed that cifs_get_inode_info() and\nfriends fail only due to memory allocation error when the inode is NULL\nwhich is not the case if CIFSSMBQPathInfo() fails and returns an error.\nFix this by propagating the actual error code back.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b545787dbb00a041c541a4759d938ddb0108295a",
      "tree": "7d64ee98012ee45726b79a32ed815e06c83c4ef9",
      "parents": [
        "e072f8aa3587710cd35cce0f6b6efd7b4276c327"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Aug 26 11:12:38 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:26:50 2010 -0700"
      },
      "message": "ceph: fix get_ticket_handler() error handling\n\nget_ticket_handler() returns a valid pointer or it returns\nERR_PTR(-ENOMEM) if kzalloc() fails.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e072f8aa3587710cd35cce0f6b6efd7b4276c327",
      "tree": "a0455b3ed1d76880a6553d39f017081a1832f5ba",
      "parents": [
        "f44c3890d9fd6e4284518ff3bb16879fee194a3a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:26:37 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:26:37 2010 -0700"
      },
      "message": "ceph: don\u0027t BUG on ENOMEM during mds reconnect\n\nWe are in a position to return an error; do that instead.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f44c3890d9fd6e4284518ff3bb16879fee194a3a",
      "tree": "d4b0415abdc334a02454326c05d93c91c2555368",
      "parents": [
        "ad8453ab0a5b98884074302ba3cc37664791e261"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Aug 26 11:07:24 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:24:28 2010 -0700"
      },
      "message": "ceph: ceph_mdsc_build_path() returns an ERR_PTR\n\nceph_mdsc_build_path() returns an ERR_PTR but this code is set up to\nhandle NULL returns.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c89e5198b26a869ce2842bad8519264f3394dee9",
      "tree": "bfad402886c41ffc12047c006a0725bd3c01fe49",
      "parents": [
        "37822188ef7bb41ae47b84ae283e6ac93cdafb9c"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 26 02:11:54 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 26 02:11:54 2010 +0000"
      },
      "message": "[CIFS] Eliminate unused variable warning\n\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ad8453ab0a5b98884074302ba3cc37664791e261",
      "tree": "3e90b914db42bfa8b476b1d46aef7baee4adebb3",
      "parents": [
        "ac1f12ef569d49b013c3db86e11be7e15d66b1c3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Aug 25 13:26:32 2010 +0100"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 25 12:02:14 2010 -0700"
      },
      "message": "ceph: Fix warnings\n\nJust scrubbing some warnings so I can see real problem ones in the build\nnoise. For 32bit we need to coax gcc politely into believing we really\nhonestly intend to the casts. Using (u64)(unsigned long) means we cast from\na pointer to a type of the right size and then extend it. This stops the\nwarning spew.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ac1f12ef569d49b013c3db86e11be7e15d66b1c3",
      "tree": "79ca92f4f4c08a14629ff6b2b3b74d2eb7fac5eb",
      "parents": [
        "36e21687e6e51c4225c42e6291938363f7bbfa7c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Aug 25 09:11:35 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 25 12:01:54 2010 -0700"
      },
      "message": "ceph: ceph_get_inode() returns an ERR_PTR\n\nceph_get_inode() returns an ERR_PTR and it doesn\u0027t return a NULL.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "37822188ef7bb41ae47b84ae283e6ac93cdafb9c",
      "tree": "2c824dab54388d1b862fd0b11ec9bec59b3c8ac2",
      "parents": [
        "5a559057b4fa0f60b2772fb590bf13e90af7a57d",
        "2d20ca835867d93ead6ce61780d883a4b128106d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 25 09:57:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 25 09:57:59 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  Eliminate sparse warning - bad constant expression\n  cifs: check for NULL session password\n  missing changes during ntlmv2/ntlmssp auth and sign\n  [CIFS] Fix ntlmv2 auth with ntlmssp\n  cifs: correction of unicode header files\n  cifs: fix NULL pointer dereference in cifs_find_smb_ses\n  cifs: consolidate error handling in several functions\n  cifs: clean up error handling in cifs_mknod\n"
    },
    {
      "commit": "36e21687e6e51c4225c42e6291938363f7bbfa7c",
      "tree": "15f30bf1e622b564b6663217cf99c75aad03fae3",
      "parents": [
        "7d8cb26d7dcb911f110b7762bd5941e8f009d6c3"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 16:23:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 16:24:19 2010 -0700"
      },
      "message": "ceph: initialize fields on new dentry_infos\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7d8cb26d7dcb911f110b7762bd5941e8f009d6c3",
      "tree": "2adf2f6303cc96ff14c951dc6966f68a0fc3cf25",
      "parents": [
        "07a27e226d1ed210d2d4218bd0642b40f5405c6a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 08:44:16 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 16:24:18 2010 -0700"
      },
      "message": "ceph: maintain i_head_snapc when any caps are dirty, not just for data\n\nWe used to use i_head_snapc to keep track of which snapc the current epoch\nof dirty data was dirtied under.  It is used by queue_cap_snap to set up\nthe cap_snap.  However, since we queue cap snaps for any dirty caps, not\njust for dirty file data, we need to keep a valid i_head_snapc anytime\nwe have dirty|flushing caps.  This fixes a NULL pointer deref in\nqueue_cap_snap when writing back dirty caps without data (e.g.,\nsnaptest-authwb.sh).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2d20ca835867d93ead6ce61780d883a4b128106d",
      "tree": "519a2bff48470a78406e55428a8410ed63c63c48",
      "parents": [
        "24e6cf92fde1f140d8eb0bf7cd24c2c78149b6b2"
      ],
      "author": {
        "name": "shirishpargaonkar@gmail.com",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Tue Aug 24 11:53:48 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 24 18:12:52 2010 +0000"
      },
      "message": "Eliminate sparse warning - bad constant expression\n\nEliminiate sparse warning during usage of crypto_shash_* APIs\n       error: bad constant expression\n\nAllocate memory for shash descriptors once, so that we do not kmalloc/kfree it\nfor every signature generation (shash descriptor for md5 hash).\n\nFrom ed7538619817777decc44b5660b52268077b74f3 Mon Sep 17 00:00:00 2001\nFrom: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nDate: Tue, 24 Aug 2010 11:47:43 -0500\nSubject: [PATCH] eliminate sparse warnings during crypto_shash_* APis usage\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b5420f235953448eeae615b3361584dc5e414f34",
      "tree": "7c28ca9ee8a78d3d2a881a9269cd04ce88480e57",
      "parents": [
        "3b93c7aaefc05ee2a75e2726929b01a321402984"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Aug 24 11:47:51 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:47:51 2010 +1000"
      },
      "message": "xfs: do not discard page cache data on EAGAIN\n\nIf xfs_map_blocks returns EAGAIN because of lock contention we must redirty the\npage and not disard the pagecache content and return an error from writepage.\nWe used to do this correctly, but the logic got lost during the recent\nreshuffle of the writepage code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Mike Gao \u003cygao.linux@gmail.com\u003e\nTested-by: Mike Gao \u003cygao.linux@gmail.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "3b93c7aaefc05ee2a75e2726929b01a321402984",
      "tree": "736a4017e86d65598ae7b30cb11412afd66f9629",
      "parents": [
        "a44f13edf0ebb4e41942d0f16ca80489dcf6659d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:45:53 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:45:53 2010 +1000"
      },
      "message": "xfs: don\u0027t do memory allocation under the CIL context lock\n\nFormatting items requires memory allocation when using delayed\nlogging. Currently that memory allocation is done while holding the\nCIL context lock in read mode. This means that if memory allocation\ntakes some time (e.g. enters reclaim), we cannot push on the CIL\nuntil the allocation(s) required by formatting complete. This can\nstall CIL pushes for some time, and once a push is stalled so are\nall new transaction commits.\n\nFix this splitting the item formatting into two steps. The first\nstep which does the allocation and memcpy() into the allocated\nbuffer is now done outside the CIL context lock, and only the CIL\ninsert is done inside the CIL context lock. This avoids the stall\nissue.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "a44f13edf0ebb4e41942d0f16ca80489dcf6659d",
      "tree": "42bcbee56a62851e969292033efd600cced80ca5",
      "parents": [
        "1a387d3be2b30c90f20d49a3497a8fc0693a9d18"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:40:03 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:40:03 2010 +1000"
      },
      "message": "xfs: Reduce log force overhead for delayed logging\n\nDelayed logging adds some serialisation to the log force process to\nensure that it does not deference a bad commit context structure\nwhen determining if a CIL push is necessary or not. It does this by\ngrabing the CIL context lock exclusively, then dropping it before\npushing the CIL if necessary. This causes serialisation of all log\nforces and pushes regardless of whether a force is necessary or not.\nAs a result fsync heavy workloads (like dbench) can be significantly\nslower with delayed logging than without.\n\nTo avoid this penalty, copy the current sequence from the context to\nthe CIL structure when they are swapped. This allows us to do\nunlocked checks on the current sequence without having to worry\nabout dereferencing context structures that may have already been\nfreed. Hence we can remove the CIL context locking in the forcing\ncode and only call into the push code if the current context matches\nthe sequence we need to force.\n\nBy passing the sequence into the push code, we can check the\nsequence again once we have the CIL lock held exclusive and abort if\nthe sequence has already been pushed. This avoids a lock round-trip\nand unnecessary CIL pushes when we have racing push calls.\n\nThe result is that the regression in dbench performance goes away -\nthis change improves dbench performance on a ramdisk from ~2100MB/s\nto ~2500MB/s. This compares favourably to not using delayed logging\nwhich retuns ~2500MB/s for the same workload.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "1a387d3be2b30c90f20d49a3497a8fc0693a9d18",
      "tree": "4c8081f6620976dbfc3ecee0e26296c0890bceba",
      "parents": [
        "2fe33661fcd79d4c53022509f7223d526b5fa233"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:46:31 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:46:31 2010 +1000"
      },
      "message": "xfs: dummy transactions should not dirty VFS state\n\nWhen we  need to cover the log, we issue dummy transactions to ensure\nthe current log tail is on disk. Unfortunately we currently use the\nroot inode in the dummy transaction, and the act of committing the\ntransaction dirties the inode at the VFS level.\n\nAs a result, the VFS writeback of the dirty inode will prevent the\nfilesystem from idling long enough for the log covering state\nmachine to complete. The state machine gets stuck in a loop issuing\nnew dummy transactions to cover the log and never makes progress.\n\nTo avoid this problem, the dummy transactions should not cause\nexternally visible state changes. To ensure this occurs, make sure\nthat dummy transactions log an unchanging field in the superblock as\nit\u0027s state is never propagated outside the filesystem. This allows\nthe log covering state machine to complete successfully and the\nfilesystem now correctly enters a fully idle state about 90s after\nthe last modification was made.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "2fe33661fcd79d4c53022509f7223d526b5fa233",
      "tree": "1c26f0ca23372dc7142fa4f9395056c529378801",
      "parents": [
        "efceab1d563153a2b1a6e7d35376241a48126989"
      ],
      "author": {
        "name": "Stuart Brodsky",
        "email": "sbrodsky@sgi.com",
        "time": "Tue Aug 24 11:46:05 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:46:05 2010 +1000"
      },
      "message": "xfs: ensure f_ffree returned by statfs() is non-negative\n\nBecause of delayed updates to sb_icount field in the super block, it\nis possible to allocate over maxicount number of inodes.  This\ncauses the arithmetic to calculate a negative number of free inodes\nin user commands like df or stat -f.\n\nSince maxicount is a somewhat arbitrary number, a slight over\nallocation is not critical but user commands should be displayed as\n0 or greater and never go negative.  To do this the value in the\nstats buffer f_ffree is capped to never go negative.\n\n[ Modified to use max_t as per Christoph\u0027s comment. ]\n\nSigned-off-by: Stu Brodsky \u003csbrodsky@sgi.com\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "efceab1d563153a2b1a6e7d35376241a48126989",
      "tree": "1c3f9cf4d947a60f4fa4055ef4847af084e9db0e",
      "parents": [
        "546a1924224078c6f582e68f890b05b387b42653"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:44:56 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:44:56 2010 +1000"
      },
      "message": "xfs: handle negative wbc-\u003enr_to_write during sync writeback\n\nDuring data integrity (WB_SYNC_ALL) writeback, wbc-\u003enr_to_write will\ngo negative on inodes with more than 1024 dirty pages due to\nimplementation details of write_cache_pages(). Currently XFS will\nabort page clustering in writeback once nr_to_write drops below\nzero, and so for data integrity writeback we will do very\ninefficient page at a time allocation and IO submission for inodes\nwith large numbers of dirty pages.\n\nFix this by only aborting the page clustering code when\nwbc-\u003enr_to_write is negative and the sync mode is WB_SYNC_NONE.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "4536f2ad8b330453d7ebec0746c4374eadd649b1",
      "tree": "55e4804119f4629279b1848b2a35eaf297b1d5bc",
      "parents": [
        "5b3eed756cd37255cad1181bd86bfd0977e97953"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:42:30 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:42:30 2010 +1000"
      },
      "message": "xfs: fix untrusted inode number lookup\n\nCommit 7124fe0a5b619d65b739477b3b55a20bf805b06d (\"xfs: validate untrusted inode\nnumbers during lookup\") changes the inode lookup code to do btree lookups for\nuntrusted inode numbers. This change made an invalid assumption about the\nalignment of inodes and hence incorrectly calculated the first inode in the\ncluster. As a result, some inode numbers were being incorrectly considered\ninvalid when they were actually valid.\n\nThe issue was not picked up by the xfstests suite because it always runs fsr\nand dump (the two utilities that utilise the bulkstat interface) on cache hot\ninodes and hence the lookup code in the cold cache path was not sufficiently\nexercised to uncover this intermittent problem.\n\nFix the issue by relaxing the btree lookup criteria and then checking if the\nrecord returned contains the inode number we are lookup for. If it we get an\nincorrect record, then the inode number is invalid.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "5b3eed756cd37255cad1181bd86bfd0977e97953",
      "tree": "3d6b178c346d5980dd650336c107abd9d75ee584",
      "parents": [
        "d17c701ce6a548a92f7f8a3cec20299465f36ee3"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:42:41 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:42:41 2010 +1000"
      },
      "message": "xfs: ensure we mark all inodes in a freed cluster XFS_ISTALE\n\nUnder heavy load parallel metadata loads (e.g. dbench), we can fail\nto mark all the inodes in a cluster being freed as XFS_ISTALE as we\nskip inodes we cannot get the XFS_ILOCK_EXCL or the flush lock on.\nWhen this happens and the inode cluster buffer has already been\nmarked stale and freed, inode reclaim can try to write the inode out\nas it is dirty and not marked stale. This can result in writing th\nmetadata to an freed extent, or in the case it has already\nbeen overwritten trigger a magic number check failure and return an\nEUCLEAN error such as:\n\nFilesystem \"ram0\": inode 0x442ba1 background reclaim flush failed with 117\n\nFix this by ensuring that we hoover up all in memory inodes in the\ncluster and mark them XFS_ISTALE when freeing the cluster.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "d17c701ce6a548a92f7f8a3cec20299465f36ee3",
      "tree": "26a4e52b998edf3762baea43c0d9755118240c8d",
      "parents": [
        "76be97c1fc945db08aae1f1b746012662d643e97"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:42:52 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:42:52 2010 +1000"
      },
      "message": "xfs: unlock items before allowing the CIL to commit\n\nWhen we commit a transaction using delayed logging, we need to\nunlock the items in the transaciton before we unlock the CIL context\nand allow it to be checkpointed. If we unlock them after we release\nthe CIl context lock, the CIL can checkpoint and complete before\nwe free the log items. This breaks stale buffer item unlock and\nunpin processing as there is an implicit assumption that the unlock\nwill occur before the unpin.\n\nAlso, some log items need to store the LSN of the transaction commit\nin the item (inodes and EFIs) and so can race with other transaction\ncompletions if we don\u0027t prevent the CIL from checkpointing before\nthe unlock occurs.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "24e6cf92fde1f140d8eb0bf7cd24c2c78149b6b2",
      "tree": "62ead9abea45977c5c9086284611bcb74f844aa2",
      "parents": [
        "3ec6bbcdb4e85403f2c5958876ca9492afdf4031"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Aug 23 11:38:04 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 23 17:38:31 2010 +0000"
      },
      "message": "cifs: check for NULL session password\n\nIt\u0027s possible for a cifsSesInfo struct to have a NULL password, so we\nneed to check for that prior to running strncmp on it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3ec6bbcdb4e85403f2c5958876ca9492afdf4031",
      "tree": "6195d224dd698fced1164ec6b6bf6127b9285985",
      "parents": [
        "9fbc590860e75785bdaf8b83e48fabfe4d4f7d58"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Mon Aug 23 11:04:07 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 23 17:38:24 2010 +0000"
      },
      "message": "missing changes during ntlmv2/ntlmssp auth and sign\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "07a27e226d1ed210d2d4218bd0642b40f5405c6a",
      "tree": "7b24e5b3b88d8e682b70684b0df7ee0db333fe46",
      "parents": [
        "124514918b030d74f1f3e15483b7bf3b85268082"
      ],
      "author": {
        "name": "Henry C Chang",
        "email": "henry_c_chang@tcloudcomputing.com",
        "time": "Sun Aug 22 21:34:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 21:34:27 2010 -0700"
      },
      "message": "ceph: fix osd request lru adjustment when sending request\n\nFix argument order.  We want to move the item to the end of the list, not\nchange the position of the head.\n\nSigned-off-by: Henry C Chang \u003chenry_c_chang@tcloudcomputing.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "124514918b030d74f1f3e15483b7bf3b85268082",
      "tree": "78f539354383bf0820dc1cb20fd752b63f74760c",
      "parents": [
        "679ceace848e9fd570678396ffe1ef034e00e82d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 21:33:32 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 21:33:32 2010 -0700"
      },
      "message": "ceph: don\u0027t improperly set dir complete when holding EXCL cap\n\nIf we hold the EXCL cap, we cannot trust the dir stats from the MDS (num\nfiles, subdirs) and must not incorrectly conclude that the directory is\nempty.  If we do, we get can bad results from lookup (bad ENOENT) and\nbad readdir results.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "679ceace848e9fd570678396ffe1ef034e00e82d",
      "tree": "670768527852f134cfe3e20d425534a16edd968a",
      "parents": [
        "eb6bb1c5bdc6e455a9d16cb845cc65afc9b0a617"
      ],
      "author": {
        "name": "Michael Rubin",
        "email": "mrubin@google.com",
        "time": "Fri Aug 20 02:31:26 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:51 2010 -0700"
      },
      "message": "mm: exporting account_page_dirty\n\nThis allows code outside of the mm core to safely manipulate page state\nand not worry about the other accounting. Not using these routines means\nthat some code will lose track of the accounting and we get bugs. This\nhas happened once already.\n\nSigned-off-by: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "eb6bb1c5bdc6e455a9d16cb845cc65afc9b0a617",
      "tree": "8bbdd454c7a528b7a9f7d84bf084311b7433757f",
      "parents": [
        "ed326044489ed89c740c50a3df5dffc9c3b20b96"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 16 09:21:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:48 2010 -0700"
      },
      "message": "ceph: direct requests in snapped namespace based on nonsnap parent\n\nWhen making a request in the virtual snapdir or a snapped portion of the\nnamespace, we should choose the MDS based on the first nonsnap parent (and\nits caps).  If that is not the best place, we will get forward hints to\nfind the right MDS in the cluster.  This fixes ESTALE errors when using\nthe .snap directory and namespace with multiple MDSs.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ed326044489ed89c740c50a3df5dffc9c3b20b96",
      "tree": "364fb2896488cd2c7964960e01fa123d2b6ecb51",
      "parents": [
        "4a625be47243e0e07dedd0a1a6b94c66c2ab93ba"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 16 13:37:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:47 2010 -0700"
      },
      "message": "ceph: queue cap snap writeback for realm children on snap update\n\nWhen a realm is updated, we need to queue writeback on inodes in that\nrealm _and_ its children.  Otherwise, if the inode gets cowed on the\nserver, we can get a hang later due to out-of-sync cap/snap state.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4a625be47243e0e07dedd0a1a6b94c66c2ab93ba",
      "tree": "4224efef4f83bcf629934d6da17d2c122b49ba5c",
      "parents": [
        "082afec92d1052305af1195f591602f4d0f44277"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:03:56 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:46 2010 -0700"
      },
      "message": "ceph: include dirty xattrs state in snapped caps\n\nWhen we snapshot dirty metadata that needs to be written back to the MDS,\ninclude dirty xattr metadata.  Make the capsnap reference the encoded\nxattr blob so that it will be written back in the FLUSHSNAP op.\n\nAlso fix the capsnap creation guard to include dirty auth or file bits,\nnot just tests specific to dirty file data or file writes in progress\n(this fixes auth metadata writeback).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "082afec92d1052305af1195f591602f4d0f44277",
      "tree": "7012fc71ac7be7bd88f2b0d92f27a3ba46c354de",
      "parents": [
        "f3c60c5918f26ea16761ddc8b12d8401a3db626b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:41 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:41 2010 -0700"
      },
      "message": "ceph: fix xattr cap writeback\n\nWe should include the xattr metadata blob in the cap update message any\ntime we are flushing dirty state, NOT just when we are also dropping the\ncap.  This fixes async xattr writeback.\n\nAlso, clean up the code slightly to avoid duplicating the bit test.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f3c60c5918f26ea16761ddc8b12d8401a3db626b",
      "tree": "00bde7250b6753910a38b454c7a9cee2eb7e84e7",
      "parents": [
        "e56fa10e92e077d456cbc33b7025032887772b33"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 11 14:51:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:04:43 2010 -0700"
      },
      "message": "ceph: fix multiple mds session shutdown\n\nThe use of a completion when waiting for session shutdown during umount is\ninappropriate, given the complexity of the condition.  For multiple MDS\u0027s,\nthis resulted in the umount thread spinning, often preventing the session\nclose message from being processed in some cases.\n\nSwitch to a waitqueue and defined a condition helper.  This cleans things\nup nicely.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a28e0852d45e65d9edf249c36e432b5e0a80f01d",
      "tree": "b19f4725757252eb070157b06765235138384813",
      "parents": [
        "e36c886a0f9d624377977fa6cae309cfd7f362fa",
        "1cb0c924fa2d616e5e3b5bc62d97191aac9ff442"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 09:44:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 09:44:47 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: wait for discard to finish\n"
    },
    {
      "commit": "9fbc590860e75785bdaf8b83e48fabfe4d4f7d58",
      "tree": "dccc154927cf1e12c702537b5bc028158b938e21",
      "parents": [
        "bf4f12113812ac5be76c5590c6f50c8346f784a4"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Aug 20 20:42:26 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Aug 20 20:42:26 2010 +0000"
      },
      "message": "[CIFS] Fix ntlmv2 auth with ntlmssp\n\nMake ntlmv2 as an authentication mechanism within ntlmssp\ninstead of ntlmv1.\nParse type 2 response in ntlmssp negotiation to pluck\nAV pairs and use them to calculate ntlmv2 response token.\nAlso, assign domain name from the sever response in type 2\npacket of ntlmssp and use that (netbios) domain name in\ncalculation of response.\n\nEnable cifs/smb signing using rc4 and md5.\n\nChanged name of the structure mac_key to session_key to reflect\nthe type of key it holds.\n\nUse kernel crypto_shash_* APIs instead of the equivalent cifs functions.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bf4f12113812ac5be76c5590c6f50c8346f784a4",
      "tree": "d159876dddb3d53c0e2e68675b93610c85ba4e03",
      "parents": [
        "fc87a40677bbe0937e2ff0642c7e83c9a4813f3d"
      ],
      "author": {
        "name": "Igor Druzhinin",
        "email": "jaxbrigs@gmail.com",
        "time": "Fri Aug 20 00:27:12 2010 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Aug 20 00:46:42 2010 +0000"
      },
      "message": "cifs: correction of unicode header files\n\nThis patch corrects a problem of compilation errors at removal of\nUNIUPR_NOLOWER definition and adds include guards to cifs_unicode.h.\n\nSigned-off-by: Igor Druzhinin \u003cjaxbrigs@gmail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "763008c4357b73c8d18396dfd8d79dc58fa3f99d",
      "tree": "818add523a6b81b560bebac727c57c6a8ea6fd63",
      "parents": [
        "d1126ad907ce197ff45fbc2369fbeaf8ae6f75a8",
        "0a377cff9428af2da2b293d11e07bc4dbf064ee5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 15:45:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 15:45:23 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix an Oops in the NFSv4 atomic open code\n  NFS: Fix the selection of security flavours in Kconfig\n  NFS: fix the return value of nfs_file_fsync()\n  rpcrdma: Fix SQ size calculation when memreg is FRMR\n  xprtrdma: Do not truncate iova_start values in frmr registrations.\n  nfs: Remove redundant NULL check upon kfree()\n  nfs: Add \"lookupcache\" to displayed mount options\n  NFS: allow close-to-open cache semantics to apply to root of NFS filesystem\n  SUNRPC: fix NFS client over TCP hangs due to packet loss (Bug 16494)\n"
    },
    {
      "commit": "fc87a40677bbe0937e2ff0642c7e83c9a4813f3d",
      "tree": "31912b8904ee316cee40d568db330c4e65e39325",
      "parents": [
        "232341ba7fa15115d40f6aa0f8dd14e96e3ad375"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Aug 18 13:13:39 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 18 17:26:25 2010 +0000"
      },
      "message": "cifs: fix NULL pointer dereference in cifs_find_smb_ses\n\ncifs_find_smb_ses assumes that the vol-\u003epassword field is a valid\npointer, but that\u0027s only the case if a password was passed in via\nthe options string. It\u0027s possible that one won\u0027t be if there is\nno mount helper on the box.\n\nReported-by: diabel \u003cgacek-2004@wp.pl\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "145c3ae46b37993b0debb0b3da6256daea4a6ec5",
      "tree": "0dbff382ce36b23b3d2dbff87d3eaab73a07a2a4",
      "parents": [
        "81ca03a0e2ea0207b2df80e0edcf4c775c07a505",
        "99b7db7b8ffd6bb755eb0a175596421a0b581cb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  fs: brlock vfsmount_lock\n  fs: scale files_lock\n  lglock: introduce special lglock and brlock spin locks\n  tty: fix fu_list abuse\n  fs: cleanup files_lock locking\n  fs: remove extra lookup in __lookup_hash\n  fs: fs_struct rwlock to spinlock\n  apparmor: use task path helpers\n  fs: dentry allocation consolidation\n  fs: fix do_lookup false negative\n  mbcache: Limit the maximum number of cache entries\n  hostfs -\u003efollow_link() braino\n  hostfs: dumb (and usually harmless) tpyo - strncpy instead of strlcpy\n  remove SWRITE* I/O types\n  kill BH_Ordered flag\n  vfs: update ctime when changing the file\u0027s permission by setfacl\n  cramfs: only unlock new inodes\n  fix reiserfs_evict_inode end_writeback second call\n"
    },
    {
      "commit": "1cb0c924fa2d616e5e3b5bc62d97191aac9ff442",
      "tree": "199a9ffc425033d27620e70d8ffd44a9e44ad931",
      "parents": [
        "3b89f56783a4ef796190ef1192c25e72e0b986b6"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Aug 18 21:11:11 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Aug 19 00:11:06 2010 +0900"
      },
      "message": "nilfs2: wait for discard to finish\n\nnilfs_discard_segment() doesn\u0027t wait for completion of discard\nrequests.  This specifies BLKDEV_IFL_WAIT flag when calling\nblkdev_issue_discard() in order to fix the sync failure.\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0a377cff9428af2da2b293d11e07bc4dbf064ee5",
      "tree": "af97cd65f7e662bef87866b6a876831416f60a1f",
      "parents": [
        "df486a25900f4dba9cdc3886c4ac871951c6aef3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 18 09:25:42 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 18 09:25:42 2010 -0400"
      },
      "message": "NFS: Fix an Oops in the NFSv4 atomic open code\n\nAdam Lackorzynski reports:\n\nwith 2.6.35.2 I\u0027m getting this reproducible Oops:\n\n[  110.825396] BUG: unable to handle kernel NULL pointer dereference at\n(null)\n[  110.828638] IP: [\u003cffffffff811247b7\u003e] encode_attrs+0x1a/0x2a4\n[  110.828638] PGD be89f067 PUD bf18f067 PMD 0\n[  110.828638] Oops: 0000 [#1] SMP\n[  110.828638] last sysfs file: /sys/class/net/lo/operstate\n[  110.828638] CPU 2\n[  110.828638] Modules linked in: rtc_cmos rtc_core rtc_lib amd64_edac_mod\ni2c_amd756 edac_core i2c_core dm_mirror dm_region_hash dm_log dm_snapshot\nsg sr_mod usb_storage ohci_hcd mptspi tg3 mptscsih mptbase usbcore nls_base\n[last unloaded: scsi_wait_scan]\n[  110.828638]\n[  110.828638] Pid: 11264, comm: setchecksum Not tainted 2.6.35.2 #1\n[  110.828638] RIP: 0010:[\u003cffffffff811247b7\u003e]  [\u003cffffffff811247b7\u003e]\nencode_attrs+0x1a/0x2a4\n[  110.828638] RSP: 0000:ffff88003bf5b878  EFLAGS: 00010296\n[  110.828638] RAX: ffff8800bddb48a8 RBX: ffff88003bf5bb18 RCX:\n0000000000000000\n[  110.828638] RDX: ffff8800be258800 RSI: 0000000000000000 RDI:\nffff88003bf5b9f8\n[  110.828638] RBP: 0000000000000000 R08: ffff8800bddb48a8 R09:\n0000000000000004\n[  110.828638] R10: 0000000000000003 R11: ffff8800be779000 R12:\nffff8800be258800\n[  110.828638] R13: ffff88003bf5b9f8 R14: ffff88003bf5bb20 R15:\nffff8800be258800\n[  110.828638] FS:  0000000000000000(0000) GS:ffff880041e00000(0063)\nknlGS:00000000556bd6b0\n[  110.828638] CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b\n[  110.828638] CR2: 0000000000000000 CR3: 00000000be8ef000 CR4:\n00000000000006e0\n[  110.828638] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n0000000000000000\n[  110.828638] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:\n0000000000000400\n[  110.828638] Process setchecksum (pid: 11264, threadinfo\nffff88003bf5a000, task ffff88003f232210)\n[  110.828638] Stack:\n[  110.828638]  0000000000000000 ffff8800bfbcf920 0000000000000000\n0000000000000ffe\n[  110.828638] \u003c0\u003e 0000000000000000 0000000000000000 0000000000000000\n0000000000000000\n[  110.828638] \u003c0\u003e 0000000000000000 0000000000000000 0000000000000000\n0000000000000000\n[  110.828638] Call Trace:\n[  110.828638]  [\u003cffffffff81124c1f\u003e] ? nfs4_xdr_enc_setattr+0x90/0xb4\n[  110.828638]  [\u003cffffffff81371161\u003e] ? call_transmit+0x1c3/0x24a\n[  110.828638]  [\u003cffffffff813774d9\u003e] ? __rpc_execute+0x78/0x22a\n[  110.828638]  [\u003cffffffff81371a91\u003e] ? rpc_run_task+0x21/0x2b\n[  110.828638]  [\u003cffffffff81371b7e\u003e] ? rpc_call_sync+0x3d/0x5d\n[  110.828638]  [\u003cffffffff8111e284\u003e] ? _nfs4_do_setattr+0x11b/0x147\n[  110.828638]  [\u003cffffffff81109466\u003e] ? nfs_init_locked+0x0/0x32\n[  110.828638]  [\u003cffffffff810ac521\u003e] ? ifind+0x4e/0x90\n[  110.828638]  [\u003cffffffff8111e2fb\u003e] ? nfs4_do_setattr+0x4b/0x6e\n[  110.828638]  [\u003cffffffff8111e634\u003e] ? nfs4_do_open+0x291/0x3a6\n[  110.828638]  [\u003cffffffff8111ed81\u003e] ? nfs4_open_revalidate+0x63/0x14a\n[  110.828638]  [\u003cffffffff811056c4\u003e] ? nfs_open_revalidate+0xd7/0x161\n[  110.828638]  [\u003cffffffff810a2de4\u003e] ? do_lookup+0x1a4/0x201\n[  110.828638]  [\u003cffffffff810a4733\u003e] ? link_path_walk+0x6a/0x9d5\n[  110.828638]  [\u003cffffffff810a42b6\u003e] ? do_last+0x17b/0x58e\n[  110.828638]  [\u003cffffffff810a5fbe\u003e] ? do_filp_open+0x1bd/0x56e\n[  110.828638]  [\u003cffffffff811cd5e0\u003e] ? _atomic_dec_and_lock+0x30/0x48\n[  110.828638]  [\u003cffffffff810a9b1b\u003e] ? dput+0x37/0x152\n[  110.828638]  [\u003cffffffff810ae063\u003e] ? alloc_fd+0x69/0x10a\n[  110.828638]  [\u003cffffffff81099f39\u003e] ? do_sys_open+0x56/0x100\n[  110.828638]  [\u003cffffffff81027a22\u003e] ? ia32_sysret+0x0/0x5\n[  110.828638] Code: 83 f1 01 e8 f5 ca ff ff 48 83 c4 50 5b 5d 41 5c c3 41\n57 41 56 41 55 49 89 fd 41 54 49 89 d4 55 48 89 f5 53 48 81 ec 18 01 00 00\n\u003c8b\u003e 06 89 c2 83 e2 08 83 fa 01 19 db 83 e3 f8 83 c3 18 a8 01 8d\n[  110.828638] RIP  [\u003cffffffff811247b7\u003e] encode_attrs+0x1a/0x2a4\n[  110.828638]  RSP \u003cffff88003bf5b878\u003e\n[  110.828638] CR2: 0000000000000000\n[  112.840396] ---[ end trace 95282e83fd77358f ]---\n\nWe need to ensure that the O_EXCL flag is turned off if the user doesn\u0027t\nset O_CREAT.\n\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99b7db7b8ffd6bb755eb0a175596421a0b581cb2",
      "tree": "cbaf57d252f0852f967d3fd5a5f87472964a01fe",
      "parents": [
        "6416ccb7899960868f5016751fb81bf25213d24f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:39 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:48 2010 -0400"
      },
      "message": "fs: brlock vfsmount_lock\n\nfs: brlock vfsmount_lock\n\nUse a brlock for the vfsmount lock. It must be taken for write whenever\nmodifying the mount hash or associated fields, and may be taken for read when\nperforming mount hash lookups.\n\nA new lock is added for the mnt-id allocator, so it doesn\u0027t need to take\nthe heavy vfsmount write-lock.\n\nThe number of atomics should remain the same for fastpath rlock cases, though\ncode would be slightly slower due to per-cpu access. Scalability is not not be\nmuch improved in common cases yet, due to other locks (ie. dcache_lock) getting\nin the way. However path lookups crossing mountpoints should be one case where\nscalability is improved (currently requiring the global lock).\n\nThe slowpath is slower due to use of brlock. On a 64 core, 64 socket, 32 node\nAltix system (high latency to remote nodes), a simple umount microbenchmark\n(mount --bind mnt mnt2 ; umount mnt2 loop 1000 times), before this patch it\ntook 6.8s, afterwards took 7.1s, about 5% slower.\n\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6416ccb7899960868f5016751fb81bf25213d24f",
      "tree": "457069571211e4ece844dc332a2f9673705a5bde",
      "parents": [
        "2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:38 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:48 2010 -0400"
      },
      "message": "fs: scale files_lock\n\nfs: scale files_lock\n\nImprove scalability of files_lock by adding per-cpu, per-sb files lists,\nprotected with an lglock. The lglock provides fast access to the per-cpu lists\nto add and remove files. It also provides a snapshot of all the per-cpu lists\n(although this is very slow).\n\nOne difficulty with this approach is that a file can be removed from the list\nby another CPU. We must track which per-cpu list the file is on with a new\nvariale in the file struct (packed into a hole on 64-bit archs). Scalability\ncould suffer if files are frequently removed from different cpu\u0027s list.\n\nHowever loads with frequent removal of files imply short interval between\nadding and removing the files, and the scheduler attempts to avoid moving\nprocesses too far away. Also, even in the case of cross-CPU removal, the\nhardware has much more opportunity to parallelise cacheline transfers with N\ncachelines than with 1.\n\nA worst-case test of 1 CPU allocating files subsequently being freed by N CPUs\ndegenerates to contending on a single lock, which is no worse than before. When\nmore than one CPU are allocating files, even if they are always freed by\ndifferent CPUs, there will be more parallelism than the single-lock case.\n\nTesting results:\n\nOn a 2 socket, 8 core opteron, I measure the number of times the lock is taken\nto remove the file, the number of times it is removed by the same CPU that\nadded it, and the number of times it is removed by the same node that added it.\n\nBooting:    locks\u003d  25049 cpu-hits\u003d  23174 (92.5%) node-hits\u003d  23945 (95.6%)\nkbuild -j16 locks\u003d2281913 cpu-hits\u003d2208126 (96.8%) node-hits\u003d2252674 (98.7%)\ndbench 64   locks\u003d4306582 cpu-hits\u003d4287247 (99.6%) node-hits\u003d4299527 (99.8%)\n\nSo a file is removed from the same CPU it was added by over 90% of the time.\nIt remains within the same node 95% of the time.\n\nTim Chen ran some numbers for a 64 thread Nehalem system performing a compile.\n\n                throughput\n2.6.34-rc2      24.5\n+patch          24.9\n\n                us      sys     idle    IO wait (in %)\n2.6.34-rc2      51.25   28.25   17.25   3.25\n+patch          53.75   18.5    19      8.75\n\nSo significantly less CPU time spent in kernel code, higher idle time and\nslightly higher throughput.\n\nSingle threaded performance difference was within the noise of microbenchmarks.\nThat is not to say penalty does not exist, the code is larger and more memory\naccesses required so it will be slightly slower.\n\nCc: linux-kernel@vger.kernel.org\nCc: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d996b62a8df1d935b01319bf8defb95b5709f7b8",
      "tree": "d81f8240da776336845a2063555d7bb4dce684bd",
      "parents": [
        "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:36 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "tty: fix fu_list abuse\n\ntty: fix fu_list abuse\n\ntty code abuses fu_list, which causes a bug in remount,ro handling.\n\nIf a tty device node is opened on a filesystem, then the last link to the inode\nremoved, the filesystem will be allowed to be remounted readonly. This is\nbecause fs_may_remount_ro does not find the 0 link tty inode on the file sb\nlist (because the tty code incorrectly removed it to use for its own purpose).\nThis can result in a filesystem with errors after it is marked \"clean\".\n\nTaking idea from Christoph\u0027s initial patch, allocate a tty private struct\nat file-\u003eprivate_data and put our required list fields in there, linking\nfile and tty. This makes tty nodes behave the same way as other device nodes\nand avoid meddling with the vfs, and avoids this bug.\n\nThe error handling is not trivial in the tty code, so for this bugfix, I take\nthe simple approach of using __GFP_NOFAIL and don\u0027t worry about memory errors.\nThis is not a problem because our allocator doesn\u0027t fail small allocs as a rule\nanyway. So proper error handling is left as an exercise for tty hackers.\n\n[ Arguably filesystem\u0027s device inode would ideally be divorced from the\ndriver\u0027s pseudo inode when it is opened, but in practice it\u0027s not clear whether\nthat will ever be worth implementing. ]\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8",
      "tree": "e48400d1a33f8d2e68589ccfd61637aa64462f08",
      "parents": [
        "b04f784e5d19ed58892833dae845738972cea260"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:35 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: cleanup files_lock locking\n\nfs: cleanup files_lock locking\n\nLock tty_files with a new spinlock, tty_files_lock; provide helpers to\nmanipulate the per-sb files list; unexport the files_lock spinlock.\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b04f784e5d19ed58892833dae845738972cea260",
      "tree": "6060e063b5a51461fd60630d57318778fe987148",
      "parents": [
        "2a4419b5b2a77f3f4537c14f7ad7df95770655dd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:34 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: remove extra lookup in __lookup_hash\n\nfs: remove extra lookup in __lookup_hash\n\nOptimize lookup for create operations, where no dentry should often be\ncommon-case. In cases where it is not, such as unlink, the added overhead\nis much smaller than the removed.\n\nAlso, move comments about __d_lookup racyness to the __d_lookup call site.\nd_lookup is intuitive; __d_lookup is what needs commenting. So in that same\nvein, add kerneldoc comments to __d_lookup and clean up some of the comments:\n\n- We are interested in how the RCU lookup works here, particularly with\n  renames. Make that explicit, and point to the document where it is explained\n  in more detail.\n- RCU is pretty standard now, and macros make implementations pretty mindless.\n  If we want to know about RCU barrier details, we look in RCU code.\n- Delete some boring legacy comments because we don\u0027t care much about how the\n  code used to work, more about the interesting parts of how it works now. So\n  comments about lazy LRU may be interesting, but would better be done in the\n  LRU or refcount management code.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a4419b5b2a77f3f4537c14f7ad7df95770655dd",
      "tree": "ad66519a92b995920ecada788e4a08e265747545",
      "parents": [
        "44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:33 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:46 2010 -0400"
      },
      "message": "fs: fs_struct rwlock to spinlock\n\nfs: fs_struct rwlock to spinlock\n\nstruct fs_struct.lock is an rwlock with the read-side used to protect root and\npwd members while taking references to them. Taking a reference to a path\ntypically requires just 2 atomic ops, so the critical section is very small.\nParallel read-side operations would have cacheline contention on the lock, the\ndentry, and the vfsmount cachelines, so the rwlock is unlikely to ever give a\nreal parallelism increase.\n\nReplace it with a spinlock to avoid one or two atomic operations in typical\npath lookup fastpath.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "baa0389073eb7beb9d36f6d13df97e16c1bfa626",
      "tree": "38567c4e315f74fe086e4f7459df2a1cadd9add6",
      "parents": [
        "2e2e88ea8c3bd9e1bd6e42faf047a4ac3fbb3b2f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:31 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:45 2010 -0400"
      },
      "message": "fs: dentry allocation consolidation\n\nfs: dentry allocation consolidation\n\nThere are 2 duplicate copies of code in dentry allocation in path lookup.\nConsolidate them into a single function.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e2e88ea8c3bd9e1bd6e42faf047a4ac3fbb3b2f",
      "tree": "398f6de92d9e41419297354a26e25e0db8a693f6",
      "parents": [
        "3a48ee8a4ad26c3a538b6fc11a86a8f80c3dce18"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:30 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:45 2010 -0400"
      },
      "message": "fs: fix do_lookup false negative\n\nfs: fix do_lookup false negative\n\nIn do_lookup, if we initially find no dentry, we take the directory i_mutex and\nre-check the lookup. If we find a dentry there, then we revalidate it if\nneeded. However if that revalidate asks for the dentry to be invalidated, we\nreturn -ENOENT from do_lookup. What should happen instead is an attempt to\nallocate and lookup a new dentry.\n\nThis is probably not noticed because it is rare. It is only reached if a\nconcurrent create races in first (in which case, the dentry probably won\u0027t be\ninvalidated anyway), or if the racy __d_lookup has failed due to a\nfalse-negative (which is very rare).\n\nFix this by removing code and have it use the normal reval path.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a48ee8a4ad26c3a538b6fc11a86a8f80c3dce18",
      "tree": "3e89deaa14c8d72c7484f61c2babc5755a9e991e",
      "parents": [
        "3b6036d148bad5bb7928b021a49bb9e395361084"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Aug 16 19:05:23 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:24:41 2010 -0400"
      },
      "message": "mbcache: Limit the maximum number of cache entries\n\nLimit the maximum number of mb_cache entries depending on the number of\nhash buckets: if the only limit to the number of cache entries is the\navailable memory the hash chains can grow very long, taking a long time\nto search.\n\nAt least partially solves https://bugzilla.lustre.org/show_bug.cgi?id\u003d22771.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3b6036d148bad5bb7928b021a49bb9e395361084",
      "tree": "f64408944d4ef7f74290a689750484f1fb473d20",
      "parents": [
        "850a496f969719b494cc972ab1d0e088737358d7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:21:10 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:21:10 2010 -0400"
      },
      "message": "hostfs -\u003efollow_link() braino\n\nwe want the assignment to err done inside the if () to be\nvisible after it, so (re)declaring err inside if () body\nis wrong.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "850a496f969719b494cc972ab1d0e088737358d7",
      "tree": "9892f09f246b8e855d0e89e58b649e0c5224bb20",
      "parents": [
        "9cb569d601e0b93e01c20a22872270ec663b75f6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:18:57 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:18:57 2010 -0400"
      },
      "message": "hostfs: dumb (and usually harmless) tpyo - strncpy instead of strlcpy\n\n... not harmless in this case - we have a string in the end of buffer\nalready.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9cb569d601e0b93e01c20a22872270ec663b75f6",
      "tree": "80b2568fae48018806e82f8884062dae8a5494ae",
      "parents": [
        "87e99511ea54510ffb60b98001d108794d5037f8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Aug 11 17:06:24 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:09:01 2010 -0400"
      },
      "message": "remove SWRITE* I/O types\n\nThese flags aren\u0027t real I/O types, but tell ll_rw_block to always\nlock the buffer instead of giving up on a failed trylock.\n\nInstead add a new write_dirty_buffer helper that implements this semantic\nand use it from the existing SWRITE* callers.  Note that the ll_rw_block\ncode had a bug where it didn\u0027t promote WRITE_SYNC_PLUG properly, which\nthis patch fixes.\n\nIn the ufs code clean up the helper that used to call ll_rw_block\nto mirror sync_dirty_buffer, which is the function it implements for\ncompound buffers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "87e99511ea54510ffb60b98001d108794d5037f8",
      "tree": "359228828515e02302d9b259a066a1f1118eba0a",
      "parents": [
        "dad5eb6daa7eeb63d4fc9d982892c59faa07e797"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Aug 11 17:05:45 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:09:00 2010 -0400"
      },
      "message": "kill BH_Ordered flag\n\nInstead of abusing a buffer_head flag just add a variant of\nsync_dirty_buffer which allows passing the exact type of write\nflag required.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dad5eb6daa7eeb63d4fc9d982892c59faa07e797",
      "tree": "ed4254bdc2353350a48dff0bd7afadd167c1fa21",
      "parents": [
        "b845ff8f3ea2988ad5041315e2d35298e85cbc2f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 17 12:42:13 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:04:22 2010 -0400"
      },
      "message": "vfs: update ctime when changing the file\u0027s permission by setfacl\n\ngeneric_acl_set didn\u0027t update the ctime of the file when its permission was\nchanged.\n\nSteps to reproduce:\n # touch aaa\n # stat -c %Z aaa\n 1275289822\n # setfacl -m  \u0027u::x,g::x,o::x\u0027 aaa\n # stat -c %Z aaa\n 1275289822                         \u003c- unchanged\n\nBut, according to the spec of the ctime, vfs must update it.\n\nPort of ext3 patch by Miao Xie \u003cmiaox@cn.fujitsu.com\u003e.\n\nCC: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b845ff8f3ea2988ad5041315e2d35298e85cbc2f",
      "tree": "b2b4c7aaa45281ad8e0b1f39679ea7e2ff58da7e",
      "parents": [
        "f4ae2faa40199b97b12f508234640bc565d166f8"
      ],
      "author": {
        "name": "Alexander Shishkin",
        "email": "virtuoso@slind.org",
        "time": "Tue Aug 17 17:08:35 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:01:33 2010 -0400"
      },
      "message": "cramfs: only unlock new inodes\n\nCommit 77b8a75f5bb introduced a warning at fs/inode.c:692 unlock_new_inode(),\ncaused by unlock_new_inode() being called on existing inodes as well.\n\nThis patch changes setup_inode() to only call unlock_new_inode() for I_NEW\ninodes.\n\nSigned-off-by: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f4ae2faa40199b97b12f508234640bc565d166f8",
      "tree": "a4441d53e663fe028693bd140c0c1aae26091626",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Wed Aug 11 14:07:01 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 00:58:57 2010 -0400"
      },
      "message": "fix reiserfs_evict_inode end_writeback second call\n\nreiserfs_evict_inode calls end_writeback two times hitting\nkernel BUG at fs/inode.c:298 becase inode-\u003ei_state is I_CLEAR already.\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "351f13d7087d4f633552d0e5491adf049fc9276c",
      "tree": "d17e71e91b78c9543a6e4641bd7cb920e0cb63fc",
      "parents": [
        "e14f64c2079240082f3c5bf98d9ecf3dc6780338",
        "ea1a16f7168ac19d974ac51b47593b92280e7992"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:35:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:35:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix false warning saying one of two super blocks is broken\n  nilfs2: fix list corruption after ifile creation failure\n"
    },
    {
      "commit": "d7627467b7a8dd6944885290a03a07ceb28c10eb",
      "tree": "a18c83468418e878cfb2d44e4310d81b8db84ad7",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 17 23:52:56 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:07:43 2010 -0700"
      },
      "message": "Make do_execve() take a const filename pointer\n\nMake do_execve() take a const filename pointer so that kernel_execve() compiles\ncorrectly on ARM:\n\narch/arm/kernel/sys_arm.c:88: warning: passing argument 1 of \u0027do_execve\u0027 discards qualifiers from pointer target type\n\nThis also requires the argv and envp arguments to be consted twice, once for\nthe pointer array and once for the strings the array points to.  This is\nbecause do_execve() passes a pointer to the filename (now const) to\ncopy_strings_kernel().  A simpler alternative would be to cast the filename\npointer in do_execve() when it\u0027s passed to copy_strings_kernel().\n\ndo_execve() may not change any of the strings it is passed as part of the argv\nor envp lists as they are some of them in .rodata, so marking these strings as\nconst should be fine.\n\nFurther kernel_execve() and sys_execve() need to be changed to match.\n\nThis has been test built on x86_64, frv, arm and mips.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df486a25900f4dba9cdc3886c4ac871951c6aef3",
      "tree": "4d13ffd2b4de988c4d1d8863cf60196476ce48c0",
      "parents": [
        "0702099bd86c33c2dcdbd3963433a61f3f503901"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 17 17:42:45 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 17 17:42:45 2010 -0400"
      },
      "message": "NFS: Fix the selection of security flavours in Kconfig\n\nRandy Dunlap reports:\n\nERROR: \"svc_gss_principal\" [fs/nfs/nfs.ko] undefined!\n\n\nbecause in fs/nfs/Kconfig, NFS_V4 selects RPCSEC_GSS_KRB5\nand/or in fs/nfsd/Kconfig, NFSD_V4 selects RPCSEC_GSS_KRB5.\n\nRPCSEC_GSS_KRB5 does 5 selects, but none of these is enforced/followed\nby the fs/nfs[d]/Kconfig configs:\n\n\tselect SUNRPC_GSS\n\tselect CRYPTO\n\tselect CRYPTO_MD5\n\tselect CRYPTO_DES\n\tselect CRYPTO_CBC\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "232341ba7fa15115d40f6aa0f8dd14e96e3ad375",
      "tree": "1e9c2232b754d99616e5f7770d4c637438411455",
      "parents": [
        "5d9ac7fd32f600f9451ea58abdb07f7ed42e921d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Aug 05 13:58:38 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 16 20:34:48 2010 +0000"
      },
      "message": "cifs: consolidate error handling in several functions\n\ncifs has a lot of complicated functions that have to clean up things on\nerror, but some of them don\u0027t have all of the cleanup code\nwell-consolidated. Clean up and consolidate error handling in several\nfunctions.\n\nThis is in preparation of later patches that will need to put references\nto the tcon link container.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5d9ac7fd32f600f9451ea58abdb07f7ed42e921d",
      "tree": "bfc83c4bb3fcb50b32216056f10b80dc437e6446",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Aug 05 13:58:22 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 16 17:00:44 2010 +0000"
      },
      "message": "cifs: clean up error handling in cifs_mknod\n\nGet rid of some nesting and add a label we can goto on error.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ea1a16f7168ac19d974ac51b47593b92280e7992",
      "tree": "e16e89f6f8f3a440476bba74a1c28d2f5bc0f5f4",
      "parents": [
        "af4e36318edb848fcc0a8d5f75000ca00cdc7595"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 15 20:16:11 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Aug 16 11:08:36 2010 +0900"
      },
      "message": "nilfs2: fix false warning saying one of two super blocks is broken\n\nAfter applying commit b2ac86e1, the following message got appeared\nafter unclean shutdown:\n\n\u003e NILFS warning: broken superblock. using spare superblock.\n\nThis turns out to be a false message due to the change which updates\ntwo super blocks alternately.  The secondary super block now can be\nselected if it\u0027s newer than the primary one.\n\nThis kills the false warning by suppressing it if another super block\nis not actually broken.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "af4e36318edb848fcc0a8d5f75000ca00cdc7595",
      "tree": "c23ce8d1839f31ec4c472da184f16542a59752dd",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Aug 13 12:42:24 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Aug 16 11:08:36 2010 +0900"
      },
      "message": "nilfs2: fix list corruption after ifile creation failure\n\nIf nilfs_attach_checkpoint() gets a memory allocation failure during\ncreation of ifile, it will return without removing nilfs_sb_info\nstruct from ns_supers list.  When a concurrently mounted snapshot is\nunmounted or another new snapshot is mounted after that, this causes\nkernel oops as below:\n\n\u003e BUG: unable to handle kernel NULL pointer dereference at (null)\n\u003e IP: [\u003cf83662ff\u003e] nilfs_find_sbinfo+0x74/0xa4 [nilfs2]\n\u003e *pde \u003d 00000000\n\u003e Oops: 0000 [#1] SMP\n\u003csnip\u003e\n\u003e Call Trace:\n\u003e  [\u003cf835dc29\u003e] ? nilfs_get_sb+0x165/0x532 [nilfs2]\n\u003e  [\u003cc1173c87\u003e] ? ida_get_new_above+0x16d/0x187\n\u003e  [\u003cc109a7f8\u003e] ? alloc_vfsmnt+0x7e/0x10a\n\u003e  [\u003cc1070790\u003e] ? kstrdup+0x2c/0x40\n\u003e  [\u003cc1089041\u003e] ? vfs_kern_mount+0x96/0x14e\n\u003e  [\u003cc108913d\u003e] ? do_kern_mount+0x32/0xbd\n\u003e  [\u003cc109b331\u003e] ? do_mount+0x642/0x6a1\n\u003e  [\u003cc101a415\u003e] ? do_page_fault+0x0/0x2d1\n\u003e  [\u003cc1099c00\u003e] ? copy_mount_options+0x80/0xe2\n\u003e  [\u003cc10705d8\u003e] ? strndup_user+0x48/0x67\n\u003e  [\u003cc109b3f1\u003e] ? sys_mount+0x61/0x90\n\u003e  [\u003cc10027cc\u003e] ? sysenter_do_call+0x12/0x22\n\nThis fixes the problem.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d7824370e26325c881b665350ce64fb0a4fde24a",
      "tree": "c3fb9ceb074d52c3edd166a927314c642f2fe631",
      "parents": [
        "1b68c9596ce17a1e06918ed65fc3d19b92b04aab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 15 11:35:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 15 11:35:52 2010 -0700"
      },
      "message": "mm: fix up some user-visible effects of the stack guard page\n\nThis commit makes the stack guard page somewhat less visible to user\nspace. It does this by:\n\n - not showing the guard page in /proc/\u003cpid\u003e/maps\n\n   It looks like lvm-tools will actually read /proc/self/maps to figure\n   out where all its mappings are, and effectively do a specialized\n   \"mlockall()\" in user space.  By not showing the guard page as part of\n   the mapping (by just adding PAGE_SIZE to the start for grows-up\n   pages), lvm-tools ends up not being aware of it.\n\n - by also teaching the _real_ mlock() functionality not to try to lock\n   the guard page.\n\n   That would just expand the mapping down to create a new guard page,\n   so there really is no point in trying to lock it in place.\n\nIt would perhaps be nice to show the guard page specially in\n/proc/\u003cpid\u003e/maps (or at least mark grow-down segments some way), but\nlet\u0027s not open ourselves up to more breakage by user space from programs\nthat depends on the exact deails of the \u0027maps\u0027 file.\n\nSpecial thanks to Henrique de Moraes Holschuh for diving into lvm-tools\nsource code to see what was going on with the whole new warning.\n\nReported-and-tested-by: François Valenduc \u003cfrancois.valenduc@tvcablenet.be\nReported-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd956a1c039a55a0ea58175b9a6e83c45799f3de",
      "tree": "d531e2764b9946e3f4ee94f881d2f67321653191",
      "parents": [
        "1f5cfe2f732c6f4d198950ec3c951105af24dd01"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Aug 14 13:05:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 14 16:21:00 2010 -0700"
      },
      "message": "fs/dcache: fix function param name in kernel-doc\n\nFix parameter name in kernel-doc notation (causes a warning).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83ae170092c8ec4d8a268d93438054e32493ee17",
      "tree": "829a2558434b702a447c62a36663c8063da6cdee",
      "parents": [
        "78b148696d380698270a15352bdb733631872aee",
        "6d0bf00512b3b1b5d09d9a44919983eec1cc6fd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 17:59:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 17:59:26 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: clean up compiler warning in start_this_handle()\n"
    },
    {
      "commit": "10041d2d14688e207d0d829095147aa82c1f211b",
      "tree": "57ef361d05e6bbffe3ec490ca9110878a6e969e2",
      "parents": [
        "4914c7f881845367b9198631a014ab466329b9e5",
        "b19dd42faf413b4705d4adb38521e82d73fa4249"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 17:52:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 17:52:35 2010 -0700"
      },
      "message": "Merge branch \u0027bkl/ioctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027bkl/ioctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  bkl: Remove locked .ioctl file operation\n  v4l: Remove reference to bkl ioctl in compat ioctl handling\n  logfs: kill BKL\n"
    },
    {
      "commit": "c7887325230aec47d47a32562a6e26014a0fafca",
      "tree": "10535943dace59ddb01d3440aa582bc4640e8016",
      "parents": [
        "b84ae4a1401a731ef5fee987c0cb08743838dda7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Aug 11 11:26:22 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 16:53:13 2010 -0700"
      },
      "message": "Mark arguments to certain syscalls as being const\n\nMark arguments to certain system calls as being const where they should be but\naren\u0027t.  The list includes:\n\n (*) The filename arguments of various stat syscalls, execve(), various utimes\n     syscalls and some mount syscalls.\n\n (*) The filename arguments of some syscall helpers relating to the above.\n\n (*) The buffer argument of various write syscalls.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b19dd42faf413b4705d4adb38521e82d73fa4249",
      "tree": "fbfdea065c3772b2de2c37238af6afcad2e42934",
      "parents": [
        "c6d7ba8b12636923f3e30997dec69bed58e176b6"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Jul 04 00:15:10 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 14 00:24:24 2010 +0200"
      },
      "message": "bkl: Remove locked .ioctl file operation\n\nThe last user is gone, so we can safely remove this\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "02d6d685fc6f2d8b48b133b5a5a43755e005074e",
      "tree": "6fb90bda20e1b36494488c067bfedcc655042712",
      "parents": [
        "2be1f3a73dd02e38e181cf5abacb3d45a6a2d6b8"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Apr 27 22:30:06 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 14 00:24:24 2010 +0200"
      },
      "message": "logfs: kill BKL\n\nlogfs does not need the BKL, so use -\u003eunlocked_ioctl instead\nof -\u003eioctl in file operations.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n[ fixed trivial conflict ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "2be1f3a73dd02e38e181cf5abacb3d45a6a2d6b8",
      "tree": "8e54da82410c8e57ff53b3d69d5760ff28bc236f",
      "parents": [
        "1547ac893acbf87738ded0b470e2735fdfba6947",
        "2041f657aa4dc77afd63bbb34b34ed9476cf9ab9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:54:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:54:04 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] partitions: fix build error in ibm partition detection code\n  [S390] appldata: fix dev_get_stats 64 bit conversion\n  [S390] wire up prlimit64 and fanotify* syscalls\n  [S390] zcrypt: fix Kconfig dependencies\n  [S390] sys_personality: follow u_long to unsigned int conversion\n  [S390] dasd: fix format string types\n"
    },
    {
      "commit": "a30bfd6cd47f387e060fb06d2ba688a491e6eaec",
      "tree": "041f5d4ec714b573c2ed68c501b2dddca5cc4cba",
      "parents": [
        "4b17cafaa4cc000a490821db649c5a3bf7ba9671",
        "415cf32c9cdfcc60f34d0ac17f29634e941ba7d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:43:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:43:50 2010 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  O2net: Disallow o2net accept connection request from itself.\n  ocfs2/dlm: remove potential deadlock -V3\n  ocfs2/dlm: avoid incorrect bit set in refmap on recovery master\n  Fix the nested PR lock calling issue in ACL\n  ocfs2: Count more refcount records in file system fragmentation.\n  ocfs2 fix o2dlm dlm run purgelist (rev 3)\n  ocfs2/dlm: fix a dead lock\n  ocfs2: do not overwrite error codes in ocfs2_init_acl\n"
    },
    {
      "commit": "2897c684d1d5140e0e0302e73660c7cb97981b27",
      "tree": "8132776c20aeaa8ec6703ea782afd44ffc76e3ce",
      "parents": [
        "c029b55af7d6b02b993e8a5add78d062da7a3940",
        "3f43231230664c23f4a7513232171dcb6ce9f068"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:37:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:37:30 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [NFS] Set CONFIG_KEYS when CONFIG_NFS_USE_KERNEL_DNS is set\n  AFS: Implement an autocell mount capability [ver #2]\n  DNS: If the DNS server returns an error, allow that to be cached [ver #2]\n  NFS: Use kernel DNS resolver [ver #2]\n  cifs: update README to include details about \u0027fsc\u0027 option\n"
    },
    {
      "commit": "2041f657aa4dc77afd63bbb34b34ed9476cf9ab9",
      "tree": "41daa865d0fffaf5ae9215614262aaa8500d5b33",
      "parents": [
        "e402e38c6b148febf8c3c39546e24584eaa23e42"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Aug 13 10:06:43 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Aug 13 10:06:55 2010 +0200"
      },
      "message": "[S390] partitions: fix build error in ibm partition detection code\n\n9c867fbe \"partitions: fix sometimes unreadable partition strings\" coverted\none line within the ibm partition code incorrectly. Fix this to get rid of\na build error.\n\nfs/partitions/ibm.c: In function \u0027ibm_partition\u0027:\n[...]\nfs/partitions/ibm.c:185: error: too many arguments to function \u0027strlcat\u0027\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2069601b3f0ea38170d4b509b89f3ca0a373bdc1",
      "tree": "647002d4c3814bd3d95d16ef7edef1757de8554f",
      "parents": [
        "ad41a1e0cab07c5125456e8d38e5b1ab148d04aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 14:23:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 14:23:04 2010 -0700"
      },
      "message": "Revert \"fsnotify: store struct file not struct path\"\n\nThis reverts commit 3bcf3860a4ff9bbc522820b4b765e65e4deceb3e (and the\naccompanying commit c1e5c954020e \"vfs/fsnotify: fsnotify_close can delay\nthe final work in fput\" that was a horribly ugly hack to make it work at\nall).\n\nThe \u0027struct file\u0027 approach not only causes that disgusting hack, it\nsomehow breaks pulseaudio, probably due to some other subtlety with\nf_count handling.\n\nFix up various conflicts due to later fsnotify work.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f43231230664c23f4a7513232171dcb6ce9f068",
      "tree": "e0a12a71942ddd05387cc5f4025e638f3462cd62",
      "parents": [
        "bec5eb6141308a30a73682330cb045a40e442b8c"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 12 18:16:45 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 12 18:16:45 2010 +0000"
      },
      "message": "[NFS] Set CONFIG_KEYS when CONFIG_NFS_USE_KERNEL_DNS is set\n\nPrevious patch relied on DNS_RESOLVER setting CONFIG_KEYS\nbut needs to be selected in NFS config when using the new\nDNS resolver\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nCC: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "26df0766a73a859bb93dc58e747c5028557a23fd",
      "tree": "4776de567425a7fb66ca9a87228309f9c84de633",
      "parents": [
        "580287628cdd99366b10c9050c4479b387283be8",
        "a6de51b2787012ba3ab62c7d50df1b749b83d5f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 10:01:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 10:01:59 2010 -0700"
      },
      "message": "Merge branch \u0027params\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027params\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits)\n  param: don\u0027t deref arg in __same_type() checks\n  param: update drivers/acpi/debug.c to new scheme\n  param: use module_param in drivers/message/fusion/mptbase.c\n  ide: use module_param_named rather than module_param_call\n  param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme\n  param: lock if_sdio\u0027s lbs_helper_name and lbs_fw_name against sysfs changes.\n  param: lock myri10ge_fw_name against sysfs changes.\n  param: simple locking for sysfs-writable charp parameters\n  param: remove unnecessary writable charp\n  param: add kerneldoc to moduleparam.h\n  param: locking for kernel parameters\n  param: make param sections const.\n  param: use free hook for charp (fix leak of charp parameters)\n  param: add a free hook to kernel_param_ops.\n  param: silence .init.text references from param ops\n  Add param ops struct for hvc_iucv driver.\n  nfs: update for module_param_named API change\n  AppArmor: update for module_param_named API change\n  param: use ops in struct kernel_param, rather than get and set fns directly\n  param: move the EXPORT_SYMBOL to after the definitions.\n  ...\n"
    },
    {
      "commit": "12fdff3fc2483f906ae6404a6e8dcf2550310b6f",
      "tree": "a79fb1365fce7c7529655a8802d6d6bf8509b374",
      "parents": [
        "1490cf5f0cb07dd49cdab4bceb769d7f711d7ca6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 12 16:54:57 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 09:51:35 2010 -0700"
      },
      "message": "Add a dummy printk function for the maintenance of unused printks\n\nAdd a dummy printk function for the maintenance of unused printks through gcc\nformat checking, and also so that side-effect checking is maintained too.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81d73a32d775ae9674ea6edf0b5b721fc3bc57d9",
      "tree": "c4097c3c7715a128cf54252b2ff906d3d8946ae0",
      "parents": [
        "a50aeb40144982eb766053309b6fc33e14ca46f0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 11 14:17:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:30 2010 -0700"
      },
      "message": "mm: fix writeback_in_progress()\n\nCommit 83ba7b071f3 (\"writeback: simplify the write back thread queue\")\nbroke writeback_in_progress() as in that commit we started to remove work\nitems from the list at the moment we start working on them and not at the\nmoment they are finished.  Thus if the flusher thread was doing some work\nbut there was no other work queued, writeback_in_progress() returned\nfalse.  This could in particular cause unnecessary queueing of background\nwriteback from balance_dirty_pages() or writeout work from\nwriteback_sb_if_idle().\n\nThis patch fixes the problem by introducing a bit in the bdi state which\nindicates that the flusher thread is processing some work and uses this\nbit for writeback_in_progress() test.\n\nNOTE: Both callsites of writeback_in_progress() (namely,\nwriteback_inodes_sb_if_idle() and balance_dirty_pages()) would actually\nneed a different information than what writeback_in_progress() provides.\nThey would need to know whether *the kind of writeback they are going to\nsubmit* is already queued.  But this information isn\u0027t that simple to\nprovide so let\u0027s fix writeback_in_progress() for the time being.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a50aeb40144982eb766053309b6fc33e14ca46f0",
      "tree": "15837ddb24c356b910a9af3e06f47937c0716027",
      "parents": [
        "4ea879b96d437693485d21f4b7e1eb72f7615fc2"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Aug 11 14:17:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:30 2010 -0700"
      },
      "message": "writeback: merge for_kupdate and !for_kupdate cases\n\nUnify the logic for kupdate and non-kupdate cases.  There won\u0027t be\nstarvation because the inodes requeued into b_more_io will later be\nspliced _after_ the remaining inodes in b_io, hence won\u0027t stand in the way\nof other inodes in the next run.\n\nIt avoids unnecessary redirty_tail() calls, hence the update of\ni_dirtied_when.  The timestamp update is undesirable because it could\nlater delay the inode\u0027s periodic writeback, or may exclude the inode from\nthe data integrity sync operation (which checks timestamp to avoid extra\nwork and livelock).\n\n\u003d\u003d\u003d\nHow the redirty_tail() comes about:\n\nIt was a long story..  This redirty_tail() was introduced with\nwbc.more_io.  The initial patch for more_io actually does not have the\nredirty_tail(), and when it\u0027s merged, several 100% iowait bug reports\narised:\n\nreiserfs:\n        http://lkml.org/lkml/2007/10/23/93\n\njfs:\n        commit 29a424f28390752a4ca2349633aaacc6be494db5\n        JFS: clear PAGECACHE_TAG_DIRTY for no-write pages\n\next2:\n        http://www.spinics.net/linux/lists/linux-ext4/msg04762.html\n\nThey are all old bugs hidden in various filesystems that become \"visible\"\nwith the more_io patch.  At the time, the ext2 bug is thought to be\n\"trivial\", so not fixed.  Instead the following updated more_io patch with\nredirty_tail() is merged:\n\n\thttp://www.spinics.net/linux/lists/linux-ext4/msg04507.html\n\nThis will in general prevent 100% on ext2 and possibly other unknown FS bugs.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ea879b96d437693485d21f4b7e1eb72f7615fc2",
      "tree": "142899843f2ce27334dbd134cd1bab3058cc8028",
      "parents": [
        "23539afc71937dbaca7de2229669f4475ff4ea7b"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Aug 11 14:17:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:30 2010 -0700"
      },
      "message": "writeback: fix queue_io() ordering\n\nThis was not a bug, since b_io is empty for kupdate writeback.  The next\npatch will do requeue_io() for non-kupdate writeback, so let\u0027s fix it.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "23539afc71937dbaca7de2229669f4475ff4ea7b",
      "tree": "1a37d78bc4d387c6cbdc201755dce09297ebe308",
      "parents": [
        "1babe18385d3976043c04237ce837f3736197eb4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Aug 11 14:17:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:30 2010 -0700"
      },
      "message": "writeback: don\u0027t redirty tail an inode with dirty pages\n\nAvoid delaying writeback for an expire inode with lots of dirty pages, but\nno active dirtier at the moment.  Previously we only do that for the\nkupdate case.\n\nAny filesystem that does delayed allocation or unwritten extent conversion\nafter IO completion will cause this - for example, XFS.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16c4042f08919f447d6b2a55679546c9b97c7264",
      "tree": "0248b64d46237854ebe67efe8c742cb5878d8611",
      "parents": [
        "e50e37201ae2e7d6a52e87815759e6481f0bcfb9"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Aug 11 14:17:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:29 2010 -0700"
      },
      "message": "writeback: avoid unnecessary calculation of bdi dirty thresholds\n\nSplit get_dirty_limits() into global_dirty_limits()+bdi_dirty_limit(), so\nthat the latter can be avoided when under global dirty background\nthreshold (which is the normal state for most systems).\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bec5eb6141308a30a73682330cb045a40e442b8c",
      "tree": "ae514575d62e65a07d6089746fbd880f816ee382",
      "parents": [
        "4a2d789267e00b5a1175ecd2ddefcc78b83fbf09"
      ],
      "author": {
        "name": "wanglei",
        "email": "wang840925@gmail.com",
        "time": "Wed Aug 11 09:38:04 2010 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 11 17:11:29 2010 +0000"
      },
      "message": "AFS: Implement an autocell mount capability [ver #2]\n\nImplement the ability for the root directory of a mounted AFS filesystem to\naccept lookups of arbitrary directory names, to interpet the names as the names\nof cells, to look the cell names up in the DNS for AFSDB records and to mount\nthe root.cell volume of the nominated cell on the pseudo-directory created by\nlookup.\n\nThis facility is requested by passing:\n\n\t-o autocell\n\nto the mountpoint for which this is desired, usually the /afs mount.\n\nTo use this facility, a DNS upcall program is required for AFSDB records.  This\ncan be obtained from:\n\n\thttp://people.redhat.com/~dhowells/afs/dns.afsdb.c\n\nIt should be compiled with -lresolv and -lkeyutils and installed as, say:\n\n\t/usr/sbin/dns.afsdb\n\nThen the following line needs to be added to /sbin/request-key.conf:\n\n\tcreate\tdns_resolver afsdb:*\t*\t/usr/sbin/dns.afsdb %k\n\nThis can be tested by mounting AFS, say:\n\n\tinsmod dns_resolver.ko\n\tinsmod af-rxrpc.ko\n\tinsmod kafs.ko rootcell\u003dgrand.central.org\n\tmount -t afs \"#grand.central.org:root.cell.\" /afs -o autocell\n\nand doing:\n\n\tls /afs/grand.central.org/\n\nwhich should show:\n\n\tarchive/  cvs/  doc/  local/  project/  service/  software/  user/  www/\n\nif it works.\n\nSigned-off-by: Wang Lei \u003cwang840925@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4a2d789267e00b5a1175ecd2ddefcc78b83fbf09",
      "tree": "ee0372ca2719a998fca29e6fe3b9c0a3ceabbfc7",
      "parents": [
        "c2e8139c9f797baa46515af6d350c51823736cbb"
      ],
      "author": {
        "name": "Wang Lei",
        "email": "wang840925@gmail.com",
        "time": "Wed Aug 11 09:37:58 2010 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 11 17:11:28 2010 +0000"
      },
      "message": "DNS: If the DNS server returns an error, allow that to be cached [ver #2]\n\nIf the DNS server returns an error, allow that to be cached in the DNS resolver\nkey in lieu of a value.  Userspace passes the desired error number as an option\nin the payload:\n\n\t\"#dnserror\u003d\u003cnumber\u003e\"\n\nUserspace must map h_errno from the name resolution routines to an appropriate\nLinux error before passing it up.  Something like the following mapping is\nrecommended:\n\n\t[HOST_NOT_FOUND]\t\u003d ENODATA,\n\t[TRY_AGAIN]\t\t\u003d EAGAIN,\n\t[NO_RECOVERY]\t\t\u003d ECONNREFUSED,\n\t[NO_DATA]\t\t\u003d ENODATA,\n\nin lieu of Linux errors specifically for representing name service errors.  The\nfilesystem must map these errors appropropriately before passing them to\nuserspace.  AFS is made to map ENODATA and EAGAIN to EDESTADDRREQ for the\nreturn to userspace; ECONNREFUSED is allowed to stand as is.\n\nThe error can be seen in /proc/keys as a negative number after the description\nof the key.  Compare, for example, the following key entries:\n\n2f97238c I--Q--     1  53s 3f010000     0     0 dns_resol afsdb:grand.centrall.org: -61\n338bfbbe I--Q--     1  59m 3f010000     0     0 dns_resol afsdb:grand.central.org: 37\n\nIf the error option is supplied in the payload, the main part of the payload is\ndiscarded.  The key should have an expiry time set by userspace.\n\nSigned-off-by: Wang Lei \u003cwang840925@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c2e8139c9f797baa46515af6d350c51823736cbb",
      "tree": "3f76dc108e94f2117a11b6230c496a0ce33c7621",
      "parents": [
        "3694b91a59c3bc784735574878d36652dfd623c2"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Aug 11 09:37:53 2010 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 11 17:11:28 2010 +0000"
      },
      "message": "NFS: Use kernel DNS resolver [ver #2]\n\nUse the kernel DNS resolver to translate hostnames to IP addresses.  Create a\nnew config option to choose between the legacy DNS resolver and the new\nresolver.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3694b91a59c3bc784735574878d36652dfd623c2",
      "tree": "1b322b8a21d0da31032a24886216f0d78cb7124d",
      "parents": [
        "5af568cbd55f60b5a1d174f621b273e4f585dc35"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Thu Aug 05 18:52:21 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 11 17:11:28 2010 +0000"
      },
      "message": "cifs: update README to include details about \u0027fsc\u0027 option\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0702099bd86c33c2dcdbd3963433a61f3f503901",
      "tree": "ebbee6ecfe26f139f44aa3b973f4728ebc9d11a9",
      "parents": [
        "15cdc644b268a9a9ce73ce0b153129222c254b7b"
      ],
      "author": {
        "name": "J. R. Okajima",
        "email": "hooanon05@yahoo.co.jp",
        "time": "Wed Aug 11 13:10:16 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 11 13:10:16 2010 -0400"
      },
      "message": "NFS: fix the return value of nfs_file_fsync()\n\nBy the commit af7fa16 2010-08-03 NFS: Fix up the fsync code\nclose(2) became returning the non-zero value even if it went well.\nnfs_file_fsync() should return 0 when \"status\" is positive.\n\nSigned-off-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d7ca35a182a626f8ed5596023ad42eb219a332e",
      "tree": "d91980fa13b1854528400c45ccca22216794ae8b",
      "parents": [
        "9b00c64318cc337846a7a08a5678f5f19aeff188"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "dave@gnu.org",
        "time": "Wed Aug 11 12:42:15 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 11 12:42:15 2010 -0400"
      },
      "message": "nfs: Remove redundant NULL check upon kfree()\n\nSigned-off-by: Davidlohr Bueso \u003cdave@gnu.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5af568cbd55f60b5a1d174f621b273e4f585dc35",
      "tree": "7cdc1afeb267519133a29ac595df21278c556c8c",
      "parents": [
        "062e27ec1b49d12bdb1ecc94d74b5fee5a5775db",
        "66a362a2aa8ffa72670259fa15e2a77a01cc2217"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:23:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:23:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  isofs: Fix lseek() to position beyond 4 GB\n  vfs: remove unused MNT_STRICTATIME\n  vfs: show unreachable paths in getcwd and proc\n  vfs: only add \" (deleted)\" where necessary\n  vfs: add prepend_path() helper\n  vfs: __d_path: dont prepend the name of the root dentry\n  ia64: perfmon: add d_dname method\n  vfs: add helpers to get root and pwd\n  cachefiles: use path_get instead of lone dget\n  fs/sysv/super.c: add support for non-PDP11 v7 filesystems\n  V7: Adjust sanity checks for some volumes\n  Add v7 alias\n  v9fs: fixup for inode_setattr being removed\n\nManual merge to take Al\u0027s version of the fs/sysv/super.c file: it merged\ncleanly, but Al had removed an unnecessary header include, so his side\nwas better.\n"
    },
    {
      "commit": "062e27ec1b49d12bdb1ecc94d74b5fee5a5775db",
      "tree": "28ebc44e789cebe7ec7b52ed74349438cf936eb2",
      "parents": [
        "bf25db365428dbd182768baa9850bef7afaac80d",
        "66048c381bb1e3a7c6fc69c28721843d6ec11c8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:20:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:20:13 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: fix checkpatch.pl warnings\n  Squashfs: fix filename typo\n  Squashfs: update Kconfig and documentation for LZO\n  Squashfs: fix block size use in LZO decompressor\n  Squashfs: Add LZO compression support\n  squashfs: fix filename in header comment\n  Squashfs: Make XATTR config name consistent with other file systems\n  squashfs: fix compiler inline warning\n"
    },
    {
      "commit": "bf25db365428dbd182768baa9850bef7afaac80d",
      "tree": "4373037b00459643f0d661672eb6688f80800d72",
      "parents": [
        "682c30ed2165d5694a414d31eac7c63ac5700fb0",
        "5002dd18c5940ce63b917d84f2b852c3b96009bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:19:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:19:43 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  exofs: Fix groups code when num_devices is not divisible by group_width\n  exofs: Remove useless optimization\n  exofs: exofs_file_fsync and exofs_file_flush correctness\n  exofs: Remove superfluous dependency on buffer_head and writeback\n"
    },
    {
      "commit": "682c30ed2165d5694a414d31eac7c63ac5700fb0",
      "tree": "0dd5c95637222f05f3f89511453387b03c85f6f4",
      "parents": [
        "84479f3c17e2c452d22be10a967e5282b3742d9f",
        "e56fa10e92e077d456cbc33b7025032887772b33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:18:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:18:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (39 commits)\n  ceph: generalize mon requests, add pool op support\n  ceph: only queue async writeback on cap revocation if there is dirty data\n  ceph: do not ignore osd_idle_ttl mount option\n  ceph: constify dentry_operations\n  ceph: whitespace cleanup\n  ceph: add flock/fcntl lock support\n  ceph: define on-wire types, constants for file locking support\n  ceph: add CEPH_FEATURE_FLOCK to the supported feature bits\n  ceph: support v2 reconnect encoding\n  ceph: support v2 client_caps encoding\n  ceph: move AES iv definition to shared header\n  ceph: fix decoding of pool snap info\n  ceph: make -\u003esync_fs not wait if wait\u003d\u003d0\n  ceph: warn on missing snap realm\n  ceph: print useful error message when crush rule not found\n  ceph: use %pU to print uuid (fsid)\n  ceph: sync header defs with server code\n  ceph: clean up header guards\n  ceph: strip misleading/obsolete version, feature info\n  ceph: specify supported features in super.h\n  ...\n"
    },
    {
      "commit": "ab654bab04be435a9671e0dcf49c18f9782dd838",
      "tree": "0e6badaeb18eebeaeff1b8d8bc9049dde7e85ee6",
      "parents": [
        "0bcaa65a56ab74003666cf741b0bfa1e9263a11c"
      ],
      "author": {
        "name": "Lubomir Rintel",
        "email": "lkundrak@v3.sk",
        "time": "Tue Aug 10 18:03:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "fs/sysv/super.c: add support for non-PDP11 v7 filesystems\n\nThis adds byte order autodetection (of PDP-11 and LE filesystems).  No\nattempt is made to detect big-endian filesystems -- were there any?\nTested with PDP-11 v7 filesystems and PC-IX maintenance floppy.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Lubomir Rintel \u003clkundrak@v3.sk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bcaa65a56ab74003666cf741b0bfa1e9263a11c",
      "tree": "580445e4f38cf6894ff695069edcc048b09870dd",
      "parents": [
        "a36517e9302b8396db24600bf9f67e4d1c441907"
      ],
      "author": {
        "name": "Lubomir Rintel",
        "email": "lkundrak@v3.sk",
        "time": "Tue Aug 10 18:03:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "fs/sysv: v7: adjust sanity checks for some volumes\n\nNewly mkfs-ed filesystems from Seventh Edition have last modification time\nset to zero, but are otherwise perfectly valid.\n\nAlso, tighten up other sanity checks to filter out most filesystems with\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Lubomir Rintel \u003clkundrak@v3.sk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "a36517e9302b8396db24600bf9f67e4d1c441907"
}
