)]}'
{
  "log": [
    {
      "commit": "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4",
      "tree": "5adc1ff2eaf64d450bf28bb6b2ce890db2567288",
      "parents": [
        "5cf65713f87775c548e3eb48dbafa32e12f28000",
        "0ea6e61122196509af82cc4f36cbdaacbefb8227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)\n  Documentation: update broken web addresses.\n  fix comment typo \"choosed\" -\u003e \"chosen\"\n  hostap:hostap_hw.c Fix typo in comment\n  Fix spelling contorller -\u003e controller in comments\n  Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -\u003e Fault\n  fs/Kconfig: Fix typo Userpace -\u003e Userspace\n  Removing dead MACH_U300_BS26\n  drivers/infiniband: Remove unnecessary casts of private_data\n  fs/ocfs2: Remove unnecessary casts of private_data\n  libfc: use ARRAY_SIZE\n  scsi: bfa: use ARRAY_SIZE\n  drm: i915: use ARRAY_SIZE\n  drm: drm_edid: use ARRAY_SIZE\n  synclink: use ARRAY_SIZE\n  block: cciss: use ARRAY_SIZE\n  comment typo fixes: charater \u003d\u003e character\n  fix comment typos concerning \"challenge\"\n  arm: plat-spear: fix typo in kerneldoc\n  reiserfs: typo comment fix\n  update email address\n  ...\n"
    },
    {
      "commit": "6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7",
      "tree": "8f3892fc44f1e403675a6d7e88fda5c70e56ee4c",
      "parents": [
        "5abd9ccced7a726c817dd6b5b96bc933859138d1",
        "3ff1c25927e3af61c6bf0e4ed959504058ae4565"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)\n  phy/marvell: add 88ec048 support\n  igb: Program MDICNFG register prior to PHY init\n  e1000e: correct MAC-PHY interconnect register offset for 82579\n  hso: Add new product ID\n  can: Add driver for esd CAN-USB/2 device\n  l2tp: fix export of header file for userspace\n  can-raw: Fix skb_orphan_try handling\n  Revert \"net: remove zap_completion_queue\"\n  net: cleanup inclusion\n  phy/marvell: add 88e1121 interface mode support\n  u32: negative offset fix\n  net: Fix a typo from \"dev\" to \"ndev\"\n  igb: Use irq_synchronize per vector when using MSI-X\n  ixgbevf: fix null pointer dereference due to filter being set for VLAN 0\n  e1000e: Fix irq_synchronize in MSI-X case\n  e1000e: register pm_qos request on hardware activation\n  ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice\n  net: Add getsockopt support for TCP thin-streams\n  cxgb4: update driver version\n  cxgb4: add new PCI IDs\n  ...\n\nManually fix up conflicts in:\n - drivers/net/e1000e/netdev.c: due to pm_qos registration\n   infrastructure changes\n - drivers/net/phy/marvell.c: conflict between adding 88ec048 support\n   and cleaning up the IDs\n - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req\n   conflict (registration change vs marking it static)\n"
    },
    {
      "commit": "e75aa85892b2ee78c79edac720868cbef16e62eb",
      "tree": "80b9ce187b207a1a817b9b4b172f86fa71d75212",
      "parents": [
        "d9b68e5e88248bb24fd4e455588bea1d56108fd6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Aug 04 17:59:39 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:17:10 2010 -0700"
      },
      "message": "block_dev: always serialize exclusive open attempts\n\nbd_prepare_to_claim() incorrectly allowed multiple attempts for\nexclusive open to progress in parallel if the attempting holders are\nidentical.  This triggered BUG_ON() as reported in the following bug.\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d16393\n\n__bd_abort_claiming() is used to finish claiming blocks and doesn\u0027t\nwork if multiple openers are inside a claiming block.  Allowing\nmultiple parallel open attempts to continue doesn\u0027t gain anything as\nthose are serialized down in the call chain anyway.  Fix it by always\nallowing only single open attempt in a claiming block.\n\nThis problem can easily be reproduced by adding a delay after\nbd_prepare_to_claim() and attempting to mount two partitions of a\ndisk.\n\nstable: only applicable to v2.6.35\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e6880951da86928c7f6cecf26dcb8e8d9f826da",
      "tree": "1ad8af6c52e06710f93847933c2720751100d668",
      "parents": [
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c",
        "77c80e6b2fd049848bfd1bdab67899ad3ac407a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:28:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:28:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (90 commits)\n  AppArmor: fix build warnings for non-const use of get_task_cred\n  selinux: convert the policy type_attr_map to flex_array\n  AppArmor: Enable configuring and building of the AppArmor security module\n  TOMOYO: Use pathname specified by policy rather than execve()\n  AppArmor: update path_truncate method to latest version\n  AppArmor: core policy routines\n  AppArmor: policy routines for loading and unpacking policy\n  AppArmor: mediation of non file objects\n  AppArmor: LSM interface, and security module initialization\n  AppArmor: Enable configuring and building of the AppArmor security module\n  AppArmor: update Maintainer and Documentation\n  AppArmor: functions for domain transitions\n  AppArmor: file enforcement routines\n  AppArmor: userspace interfaces\n  AppArmor: dfa match engine\n  AppArmor: contexts used in attaching policy to system objects\n  AppArmor: basic auditing infrastructure.\n  AppArmor: misc. base functions and defines\n  TOMOYO: Update version to 2.3.0\n  TOMOYO: Fix quota check.\n  ...\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
      "tree": "e16ac854bede528fde2dcf96903c9720056916ce",
      "parents": [
        "17964e9d086cd4cb15b54a71ccddd8bbacb4c00c"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jul 30 21:02:47 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:08:39 2010 +0200"
      },
      "message": "fix comment typo \"choosed\" -\u003e \"chosen\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c",
      "tree": "16c4ee5593847cc96e44e95f94e3ca0e315dfb1d",
      "parents": [
        "7046e668d7973c470146fbe6635967a1b4a31bca",
        "0809f6ec18bbce54c996f5c36f4b9d371075c98b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:40:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:40:10 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  GFS2: Fix recovery stuck bug (try #2)\n  GFS2: Fix typo in stuffed file data copy handling\n  Revert \"GFS2: recovery stuck on transaction lock\"\n  GFS2: Make \"try\" lock not try quite so hard\n  GFS2: remove dependency on __GFP_NOFAIL\n  GFS2: Simplify gfs2_write_alloc_required\n  GFS2: Wait for journal id on mount if not specified on mount command line\n  GFS2: Use nobh_writepage\n"
    },
    {
      "commit": "c939f9f9d225972a60181c95df8a9aa50f8b1701",
      "tree": "06f7621294bab5862ca15fa8c3749edcfc1ead3c",
      "parents": [
        "b8b3e9058f0f1d5c5a81c7d3d46f373d5f59a82c",
        "c18de72fb3c72fdc5ca883910761af3f14d90d76"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:37:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:37:02 2010 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: fix a memory leak on error path.\n  UBIFS: fix GC LEB recovery\n  UBIFS: use ERR_CAST\n  UBIFS: check return code\n"
    },
    {
      "commit": "b8b3e9058f0f1d5c5a81c7d3d46f373d5f59a82c",
      "tree": "1033085760392dc7e24a79bbeb276ce1a34314d0",
      "parents": [
        "51102ee5b8853d230e534cbcd0d888f0134738a3",
        "327aec03ac4c7bbf5e41ff03ac3a84c424589f27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:36:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:36:16 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: (22 commits)\n  9p: fix sparse warnings in new xattr code\n  fs/9p: remove sparse warning in vfs_inode\n  fs/9p: destroy fid on failed remove\n  fs/9p: Prevent parallel rename when doing fid_lookup\n  fs/9p: Add support user. xattr\n  net/9p: Implement TXATTRCREATE 9p call\n  net/9p: Implement attrwalk 9p call\n  9p: Implement LOPEN\n  fs/9p: This patch implements TLCREATE for 9p2000.L protocol.\n  9p: Implement TMKDIR\n  9p: Implement TMKNOD\n  9p: Define and implement TSYMLINK for 9P2000.L\n  9p: Define and implement TLINK for 9P2000.L\n  9p: Define and implement TLINK for 9P2000.L\n  9p: Implement client side of setattr for 9P2000.L protocol.\n  9p: getattr client implementation for 9P2000.L protocol.\n  fs/9p: Pass the correct user credentials during attach\n  net/9p: Handle the server returned error properly\n  9p: readdir implementation for 9p2000.L\n  9p: Make use of iounit for read/write\n  ...\n"
    },
    {
      "commit": "51102ee5b8853d230e534cbcd0d888f0134738a3",
      "tree": "5a34844b3040dbc099dd0d3ebc2e6fca0bc65855",
      "parents": [
        "54161df1fb1469d66bce3a3b14d8281adbb69263",
        "6b0a2996a0c023d84bc27ec7528a6e54cb5ea264"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:33:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:33:38 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (49 commits)\n  xfs simplify and speed up direct I/O completions\n  xfs: move aio completion after unwritten extent conversion\n  direct-io: move aio_complete into -\u003eend_io\n  xfs: fix big endian build\n  xfs: clean up xfs_bmap_get_bp\n  xfs: simplify xfs_truncate_file\n  xfs: kill the b_strat callback in xfs_buf\n  xfs: remove obsolete osyncisosync mount option\n  xfs: clean up filestreams helpers\n  xfs: fix gcc 4.6 set but not read and unused statement warnings\n  xfs: Fix build when CONFIG_XFS_POSIX_ACL\u003dn\n  xfs: fix unsigned underflow in xfs_free_eofblocks\n  xfs: use GFP_NOFS for page cache allocation\n  xfs: fix memory reclaim recursion deadlock on locked inode buffer\n  xfs: fix xfs_trans_add_item() lockdep warnings\n  xfs: simplify and remove xfs_ireclaim\n  xfs: don\u0027t block on buffer read errors\n  xfs: move inode shrinker unregister even earlier\n  xfs: remove a dmapi leftover\n  xfs: writepage always has buffers\n  ...\n"
    },
    {
      "commit": "c18de72fb3c72fdc5ca883910761af3f14d90d76",
      "tree": "52a5a452b4c5ccafec443013dda03da8343eab0d",
      "parents": [
        "6fb4374f6b1b3932f3acfe9d353568d3d8599cad"
      ],
      "author": {
        "name": "Matthieu CASTET",
        "email": "matthieu.castet@parrot.com",
        "time": "Mon Aug 02 11:36:06 2010 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Aug 03 08:58:09 2010 +0300"
      },
      "message": "UBIFS: fix a memory leak on error path.\n\nIn \u0027mount_ubifs()\u0027, in case of \u0027ubifs_leb_unmap()\u0027 falure,\nfree allocated resources.\n\nSigned-off-by: Matthieu CASTET \u003cmatthieu.castet@parrot.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "327aec03ac4c7bbf5e41ff03ac3a84c424589f27",
      "tree": "60e5b49a28ea5dc3f0003961f2c6740b5bf3210b",
      "parents": [
        "ea1375333ef58298ba4d3c638f3cba982c76504d"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 11:36:18 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:38 2010 -0500"
      },
      "message": "9p: fix sparse warnings in new xattr code\n\nfixes:\n\n  CHECK   fs/9p/xattr.c\n\tfs/9p/xattr.c:73:6: warning: Using plain integer as NULL pointer\n\tfs/9p/xattr.c:135:6: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ea1375333ef58298ba4d3c638f3cba982c76504d",
      "tree": "574814ebb504a61de0598a65bb63c242f2e81cc2",
      "parents": [
        "0b1208b1aa7a555d5ae4246bab4cd76ba3f32b2d"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Jul 27 14:49:43 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:37 2010 -0500"
      },
      "message": "fs/9p: remove sparse warning in vfs_inode\n\nmake v9fs_dentry_from_dir_inode static\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a534c8d15b1f1d0f861fc2bb9e0529bd8486ec3f",
      "tree": "0451da7a61bd7e3eb5968d65beee3243f7f51b5d",
      "parents": [
        "ebf46264a004818fe5b23f0ac18ac7336897d807"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jun 30 19:18:50 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:35 2010 -0500"
      },
      "message": "fs/9p: Prevent parallel rename when doing fid_lookup\n\nDuring fid lookup we need to make sure that the dentry-\u003ed_parent doesn\u0027t\nchange so that we can safely walk the parent dentries. To ensure that\nwe need to prevent cross directory rename during fid_lookup. Add a\nper superblock rename_sem rw_semaphore to prevent parallel fid lookup and\nrename.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ebf46264a004818fe5b23f0ac18ac7336897d807",
      "tree": "0b8ea6810a8e665e3b7bb97f1e85ebde7d0d9ee0",
      "parents": [
        "eda25e46161527845572131b37706a458d9270ef"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon May 31 13:22:56 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:35 2010 -0500"
      },
      "message": "fs/9p: Add support user. xattr\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ef56547efa3c88609069e2a91f46e25c31dd536e",
      "tree": "802bb98048ae36e59fc0bcaa21bd54e5ebf9de99",
      "parents": [
        "5643135a28464e7c19d8d23a9e0804697a62c84b"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Tue Jun 22 19:47:50 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:32 2010 -0500"
      },
      "message": "9p: Implement LOPEN\n\nImplement 9p2000.L version of open(LOPEN) interface in 9p client.\n\nFor LOPEN, no need to convert the flags to and from 9p mode to VFS mode.\n\nSynopsis:\n\n    size[4] Tlopen tag[2] fid[4] mode[4]\n\n    size[4] Rlopen tag[2] qid[13] iounit[4]\n\n[Fix mode bit format - jvrao@linux.vnet.ibm.com]\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbegren \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5643135a28464e7c19d8d23a9e0804697a62c84b",
      "tree": "d7141110fab0f3d71a95fe18b0b77cbaca645c80",
      "parents": [
        "01a622bd7409bb7af38e784cff814e5e723f7951"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Thu Jun 17 18:27:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:32 2010 -0500"
      },
      "message": "fs/9p: This patch implements TLCREATE for 9p2000.L protocol.\n\nSYNOPSIS\n\n    size[4] Tlcreate tag[2] fid[4] name[s] flags[4] mode[4] gid[4]\n\n    size[4] Rlcreate tag[2] qid[13] iounit[4]\n\nDESCRIPTION\n\nThe Tlreate request asks the file server to create a new regular file with the\nname supplied, in the directory (dir) represented by fid.\nThe mode argument specifies the permissions to use. New file is created with\nthe uid if the fid and with supplied gid.\n\nThe flags argument represent Linux access mode flags with which the caller\nis requesting to open the file with. Protocol allows all the Linux access\nmodes but it is upto the server to allow/disallow any of these acess modes.\nIf the server doesn\u0027t support any of the access mode, it is expected to\nreturn error.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "01a622bd7409bb7af38e784cff814e5e723f7951",
      "tree": "1b6e0d9806e560d7f89e0efa8981cfba4c213361",
      "parents": [
        "4b43516ab19b748b48322937fd9307af17541c4d"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Wed Jun 16 14:27:22 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:31 2010 -0500"
      },
      "message": "9p: Implement TMKDIR\n\nImplement TMKDIR as part of 2000.L Work\n\nSynopsis\n\n    size[4] Tmkdir tag[2] fid[4] name[s] mode[4] gid[4]\n\n    size[4] Rmkdir tag[2] qid[13]\n\nDescription\n\n    mkdir asks the file server to create a directory with given name,\n    mode and gid. The qid for the new directory is returned with\n    the mkdir reply message.\n\nNote: 72 is selected as the opcode for TMKDIR from the reserved list.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4b43516ab19b748b48322937fd9307af17541c4d",
      "tree": "0ab84e8d69abce9d63e1937b1a807d2243444a01",
      "parents": [
        "50cc42ff3d7bc48a436c5a0413459ca7841b505f"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Wed Jun 16 14:27:01 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:30 2010 -0500"
      },
      "message": "9p: Implement TMKNOD\n\nSynopsis\n\n    size[4] Tmknod tag[2] fid[4] name[s] mode[4] major[4] minor[4] gid[4]\n\n    size[4] Rmknod tag[2] qid[13]\n\nDescription\n\n    mknod asks the file server to create a device node with given major and\n    minor number, mode and gid. The qid for the new device node is returned\n    with the mknod reply message.\n\n[sripathik@in.ibm.com: Fix error handling code]\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "50cc42ff3d7bc48a436c5a0413459ca7841b505f",
      "tree": "7209ab2807e3a284c1fbd36dd885e34b81809b0d",
      "parents": [
        "652df9a7fd03cb47a3f663f0c08a2bd086505e9b"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Jun 09 15:59:31 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:29 2010 -0500"
      },
      "message": "9p: Define and implement TSYMLINK for 9P2000.L\n\nCreate a symbolic link\n\nSYNOPSIS\n\nsize[4] Tsymlink tag[2] fid[4] name[s] symtgt[s] gid[4]\n\nsize[4] Rsymlink tag[2] qid[13]\n\nDESCRIPTION\n\nCreate a symbolic link named \u0027name\u0027 pointing to \u0027symtgt\u0027.\ngid represents the effective group id of the caller.\nThe  permissions of a symbolic link are irrelevant hence it is omitted\nfrom the protocol.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nReviewed-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "09d34ee5f93b2e53b64ffba27bc18731e31154e1",
      "tree": "6a1abd891731247c270d42ba8d7c3b4e8b9fd4b3",
      "parents": [
        "87d7845aa0b157a62448dd3e339856f28befe1f4"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:09 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:09 2010 -0500"
      },
      "message": "9p: Define and implement TLINK for 9P2000.L\n\nThis patch adds a helper function to get the dentry from inode and\nuses it in creating a Hardlink\n\nSYNOPSIS\n\nsize[4] Tlink tag[2] dfid[4] oldfid[4] newpath[s]\n\nsize[4] Rlink tag[2]\n\nDESCRIPTION\n\nCreate a link \u0027newpath\u0027 in directory pointed by dfid linking to oldfid path.\n\n[sripathik@in.ibm.com : p9_client_link should not free req structure\nif p9_client_rpc has returned an error.]\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "87d7845aa0b157a62448dd3e339856f28befe1f4",
      "tree": "bae5a5449f4bdb5ccfd1edcb99b285708c123e9f",
      "parents": [
        "f085312204f384a0277a66c3c48ba8f9edcd58f2"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Jun 18 11:50:10 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:10 2010 -0500"
      },
      "message": "9p: Implement client side of setattr for 9P2000.L protocol.\n\n    SYNOPSIS\n\n      size[4] Tsetattr tag[2] attr[n]\n\n      size[4] Rsetattr tag[2]\n\n    DESCRIPTION\n\n      The setattr command changes some of the file status information.\n      attr resembles the iattr structure used in Linux kernel. It\n      specifies which status parameter is to be changed and to what\n      value. It is laid out as follows:\n\n         valid[4]\n            specifies which status information is to be changed. Possible\n            values are:\n            ATTR_MODE       (1 \u003c\u003c 0)\n            ATTR_UID        (1 \u003c\u003c 1)\n            ATTR_GID        (1 \u003c\u003c 2)\n            ATTR_SIZE       (1 \u003c\u003c 3)\n            ATTR_ATIME      (1 \u003c\u003c 4)\n            ATTR_MTIME      (1 \u003c\u003c 5)\n            ATTR_ATIME_SET  (1 \u003c\u003c 7)\n            ATTR_MTIME_SET  (1 \u003c\u003c 8)\n\n            The last two bits represent whether the time information\n            is being sent by the client\u0027s user space. In the absense\n            of these bits the server always uses server\u0027s time.\n\n         mode[4]\n            File permission bits\n\n         uid[4]\n            Owner id of file\n\n         gid[4]\n            Group id of the file\n\n         size[8]\n            File size\n\n         atime_sec[8]\n            Time of last file access, seconds\n\n         atime_nsec[8]\n            Time of last file access, nanoseconds\n\n         mtime_sec[8]\n            Time of last file modification, seconds\n\n         mtime_nsec[8]\n            Time of last file modification, nanoseconds\n\nExplanation of the patches:\n--------------------------\n\n*) The kernel just copies relevent contents of iattr structure to\n   p9_iattr_dotl structure and passes it down to the client. The\n   only check it has is calling inode_change_ok()\n*) The p9_iattr_dotl structure does not have ctime and ia_file\n   parameters because I don\u0027t think these are needed in our case.\n   The client user space can request updating just ctime by calling\n   chown(fd, -1, -1). This is handled on server side without a need\n   for putting ctime on the wire.\n*) The server currently supports changing mode, time, ownership and\n   size of the file.\n*) 9P RFC says \"Either all the changes in wstat request happen, or\n   none of them does: if the request succeeds, all changes were made;\n   if it fails, none were.\"\n   I have not done anything to implement this specifically because I\n   don\u0027t see a reason.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "f085312204f384a0277a66c3c48ba8f9edcd58f2",
      "tree": "33006860cc1cd4338de56ba1a9915ed95082814e",
      "parents": [
        "9ffaf63e34821ea60b2e1c8593f968d73728f82b"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Jul 12 20:07:23 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:09 2010 -0500"
      },
      "message": "9p: getattr client implementation for 9P2000.L protocol.\n\n        SYNOPSIS\n\n              size[4] Tgetattr tag[2] fid[4] request_mask[8]\n\n              size[4] Rgetattr tag[2] lstat[n]\n\n           DESCRIPTION\n\n              The getattr transaction inquires about the file identified by fid.\n              request_mask is a bit mask that specifies which fields of the\n              stat structure is the client interested in.\n\n              The reply will contain a machine-independent directory entry,\n              laid out as follows:\n\n                 st_result_mask[8]\n                    Bit mask that indicates which fields in the stat structure\n                    have been populated by the server\n\n                 qid.type[1]\n                    the type of the file (directory, etc.), represented as a bit\n                    vector corresponding to the high 8 bits of the file\u0027s mode\n                    word.\n\n                 qid.vers[4]\n                    version number for given path\n\n                 qid.path[8]\n                    the file server\u0027s unique identification for the file\n\n                 st_mode[4]\n                    Permission and flags\n\n                 st_uid[4]\n                    User id of owner\n\n                 st_gid[4]\n                    Group ID of owner\n\n                 st_nlink[8]\n                    Number of hard links\n\n                 st_rdev[8]\n                    Device ID (if special file)\n\n                 st_size[8]\n                    Size, in bytes\n\n                 st_blksize[8]\n                    Block size for file system IO\n\n                 st_blocks[8]\n                    Number of file system blocks allocated\n\n                 st_atime_sec[8]\n                    Time of last access, seconds\n\n                 st_atime_nsec[8]\n                    Time of last access, nanoseconds\n\n                 st_mtime_sec[8]\n                    Time of last modification, seconds\n\n                 st_mtime_nsec[8]\n                    Time of last modification, nanoseconds\n\n                 st_ctime_sec[8]\n                    Time of last status change, seconds\n\n                 st_ctime_nsec[8]\n                    Time of last status change, nanoseconds\n\n                 st_btime_sec[8]\n                    Time of creation (birth) of file, seconds\n\n                 st_btime_nsec[8]\n                    Time of creation (birth) of file, nanoseconds\n\n                 st_gen[8]\n                    Inode generation\n\n                 st_data_version[8]\n                    Data version number\n\n              request_mask and result_mask bit masks contain the following bits\n                 #define P9_STATS_MODE          0x00000001ULL\n                 #define P9_STATS_NLINK         0x00000002ULL\n                 #define P9_STATS_UID           0x00000004ULL\n                 #define P9_STATS_GID           0x00000008ULL\n                 #define P9_STATS_RDEV          0x00000010ULL\n                 #define P9_STATS_ATIME         0x00000020ULL\n                 #define P9_STATS_MTIME         0x00000040ULL\n                 #define P9_STATS_CTIME         0x00000080ULL\n                 #define P9_STATS_INO           0x00000100ULL\n                 #define P9_STATS_SIZE          0x00000200ULL\n                 #define P9_STATS_BLOCKS        0x00000400ULL\n\n                 #define P9_STATS_BTIME         0x00000800ULL\n                 #define P9_STATS_GEN           0x00001000ULL\n                 #define P9_STATS_DATA_VERSION  0x00002000ULL\n\n                 #define P9_STATS_BASIC         0x000007ffULL\n                 #define P9_STATS_ALL           0x00003fffULL\n\n        This patch implements the client side of getattr implementation for\n        9P2000.L. It introduces a new structure p9_stat_dotl for getting\n        Linux stat information along with QID. The data layout is similar to\n        stat structure in Linux user space with the following major\n        differences:\n\n        inode (st_ino) is not part of data. Instead qid is.\n\n        device (st_dev) is not part of data because this doesn\u0027t make sense\n        on the client.\n\n        All time variables are 64 bit wide on the wire. The kernel seems to use\n        32 bit variables for these variables. However, some of the architectures\n        have used 64 bit variables and glibc exposes 64 bit variables to user\n        space on some architectures. Hence to be on the safer side we have made\n        these 64 bit in the protocol. Refer to the comments in\n        include/asm-generic/stat.h\n\n        There are some additional fields: st_btime_sec, st_btime_nsec, st_gen,\n        st_data_version apart from the bitmask, st_result_mask. The bit mask\n        is filled by the server to indicate which stat fields have been\n        populated by the server. Currently there is no clean way for the\n        server to obtain these additional fields, so it sends back just the\n        basic fields.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbegren \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9ffaf63e34821ea60b2e1c8593f968d73728f82b",
      "tree": "a2fa40eeb0cc9ae7bb1ac5dfbbd23231746290f8",
      "parents": [
        "69d4b4436b54c1a850d475697fda5ca117b09a5e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Jun 01 09:26:18 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:08 2010 -0500"
      },
      "message": "fs/9p: Pass the correct user credentials during attach\n\nWe need to make sure we pass the right uid value\nduring attach. dotl is similar to dotu in this regard.\nWithout this mapped security model on dotl doesn\u0027t work\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "7751bdb3a095ad32dd4fcff3443cf8dd4cb1e748",
      "tree": "6c7a93a546e34d86e433a1be05e3ebfcc4f77754",
      "parents": [
        "97e8442b0971ea6be9a495b3d03402985cfe5d6a"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Jun 04 13:41:26 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:07 2010 -0500"
      },
      "message": "9p: readdir implementation for 9p2000.L\n\nThis patch implements the kernel part of readdir() implementation for 9p2000.L\n\n    Change from V3: Instead of inode, server now sends qids for each dirent\n\n    SYNOPSIS\n\n    size[4] Treaddir tag[2] fid[4] offset[8] count[4]\n    size[4] Rreaddir tag[2] count[4] data[count]\n\n    DESCRIPTION\n\n    The readdir request asks the server to read the directory specified by \u0027fid\u0027\n    at an offset specified by \u0027offset\u0027 and return as many dirent structures as\n    possible that fit into count bytes. Each dirent structure is laid out as\n    follows.\n\n            qid.type[1]\n              the type of the file (directory, etc.), represented as a bit\n              vector corresponding to the high 8 bits of the file\u0027s mode\n              word.\n\n            qid.vers[4]\n              version number for given path\n\n            qid.path[8]\n              the file server\u0027s unique identification for the file\n\n            offset[8]\n              offset into the next dirent.\n\n            type[1]\n              type of this directory entry.\n\n            name[256]\n              name of this directory entry.\n\n    This patch adds v9fs_dir_readdir_dotl() as the readdir() call for 9p2000.L.\n    This function sends P9_TREADDIR command to the server. In response the server\n    sends a buffer filled with dirent structures. This is different from the\n    existing v9fs_dir_readdir() call which receives stat structures from the server.\n    This results in significant speedup of readdir() on large directories.\n    For example, doing \u0027ls \u003e/dev/null\u0027 on a directory with 10000 files on my\n    laptop takes 1.088 seconds with the existing code, but only takes 0.339 seconds\n    with the new readdir.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "97e8442b0971ea6be9a495b3d03402985cfe5d6a",
      "tree": "2afd94c5c1afc34c65a28f45baa08a811479f1f0",
      "parents": [
        "cff6b8a9b81b404e8ce0257b26007c3afe625212"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Fri Jun 04 11:59:07 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:06 2010 -0500"
      },
      "message": "9p: Make use of iounit for read/write\n\nChange the v9fs_file_readn function to limit the maximum transfer size\nbased on the iounit or msize.\n\nAlso remove the redundant check for limiting the transfer size in\nv9fs_file_write. This check is done by p9_client_write.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "6b0a2996a0c023d84bc27ec7528a6e54cb5ea264",
      "tree": "9fa9a85d5d871b3cb3c28daf57d8ef8f05becd66",
      "parents": [
        "209fb87a259ead17e966627b7f053d16a96898da",
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Aug 02 10:24:57 2010 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Aug 02 10:24:57 2010 -0500"
      },
      "message": "Merge branch \u0027v2.6.35\u0027\n"
    },
    {
      "commit": "cb76d5e25008b76fb8e348c861d32659430ac3fa",
      "tree": "c3de6cdd116b1754c653b0fcb25d212b9dd69311",
      "parents": [
        "f67909cf80051e8510194a51f88c4de323b92071"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jul 26 14:25:08 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:41 2010 +0000"
      },
      "message": "cifs: fsc should not default to \"on\"\n\nI\u0027m not sure why this was merged with this flag hardcoded on, but it\nseems quite dangerous. Turn it off.\n\nAlso, mount.cifs hands unrecognized options off to the kernel so there\nshould be no need for changes there in order to support this.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f67909cf80051e8510194a51f88c4de323b92071",
      "tree": "06a172ec4e51a4531acd810c1159dbd647036a48",
      "parents": [
        "f636a34802e3913415410c6e595df2bf84851cff"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jul 26 18:20:16 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:40 2010 +0000"
      },
      "message": "[CIFS] remove redundant path walking in dfs_do_refmount\n\nReviewed-by: Dave Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f636a34802e3913415410c6e595df2bf84851cff",
      "tree": "d5d54cff34c91603f2ba17075f22dc4b57267986",
      "parents": [
        "3572d2857f61f720082740cc17e2d99b45e7af7f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jul 26 10:29:58 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:40 2010 +0000"
      },
      "message": "cifs: ignore the \"mand\", \"nomand\" and \"_netdev\" mount options\n\nThese are all handled by the userspace mount programs, but older versions\nof mount.cifs also handed them off to the kernel. Ignore them.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3572d2857f61f720082740cc17e2d99b45e7af7f",
      "tree": "9005ee297315f68a12d2b1c749a233300fb9807e",
      "parents": [
        "f30b9c11847cb6bf1f7aa65b5c436800621a07dd"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jul 26 10:29:57 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:40 2010 +0000"
      },
      "message": "cifs: map NT_STATUS_ERROR_WRITE_PROTECTED to -EROFS\n\nSeems like a more sensible mapping than -EIO.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f30b9c11847cb6bf1f7aa65b5c436800621a07dd",
      "tree": "753905eaaa4999d7afc82f251f8db872753fbf1e",
      "parents": [
        "9f841593ff65d2f801c7f80c4ed0955d30103f50"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jul 19 18:00:17 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:39 2010 +0000"
      },
      "message": "cifs: don\u0027t allow cifs_iget to match inodes of the wrong type\n\nIf the type is different from what we think it should be, then don\u0027t\nmatch the existing inode.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9f841593ff65d2f801c7f80c4ed0955d30103f50",
      "tree": "01fcebaf639b556df3fc9b42149890ba8c12f9ce",
      "parents": [
        "3e4b3e1f68c10510ec8d3076cffc5729b88f8de6"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jul 23 20:37:53 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:39 2010 +0000"
      },
      "message": "[CIFS] relinquish fscache cookie before freeing CIFSTconInfo\n\nDoh, fix a use after free bug.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-and-Tested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3e4b3e1f68c10510ec8d3076cffc5729b88f8de6",
      "tree": "bee962570f8a54547cfb67550f76874d82981fea",
      "parents": [
        "f55fdcca6bf1c17e86a270a8c0d81c6677c61222"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jul 19 18:00:17 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:39 2010 +0000"
      },
      "message": "cifs: add separate cred_uid field to sesInfo\n\nRight now, there\u0027s no clear separation between the uid that owns the\ncredentials used to do the mount and the overriding owner of the files\non that mount.\n\nAdd a separate cred_uid field that is set to the real uid\nof the mount user. Unlike the linux_uid, the uid\u003d option does not\noverride this parameter. The parm is sent to cifs.upcall, which can then\npreferentially use the creduid\u003d parm instead of the uid\u003d parm for\nfinding credentials.\n\nThis is not the only way to solve this. We could try to do all of this\nin kernel instead by having a module parameter that affects what gets\npassed in the uid\u003d field of the upcall. That said, we have a lot more\nflexibility to change things in userspace so I think it probably makes\nsense to do it this way.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f55fdcca6bf1c17e86a270a8c0d81c6677c61222",
      "tree": "ee005fcd546b472375c5fb6c84929f1a1ce5d0e4",
      "parents": [
        "0ccd48025fe64cf01782ba3c7037654d25bd1950"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Fri Jul 16 20:15:25 2010 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:39 2010 +0000"
      },
      "message": "fs: cifs: check kmalloc() result\n\nIf kmalloc() fails exit with -ENOMEM.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0ccd48025fe64cf01782ba3c7037654d25bd1950",
      "tree": "e264b9972c48f90bb247887ab38444be79cd0f73",
      "parents": [
        "d0e6f44e6cc3c7059e8717c452f0999aba507a38"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jul 16 04:31:02 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:38 2010 +0000"
      },
      "message": "[CIFS] Missing ifdef\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d0e6f44e6cc3c7059e8717c452f0999aba507a38",
      "tree": "f6195ce1ccd658fc95b60fd22e3e2c3f57d9033e",
      "parents": [
        "c5e04a3e4975d11d997528caf5d4880902fa90d8"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jul 16 04:24:54 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:38 2010 +0000"
      },
      "message": "[CIFS] Missing line from previous commit\n\nCC: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c5e04a3e4975d11d997528caf5d4880902fa90d8",
      "tree": "469a2f5684758cdca01face50bb392d2a6ec8bc7",
      "parents": [
        "fa1df75d4debde6d843e616df656f50a92958737"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jul 16 04:18:36 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:38 2010 +0000"
      },
      "message": "[CIFS] Fix build break when CONFIG_CIFS_FSCACHE disabled\n\nCC: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fa1df75d4debde6d843e616df656f50a92958737",
      "tree": "51ed23f935dcd4536417613cf88c2dcfc369fd08",
      "parents": [
        "56698236e1294848c63d4768673865ae5a9c69e0"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:13:36 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:37 2010 +0000"
      },
      "message": "cifs: add mount option to enable local caching\n\nAdd a mount option \u0027fsc\u0027 to enable local caching on CIFS.\n\nI considered adding a separate debug bit for caching, but it appears that\ndebugging would be relatively easier with the normal CIFS_INFO level.\n\nAs the cifs-utils (userspace) changes are not done yet, this patch enables\n\u0027fsc\u0027 by default to enable testing.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "56698236e1294848c63d4768673865ae5a9c69e0",
      "tree": "ce6d43104a236595763759fe68c26ca3089abdd1",
      "parents": [
        "9dc06558c223bbc08290917ac44c25963bc09e43"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:13:25 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:37 2010 +0000"
      },
      "message": "cifs: read pages from FS-Cache\n\nRead pages from a FS-Cache data storage object into a CIFS inode.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9dc06558c223bbc08290917ac44c25963bc09e43",
      "tree": "7ffd7618faaa251c286637815db5f91d2d410467",
      "parents": [
        "85f2d6b44d7e83bdeab87df910127c6f296866cf"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:13:11 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:37 2010 +0000"
      },
      "message": "cifs: store pages into local cache\n\nStore pages from an CIFS inode into the data storage object associated with\nthat inode.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "85f2d6b44d7e83bdeab87df910127c6f296866cf",
      "tree": "238389c1726e212a80336551809b44b0bbedec38",
      "parents": [
        "9451a9a52f91a4c171cfaca2f6d7a2ce91867b8d"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:13:00 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:36 2010 +0000"
      },
      "message": "cifs: FS-Cache page management\n\nTakes care of invalidation and release of FS-Cache marked pages and also\ninvalidation of the FsCache page flag when the inode is removed.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9451a9a52f91a4c171cfaca2f6d7a2ce91867b8d",
      "tree": "e447d252996e554a053890a75b55456b9926d602",
      "parents": [
        "d03382ce9a89dbe27cba25130f0b90c0d631d5c5"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:12:45 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:36 2010 +0000"
      },
      "message": "cifs: define inode-level cache object and register them\n\nDefine inode-level data storage objects (managed by cifsInodeInfo structs).\nEach inode-level object is created in a super-block level object and is itself\na data storage object in to which pages from the inode are stored.\n\nThe inode object is keyed by UniqueId. The coherency data being used is\nLastWriteTime, LastChangeTime and end of file reported by the server.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d03382ce9a89dbe27cba25130f0b90c0d631d5c5",
      "tree": "f2561981a606a788259ad10f0ec57f9486f85da4",
      "parents": [
        "8913007e67106597fed4b9dd3787e8dca6915a83"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:12:27 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:36 2010 +0000"
      },
      "message": "cifs: define superblock-level cache index objects and register them\n\nDefine superblock-level cache index objects (managed by cifsTconInfo structs).\nEach superblock object is created in a server-level index object and in itself\nan index into which inode-level objects are inserted.\n\nThe superblock object is keyed by sharename. The UniqueId/IndexNumber is used to\nvalidate that the exported share is the same since we accessed it last time.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8913007e67106597fed4b9dd3787e8dca6915a83",
      "tree": "83fdd597cdf1a5a5871a5952c85d2c0766353091",
      "parents": [
        "4ff67b720c02c36e54d55b88c2931879b7db1cd2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 06 20:43:08 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:35 2010 +0000"
      },
      "message": "cifs: remove unused cifsUidInfo struct\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4ff67b720c02c36e54d55b88c2931879b7db1cd2",
      "tree": "2a69a278edb4d80a9fb0760d188629fb6e8371fb",
      "parents": [
        "daf5b0b6f3f6d7b15c2600426cc6c60a0e155218"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 06 20:43:02 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:35 2010 +0000"
      },
      "message": "cifs: clean up cifs_find_smb_ses (try #2)\n\nThis patch replaces the earlier patch by the same name. The only\ndifference is that MAX_PASSWORD_SIZE has been increased to attempt to\nmatch the limits that windows enforces.\n\nDo a better job of matching sessions by authtype. Matching by username\nfor a Kerberos session is incorrect, and anonymous sessions need special\nhandling.\n\nAlso, in the case where we do match by username, we also need to match\nby password. That ensures that someone else doesn\u0027t \"borrow\" an existing\nsession without needing to know the password.\n\nFinally, passwords can be longer than 16 bytes. Bump MAX_PASSWORD_SIZE\nto 512 to match the size that the userspace mount helper allows.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "daf5b0b6f3f6d7b15c2600426cc6c60a0e155218",
      "tree": "9c6210671c489d493f02dd7ca1eb6799c21fd195",
      "parents": [
        "4515148ef72bfda4ce3c8754149711d9972867ce"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 06 20:43:02 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:35 2010 +0000"
      },
      "message": "cifs: match secType when searching for existing tcp session\n\nThe secType is a per-tcp session entity, but the current routine doesn\u0027t\nverify that it is acceptible when attempting to match an existing TCP\nsession.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4515148ef72bfda4ce3c8754149711d9972867ce",
      "tree": "773960af3c94ee0bcda3d852aac7e510445c8e37",
      "parents": [
        "50d971602a6c4bf1abe1f3873686f431d7539dfe"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 06 20:43:02 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:34 2010 +0000"
      },
      "message": "cifs: move address comparison into separate function\n\nMove the address comparator out of cifs_find_tcp_session and into a\nseparate function for cleanliness. Also change the argument to\nthat function to a \"struct sockaddr\" pointer. Passing pointers to\nsockaddr_storage is a little odd since that struct is generally for\ndeclaring static storage.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "50d971602a6c4bf1abe1f3873686f431d7539dfe",
      "tree": "6c7b58ab4f26cfd4f98a271b4369fd43f9caae7a",
      "parents": [
        "488f1d2d6cc9d665c9f09e4b54f77052732e3058"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 06 20:43:01 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:34 2010 +0000"
      },
      "message": "cifs: set the port in sockaddr in a more clearly defined fashion\n\nThis patch should replace the patch I sent a couple of weeks ago to\nset the port in cifs_convert_address.\n\nCurrently we set this in cifs_find_tcp_session, but that\u0027s more of a\nside effect than anything. Add a new function called cifs_fill_sockaddr.\nHave it call cifs_convert_address and then set the port.\n\nThis also allows us to skip passing in the port as a separate parm to\ncifs_find_tcp_session.\n\nAlso, change cifs_convert_address take a struct sockaddr * rather than\nvoid * to make it clearer how this function should be called.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "488f1d2d6cc9d665c9f09e4b54f77052732e3058",
      "tree": "2e240da84cdb009b89508e0fa748bebe71e35766",
      "parents": [
        "f579cf3cfd1e19ae5aab6929679d0c04bf1a6284"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:12:15 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:34 2010 +0000"
      },
      "message": "cifs: define server-level cache index objects and register them\n\nDefine server-level cache index objects (as managed by TCP_ServerInfo structs)\nand register then with FS-Cache. Each server object is created in the CIFS\ntop-level index object and is itself an index into which superblock-level\nobjects are inserted.\n\nThe server objects are now keyed by {IPaddress,family,port} tuple.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f579cf3cfd1e19ae5aab6929679d0c04bf1a6284",
      "tree": "19773895c06b9f3a251745f9c449051e4e0934c1",
      "parents": [
        "c21dfb699f35b6b5508fb808bb0ca211a865f2c9"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:11:50 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:33 2010 +0000"
      },
      "message": "cifs: register CIFS for caching\n\nDefine CIFS for FS-Cache and register for caching. Upon registration the\ntop-level index object cookie will be stuck to the netfs definition by\nFS-Cache.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c21dfb699f35b6b5508fb808bb0ca211a865f2c9",
      "tree": "4c4a96fd88014631c37c282cc2b460906ceaca28",
      "parents": [
        "3feb41cff8264e32a4d23ed829c3ed5369035f51"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 12 13:50:14 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:33 2010 +0000"
      },
      "message": "fs/cifs: Remove unnecessary casts of private_data\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3feb41cff8264e32a4d23ed829c3ed5369035f51",
      "tree": "1fbec9e23936da37ab62a6e7ec1e5f081db29c78",
      "parents": [
        "c6332e237fb2ee54bc9c614291a006e4801e0f66"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:11:33 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:33 2010 +0000"
      },
      "message": "cifs: add kernel config option for CIFS Client caching support\n\nAdd a kernel config option to enable local caching for CIFS.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c6332e237fb2ee54bc9c614291a006e4801e0f66",
      "tree": "37ac5dcc106e614144e0aed541fd548b792f01e7",
      "parents": [
        "e4317ceca2bdf4bf91112a21e60f73b4c5a1a5da"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Jul 06 17:59:46 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:33 2010 +0000"
      },
      "message": "cifs: remove unused ip_address field in struct TCP_Server_Info\n\nThe ip_address field is not used and seems redundant as there is union addr\nalready and I don\u0027t see any future use as well.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e4317ceca2bdf4bf91112a21e60f73b4c5a1a5da",
      "tree": "490fbc5ee5ef426652cdb4002652fdb610ab42cd",
      "parents": [
        "abd2e44dca2c5d65e047224c6ba4b4c8059f97f8"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Jul 06 18:00:10 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:32 2010 +0000"
      },
      "message": "cifs: remove an potentially confusing, obsolete comment\n\nThe recent commit 6ca9f3bae8b1854794dfa63cdd3b88b7dfe24c13 modified the code so\nthat filp is full instantiated whenever the file is created and passed back.\nThe below comment is no longer true, remove it.\n\nCc: 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": "abd2e44dca2c5d65e047224c6ba4b4c8059f97f8",
      "tree": "b6f71a269e58ba5aecf6b71219178e1510e0b6af",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Jun 22 20:52:50 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:32 2010 +0000"
      },
      "message": "cifs: guard cifsglob.h against multiple inclusion\n\nAdd conditional compile macros to guard the header file against multiple\ninclusion.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0809f6ec18bbce54c996f5c36f4b9d371075c98b",
      "tree": "66aa0c523f0e7ab5b35504123b5238e5f81ea309",
      "parents": [
        "c639d5d8f69f37e24ed0354373f61fcbde4b9354"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Aug 02 10:15:17 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Aug 02 10:15:17 2010 +0100"
      },
      "message": "GFS2: Fix recovery stuck bug (try #2)\n\nThis is a clean up of the code which deals with LM_FLAG_NOEXP\nwhich aims to remove any possible race conditions by using\ngl_spin to cover the gap between testing for the LM_FLAG_NOEXP\nand the GL_FROZEN flag.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d09ca73979460b96d5d4684d588b188be9a1f57d",
      "tree": "217543affc5c1c76181ffca00c23cfa69f1dd4f6",
      "parents": [
        "9cfcac810e8993fa7a5bfd24b1a21f1dbbb03a7b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 23 11:43:57 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:35:07 2010 +1000"
      },
      "message": "security: make LSMs explicitly mask off permissions\n\nSELinux needs to pass the MAY_ACCESS flag so it can handle auditting\ncorrectly.  Presently the masking of MAY_* flags is done in the VFS.  In\norder to allow LSMs to decide what flags they care about and what flags\nthey don\u0027t just pass them all and the each LSM mask off what they don\u0027t\nneed.  This patch should contain no functional changes to either the VFS or\nany LSM.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9cfcac810e8993fa7a5bfd24b1a21f1dbbb03a7b",
      "tree": "86fae80c744e46b15b8eb9aa23fead7e63a64159",
      "parents": [
        "692a8a231b212dfc68f612956d63f34abf098e0f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 23 11:43:51 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:35:06 2010 +1000"
      },
      "message": "vfs: re-introduce MAY_CHDIR\n\nCurrently MAY_ACCESS means that filesystems must check the permissions\nright then and not rely on cached results or the results of future\noperations on the object.  This can be because of a call to sys_access() or\nbecause of a call to chdir() which needs to check search without relying on\nany future operations inside that dir.  I plan to use MAY_ACCESS for other\npurposes in the security system, so I split the MAY_ACCESS and the\nMAY_CHDIR cases.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ea0d3ab239fba48d6e998b19c28d78f765963007",
      "tree": "c1e20273bf121a4f404ca7ac2a012161b0e0201e",
      "parents": [
        "3e62cbb8436f6c0cb799c8b7f106de7f662a7b8d"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Wed Jun 02 13:24:43 2010 +0900"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:33:40 2010 +1000"
      },
      "message": "LSM: Remove unused arguments from security_path_truncate().\n\nWhen commit be6d3e56a6b9b3a4ee44a0685e39e595073c6f0d \"introduce new LSM hooks\nwhere vfsmount is available.\" was proposed, regarding security_path_truncate(),\nonly \"struct file *\" argument (which AppArmor wanted to use) was removed.\nBut length and time_attrs arguments are not used by TOMOYO nor AppArmor.\nThus, let\u0027s remove these arguments.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "77a63f3d1e0a3e7ede8d10f569e8481b13ff47c5",
      "tree": "f08c0c2dab44348919ec296254c3cc39d34e9f85",
      "parents": [
        "a63ecd835f075b21d7d5cef9580447f5fbb36263"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 01 13:40:40 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 01 15:10:01 2010 -0700"
      },
      "message": "NFS: Fix a typo in include/linux/nfs_fs.h\n\nnfs_commit_inode() needs to be defined irrespectively of whether or not\nwe are supporting NFSv3 and NFSv4.\n\nAllow the compiler to optimise away code in the NFSv2-only case by\nconverting it into an inlined stub function.\n\nReported-and-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc71ff8a6c187ecc1ba79ee5688668af97a970fc",
      "tree": "50fff02480afe0e7d233e62bb9f42965308d7ffc",
      "parents": [
        "1cf66e16160653b4ac92e3ada57fc0bc48798145",
        "cfb506e1d330387dfaf334dd493b3773d388863d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:02:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:02:21 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: Ensure that writepage respects the nonblock flag\n  NFS: kswapd must not block in nfs_release_page\n  nfs: include space for the NUL in root path\n"
    },
    {
      "commit": "51c20fcced5badee0e2021c6c89f44aa3cbd72aa",
      "tree": "f885ebf3c2a71cb4475d45466636cd20750bb450",
      "parents": [
        "a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jul 30 15:25:19 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 18:56:09 2010 -0700"
      },
      "message": "CIFS: Remove __exit mark from cifs_exit_dns_resolver()\n\nRemove the __exit mark from cifs_exit_dns_resolver() as it\u0027s called by the\nmodule init routine in case of error, and so may have been discarded during\nlinkage.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfb506e1d330387dfaf334dd493b3773d388863d",
      "tree": "4c376c8ff15082553f8f0f64a65dfe573072f7c7",
      "parents": [
        "b608b283a962caaa280756bc8563016a71712acf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:31:57 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:38:56 2010 -0400"
      },
      "message": "NFS: Ensure that writepage respects the nonblock flag\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b608b283a962caaa280756bc8563016a71712acf",
      "tree": "217a745ab305219fab676d4a215c1a709004bd57",
      "parents": [
        "674b2222920012244ca59978b356b25412a8dcc7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:31:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:38:42 2010 -0400"
      },
      "message": "NFS: kswapd must not block in nfs_release_page\n\nSee https://bugzilla.kernel.org/show_bug.cgi?id\u003d16056\n\nIf other processes are blocked waiting for kswapd to free up some memory so\nthat they can make progress, then we cannot allow kswapd to block on those\nprocesses.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "674b2222920012244ca59978b356b25412a8dcc7",
      "tree": "01b3673031df1fb3b9a3f5c8f3394f1c0036dde6",
      "parents": [
        "a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Jul 13 13:34:59 2010 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:33:39 2010 -0400"
      },
      "message": "nfs: include space for the NUL in root path\n\nIn root_nfs_name() it does the following:\n\n        if (strlen(buf) + strlen(cp) \u003e NFS_MAXPATHLEN) {\n                printk(KERN_ERR \"Root-NFS: Pathname for remote directory too long.\\n\");\n                return -1;\n        }\n        sprintf(nfs_export_path, buf, cp);\n\nIn the original code if (strlen(buf) + strlen(cp) \u003d\u003d NFS_MAXPATHLEN)\nthen the sprintf() would lead to an overflow.  Generally the rest of the\ncode assumes that the path can have NFS_MAXPATHLEN (1024) characters and\na NUL terminator so the fix is to add space to the nfs_export_path[]\nbuffer.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c639d5d8f69f37e24ed0354373f61fcbde4b9354",
      "tree": "02f16a487bc88d98fe25766307bf688cf7771f36",
      "parents": [
        "7cdee5dbf477409e4afc6c9063492dc2577b41ea"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Fri Jul 30 11:34:52 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 30 16:34:06 2010 +0100"
      },
      "message": "GFS2: Fix typo in stuffed file data copy handling\n\ntrunc_start() in bmap.c incorrectly uses sizeof(struct gfs2_inode) instead of\nsizeof(struct gfs2_dinode).\n\nSigned-off-by: Abhi Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "de09a9771a5346029f4d11e4ac886be7f9bfdd75",
      "tree": "ccce9e75753c98a9f38075d54ab98aa4b89e66c7",
      "parents": [
        "540ad6b62b3a188a53b51cac81d8a60d40e29fbd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 29 12:45:49 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:16:17 2010 -0700"
      },
      "message": "CRED: Fix get_task_cred() and task_state() to not resurrect dead credentials\n\nIt\u0027s possible for get_task_cred() as it currently stands to \u0027corrupt\u0027 a set of\ncredentials by incrementing their usage count after their replacement by the\ntask being accessed.\n\nWhat happens is that get_task_cred() can race with commit_creds():\n\n\tTASK_1\t\t\tTASK_2\t\t\tRCU_CLEANER\n\t--\u003eget_task_cred(TASK_2)\n\trcu_read_lock()\n\t__cred \u003d __task_cred(TASK_2)\n\t\t\t\t--\u003ecommit_creds()\n\t\t\t\told_cred \u003d TASK_2-\u003ereal_cred\n\t\t\t\tTASK_2-\u003ereal_cred \u003d ...\n\t\t\t\tput_cred(old_cred)\n\t\t\t\t  call_rcu(old_cred)\n\t\t[__cred-\u003eusage \u003d\u003d 0]\n\tget_cred(__cred)\n\t\t[__cred-\u003eusage \u003d\u003d 1]\n\trcu_read_unlock()\n\t\t\t\t\t\t\t--\u003eput_cred_rcu()\n\t\t\t\t\t\t\t[__cred-\u003eusage \u003d\u003d 1]\n\t\t\t\t\t\t\tpanic()\n\nHowever, since a tasks credentials are generally not changed very often, we can\nreasonably make use of a loop involving reading the creds pointer and using\natomic_inc_not_zero() to attempt to increment it if it hasn\u0027t already hit zero.\n\nIf successful, we can safely return the credentials in the knowledge that, even\nif the task we\u0027re accessing has released them, they haven\u0027t gone to the RCU\ncleanup code.\n\nWe then change task_state() in procfs to use get_task_cred() rather than\ncalling get_cred() on the result of __task_cred(), as that suffers from the\nsame problem.\n\nWithout this change, a BUG_ON in __put_cred() or in put_cred_rcu() can be\ntripped when it is noticed that the usage count is not zero as it ought to be,\nfor example:\n\nkernel BUG at kernel/cred.c:168!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/kernel/mm/ksm/run\nCPU 0\nPid: 2436, comm: master Not tainted 2.6.33.3-85.fc13.x86_64 #1 0HR330/OptiPlex\n745\nRIP: 0010:[\u003cffffffff81069881\u003e]  [\u003cffffffff81069881\u003e] __put_cred+0xc/0x45\nRSP: 0018:ffff88019e7e9eb8  EFLAGS: 00010202\nRAX: 0000000000000001 RBX: ffff880161514480 RCX: 00000000ffffffff\nRDX: 00000000ffffffff RSI: ffff880140c690c0 RDI: ffff880140c690c0\nRBP: ffff88019e7e9eb8 R08: 00000000000000d0 R09: 0000000000000000\nR10: 0000000000000001 R11: 0000000000000040 R12: ffff880140c690c0\nR13: ffff88019e77aea0 R14: 00007fff336b0a5c R15: 0000000000000001\nFS:  00007f12f50d97c0(0000) GS:ffff880007400000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00007f8f461bc000 CR3: 00000001b26ce000 CR4: 00000000000006f0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess master (pid: 2436, threadinfo ffff88019e7e8000, task ffff88019e77aea0)\nStack:\n ffff88019e7e9ec8 ffffffff810698cd ffff88019e7e9ef8 ffffffff81069b45\n\u003c0\u003e ffff880161514180 ffff880161514480 ffff880161514180 0000000000000000\n\u003c0\u003e ffff88019e7e9f28 ffffffff8106aace 0000000000000001 0000000000000246\nCall Trace:\n [\u003cffffffff810698cd\u003e] put_cred+0x13/0x15\n [\u003cffffffff81069b45\u003e] commit_creds+0x16b/0x175\n [\u003cffffffff8106aace\u003e] set_current_groups+0x47/0x4e\n [\u003cffffffff8106ac89\u003e] sys_setgroups+0xf6/0x105\n [\u003cffffffff81009b02\u003e] system_call_fastpath+0x16/0x1b\nCode: 48 8d 71 ff e8 7e 4e 15 00 85 c0 78 0b 8b 75 ec 48 89 df e8 ef 4a 15 00\n48 83 c4 18 5b c9 c3 55 8b 07 8b 07 48 89 e5 85 c0 74 04 \u003c0f\u003e 0b eb fe 65 48 8b\n04 25 00 cc 00 00 48 3b b8 58 04 00 00 75\nRIP  [\u003cffffffff81069881\u003e] __put_cred+0xc/0x45\n RSP \u003cffff88019e7e9eb8\u003e\n---[ end trace df391256a100ebdd ]---\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cdee5dbf477409e4afc6c9063492dc2577b41ea",
      "tree": "cfa14683839870e542666cc3630dcb900e11ef01",
      "parents": [
        "d5341a92416706808dc5cd847826f28c08063c8c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 29 14:39:29 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 29 14:39:29 2010 +0100"
      },
      "message": "Revert \"GFS2: recovery stuck on transaction lock\"\n\nThis reverts commit b7dc2df5725fe7355fd76000ead7e39728e1b8a9.\n\nThe initial patch didn\u0027t quite work since it doesn\u0027t cover all\nthe possible routes by which the GLF_FROZEN flag might be set.\nA revised fix is coming up in the next patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d5341a92416706808dc5cd847826f28c08063c8c",
      "tree": "48f6680c25d2fab956c52cd5021110f47f2ddf54",
      "parents": [
        "4244b52e18be959ced77b984f268e46a0a7654e3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 23 14:05:51 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 29 09:37:38 2010 +0100"
      },
      "message": "GFS2: Make \"try\" lock not try quite so hard\n\nThis looks like a big change, but in reality its only a single line of actual\ncode change, the rest is just moving a function to before its new caller.\nThe \"try\" flag for glocks is a rather subtle and delicate setting since it\nrequires that the state machine tries just hard enough to ensure that it has\na good chance of getting the requested lock, but no so hard that the\nrequest can land up blocked behind another.\n\nThe patch adds in an additional check which will fail any queued try\nlocks if there is another request blocking the try lock request which\nis not granted and compatible, nor in progress already. The check is made\nonly after all pending locks which may be granted have been granted.\n\nI\u0027ve checked this with the reproducer for the reported flock bug which\nthis is intended to fix, and it now passes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "4244b52e18be959ced77b984f268e46a0a7654e3",
      "tree": "ec53a38549c964743d23224a6f34042175e04c30",
      "parents": [
        "461cb419f074aab16836a660efb8e855b6c1609c"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jul 20 19:45:03 2010 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 29 09:37:18 2010 +0100"
      },
      "message": "GFS2: remove dependency on __GFP_NOFAIL\n\nThe k[mc]allocs in dr_split_leaf() and dir_double_exhash() are failable,\nso remove __GFP_NOFAIL from their masks.\n\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "461cb419f074aab16836a660efb8e855b6c1609c",
      "tree": "0b4ca5ab5c01efc37505a43ad96dbc94ae2bb95b",
      "parents": [
        "ba6e93645f039bd357e04b7b9d18f4e67757725e"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Jun 24 19:21:20 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 29 09:36:56 2010 +0100"
      },
      "message": "GFS2: Simplify gfs2_write_alloc_required\n\nFunction gfs2_write_alloc_required always returned zero as its\nreturn code.  Therefore, it doesn\u0027t need to return a return code\nat all.  Given that, we can use the return value to return whether\nor not the dinode needs block allocations rather than passing\nthat value in, which in turn simplifies a bunch of error checking.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ba6e93645f039bd357e04b7b9d18f4e67757725e",
      "tree": "11d2d4491255cd9a298fe098f6ec52e0f3d8b577",
      "parents": [
        "30116ff6c6d140bc696cc624e6d8e38f018c886e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jun 14 10:01:30 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 29 09:36:35 2010 +0100"
      },
      "message": "GFS2: Wait for journal id on mount if not specified on mount command line\n\nThis patch implements a wait for the journal id in the case that it has\nnot been specified on the command line. This is to allow the future\nremoval of the mount.gfs2 helper. The journal id would instead be\ndirectly communicated by gfs_controld to the file system. Here is a\ncomparison of the two systems:\n\nCurrent:\n1. mount calls mount.gfs2\n2. mount.gfs2 connects to gfs_controld to retrieve the journal id\n3. mount.gfs2 adds the journal id to the mount command line and calls\nthe mount system call\n4. gfs_controld receives the status of the mount request via a uevent\n\nProposed:\n1. mount calls the mount system call (no mount.gfs2 helper)\n2. gfs_controld receives a uevent for a gfs2 fs which it doesn\u0027t know\nabout already\n3. gfs_controld assigns a journal id to it via sysfs\n4. the mount system call then completes as normal (sending a uevent\naccording to status)\n\nThe advantage of the proposed system is that it is completely backward\ncompatible with the current system both at the kernel and at the\nuserland levels. The \"first\" parameter can also be set the same way,\nwith the restriction that it must be set before the journal id is\nassigned.\n\nIn addition, if mount becomes stuck waiting for a reply from\ngfs_controld which never arrives, then it is killable and will abort the\nmount gracefully.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "30116ff6c6d140bc696cc624e6d8e38f018c886e",
      "tree": "d6a69965d025c9de83ff0611a6c5eda913da0430",
      "parents": [
        "540ad6b62b3a188a53b51cac81d8a60d40e29fbd"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jun 14 09:58:41 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 29 09:36:14 2010 +0100"
      },
      "message": "GFS2: Use nobh_writepage\n\nUse nobh_writepage rather than calling mpage_writepage directly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "a6f80fb7b5986fda663d94079d3bba0937a6b6ff",
      "tree": "b8a44b0ed1560ae3f00f1ff4e342f43b7422bcc3",
      "parents": [
        "6c50e1a49b4377b760ee46f824ed04b17be913e3"
      ],
      "author": {
        "name": "Andre Osterhues",
        "email": "aosterhues@escrypt.com",
        "time": "Tue Jul 13 15:59:17 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 19:59:24 2010 -0700"
      },
      "message": "ecryptfs: Bugfix for error related to ecryptfs_hash_buckets\n\nThe function ecryptfs_uid_hash wrongly assumes that the\nsecond parameter to hash_long() is the number of hash\nbuckets instead of the number of hash bits.\nThis patch fixes that and renames the variable\necryptfs_hash_buckets to ecryptfs_hash_bits to make it\nclearer.\n\nFixes: CVE-2010-2492\n\nSigned-off-by: Andre Osterhues \u003caosterhues@escrypt.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c50e1a49b4377b760ee46f824ed04b17be913e3",
      "tree": "5e558bcd8fa3ca0d1a999e4c472d206aa688ec68",
      "parents": [
        "d2a97a4e99ff0ffdccd1fc46f22fb34270ef1e56",
        "03066f23452ff088ad8e2c8acdf4443043f35b51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 11:10:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 11:10:53 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: use complete_all and wake_up_all\n  ceph: Correct obvious typo of Kconfig variable \"CRYPTO_AES\"\n  ceph: fix dentry lease release\n  ceph: fix leak of dentry in ceph_init_dentry() error path\n  ceph: fix pg_mapping leak on pg_temp updates\n  ceph: fix d_release dop for snapdir, snapped dentries\n  ceph: avoid dcache readdir for snapdir\n"
    },
    {
      "commit": "d2a97a4e99ff0ffdccd1fc46f22fb34270ef1e56",
      "tree": "f9ac90f438bb3221a6e383e7f1c9c817e95ad44b",
      "parents": [
        "fc0f5ac8fe693d1b05f5a928cc48135d1c8b7f2e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 28 17:56:23 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 11:10:03 2010 -0700"
      },
      "message": "GFS2: Use kmalloc when possible for -\u003ereaddir()\n\nIf we don\u0027t need a huge amount of memory in -\u003ereaddir() then\nwe can use kmalloc rather than vmalloc to allocate it. This\nshould cut down on the greater overheads associated with\nvmalloc for smaller directories.\n\nWe may be able to eliminate vmalloc entirely at some stage,\nbut this is easy to do right away.\n\nAlso using GFP_NOFS to avoid any issues wrt to deleting inodes\nwhile under a glock, and suggestion from Linus to factor out\nthe alloc/dealloc.\n\nI\u0027ve given this a test with a variety of different sized\ndirectories and it seems to work ok.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03066f23452ff088ad8e2c8acdf4443043f35b51",
      "tree": "37f03df4e28de87339cec3b88e479073c8cee958",
      "parents": [
        "25848b3ec681c7018e3746dd850c1e8ed0a3dd6b"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Jul 27 13:11:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 27 13:11:17 2010 -0700"
      },
      "message": "ceph: use complete_all and wake_up_all\n\nThis fixes an issue triggered by running concurrent syncs. One of the syncs\nwould go through while the other would just hang indefinitely. In any case, we\nnever actually want to wake a single waiter, so the *_all functions should\nbe used.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "da7ddd3296505b4cb46685e1bbf7d0075b3cd4f1",
      "tree": "45fcc62918193eba6e2aef40e1df0d2ef2e1df32",
      "parents": [
        "d15aa2cc641bd193596382357de917b32f1b40cb"
      ],
      "author": {
        "name": "Latchesar Ionkov",
        "email": "lucho@ionkov.net",
        "time": "Mon Jul 19 15:40:03 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Jul 27 14:52:04 2010 -0500"
      },
      "message": "9p: Pass the correct end of buffer to p9stat_read\n\nPass the correct end of the buffer to p9stat_read.\n\nSigned-off-by: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "209fb87a259ead17e966627b7f053d16a96898da",
      "tree": "2cb348a32e2c1488cfb14189e975bcbcb6a0695f",
      "parents": [
        "fb511f2150174b18b28ad54708c1adda0df39b17"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Jul 18 21:17:11 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 16:09:19 2010 -0500"
      },
      "message": "xfs simplify and speed up direct I/O completions\n\nOur current handling of direct I/O completions is rather suboptimal,\nbecause we defer it to a workqueue more often than needed, and we\nperform a much to aggressive flush of the workqueue in case unwritten\nextent conversions happen.\n\nThis patch changes the direct I/O reads to not even use a completion\nhandler, as we don\u0027t bother to use it at all, and to perform the unwritten\nextent conversions in caller context for synchronous direct I/O.\n\nFor a small I/O size direct I/O workload on a consumer grade SSD, such as\nthe untar of a kernel tree inside qemu this patch gives speedups of\nabout 5%.  Getting us much closer to the speed of a native block device,\nor a fully allocated XFS file.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "fb511f2150174b18b28ad54708c1adda0df39b17",
      "tree": "2642c10c35a8dcbf7aa1e46115a5b48555aa258b",
      "parents": [
        "40e2e97316af6e62affab7a392e792494b8d9dde"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Jul 18 21:17:10 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 16:09:10 2010 -0500"
      },
      "message": "xfs: move aio completion after unwritten extent conversion\n\nIf we write into an unwritten extent using AIO we need to complete the AIO\nrequest after the extent conversion has finished.  Without that a read could\nrace to see see the extent still unwritten and return zeros.   For synchronous\nI/O we already take care of that by flushing the xfsconvertd workqueue (which\nmight be a bit of overkill).\n\nTo do that add iocb and result fields to struct xfs_ioend, so that we can\ncall aio_complete from xfs_end_io after the extent conversion has happened.\nNote that we need a new result field as io_error is used for positive errno\nvalues, while the AIO code can return negative error values and positive\ntransfer sizes.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "40e2e97316af6e62affab7a392e792494b8d9dde",
      "tree": "981ce3b464467893683d47f52ae5d35fdd32d46a",
      "parents": [
        "696123fca877905696591829c97a2cef11c8d048"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Jul 18 21:17:09 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 16:09:02 2010 -0500"
      },
      "message": "direct-io: move aio_complete into -\u003eend_io\n\nFilesystems with unwritten extent support must not complete an AIO request\nuntil the transaction to convert the extent has been commited.  That means\nthe aio_complete calls needs to be moved into the -\u003eend_io callback so\nthat the filesystem can control when to call it exactly.\n\nThis makes a bit of a mess out of dio_complete and the -\u003eend_io callback\nprototype even more complicated.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "696123fca877905696591829c97a2cef11c8d048",
      "tree": "d18c83ee0cd6148f156edb854996ea1554da78fd",
      "parents": [
        "ecd7f082d68d7fb1c96bcf72071aa85db9c00ddf"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Jul 26 13:51:46 2010 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 16:07:38 2010 -0500"
      },
      "message": "xfs: fix big endian build\n\nCommit 0fd7275cc42ab734eaa1a2c747e65479bd1e42af (\"xfs: fix gcc 4.6\nset but not read and unused statement warnings\") failed to convert\nsome code inside XFS_NATIVE_HOST (big endian host code only) and\nhence fails to build on such machines. Fix it.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "d33002129eee4717a92e320b0b764a784bbcad3a",
      "tree": "0f519f2385d08e3b1702c89e1e01ff079a2e5846",
      "parents": [
        "521d0453547d6195d200176328aaec6c98a7a290"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 20 22:12:01 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 26 12:02:41 2010 -0700"
      },
      "message": "sysfs: allow creating symlinks from untagged to tagged directories\n\nSupporting symlinks from untagged to tagged directories is reasonable,\nand needed to support CONFIG_SYSFS_DEPRECATED.  So don\u0027t fail a prior\nallowing that case to work.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "521d0453547d6195d200176328aaec6c98a7a290",
      "tree": "8c0a1bc9920ec9178b8f035188338a3552c1b4b1",
      "parents": [
        "96d6523adffbab64f099561a021892125e0c672c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 20 22:10:58 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 26 12:02:41 2010 -0700"
      },
      "message": "sysfs: sysfs_delete_link handle symlinks from untagged to tagged directories.\n\nThis happens for network devices when SYSFS_DEPRECATED is enabled.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "96d6523adffbab64f099561a021892125e0c672c",
      "tree": "0a6c3845c7832d4d3ad6bd120c95c3823dc780a2",
      "parents": [
        "dbbe4649d683577de1063dbd9f6da7d4b8de2fed"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jul 08 09:31:24 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 26 12:02:41 2010 -0700"
      },
      "message": "sysfs: Don\u0027t allow the creation of symlinks we can\u0027t remove\n\nRecently my tagged sysfs support revealed a flaw in the device core\nthat a few rare drivers are running into such that we don\u0027t always put\nnetwork devices in a class subdirectory named net/.\n\nSince we are not creating the class directory the network devices wind\nup in a non-tagged directory, but the symlinks to the network devices\nfrom /sys/class/net are in a tagged directory.  All of which works\nuntil we go to remove or rename the symlink.  When we remove or rename\na symlink we look in the namespace of the target of the symlink.\nSince the target of the symlink is in a non-tagged sysfs directory we\ndon\u0027t have a namespace to look in, and we fail to remove the symlink.\n\nDetect this problem up front and simply don\u0027t create symlinks we won\u0027t\nbe able to remove later.  This prevents symlink leakage and fails in\na much clearer and more understandable way.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ecd7f082d68d7fb1c96bcf72071aa85db9c00ddf",
      "tree": "1cc4b35219fd1437ec52bc8519a5de96281ba00f",
      "parents": [
        "5d18898b20dfed5f373f8a9a7cbe01446036f8e9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jul 22 12:52:08 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:53 2010 -0500"
      },
      "message": "xfs: clean up xfs_bmap_get_bp\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "5d18898b20dfed5f373f8a9a7cbe01446036f8e9",
      "tree": "dc96915d62c7140ad4ac33a3724ddf36f9db022f",
      "parents": [
        "939d723b721eef71060201738653a73443ff4510"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 20 17:51:31 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:52 2010 -0500"
      },
      "message": "xfs: simplify xfs_truncate_file\n\nxfs_truncate_file is only used for truncating quota files.  Move it to\nxfs_qm_syscalls.c so it can be marked static and take advatange of the\nfact by removing the unused page cache validation and taking the iget\ninto the helper.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "939d723b721eef71060201738653a73443ff4510",
      "tree": "3965391cebe9f1e0c1acb0b394c50c1b83312aa3",
      "parents": [
        "a64afb057b607c04383ab5fb53c51421ba18c434"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 20 17:51:16 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:52 2010 -0500"
      },
      "message": "xfs: kill the b_strat callback in xfs_buf\n\nThe b_strat callback is used by xfs_buf_iostrategy to perform additional\nchecks before submitting a buffer.  It is used in xfs_bwrite and when\nwriting out delayed buffers.  In xfs_bwrite it we can de-virtualize the\ncall easily as b_strat is set a few lines above the call to\nxfs_buf_iostrategy.  For the delayed buffers the rationale is a bit\nmore complicated:\n\n - there are three callers of xfs_buf_delwri_queue, which places buffers\n   on the delwri list:\n    (1) xfs_bdwrite - this sets up b_strat, so it\u0027s fine\n    (2) xfs_buf_iorequest.  None of the callers can have XBF_DELWRI set:\n\t- xlog_bdstrat is only used for log buffers, which are never delwri\n\t- _xfs_buf_read explicitly clears the delwri flag\n\t- xfs_buf_iodone_work retries log buffers only\n\t- xfsbdstrat - only used for reads, superblock writes without the\n\t  delwri flag, log I/O and file zeroing with explicitly allocated\n\t  buffers.\n\t- xfs_buf_iostrategy - only calls xfs_buf_iorequest if b_strat is\n\t  not set\n    (3) xfs_buf_unlock\n\t- only puts the buffer on the delwri list if the DELWRI flag is\n\t  already set.  The DELWRI flag is only ever set in xfs_bwrite,\n\t  xfs_buf_iodone_callbacks, or xfs_trans_log_buf.  For\n\t  xfs_buf_iodone_callbacks and xfs_trans_log_buf we require\n\t  an initialized buf item, which means b_strat was set to\n\t  xfs_bdstrat_cb in xfs_buf_item_init.\n\nConclusion: we can just get rid of the callback and replace it with\nexplicit calls to xfs_bdstrat_cb.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "a64afb057b607c04383ab5fb53c51421ba18c434",
      "tree": "8f90f37bbdf1c81311342d8781da1742b3192f74",
      "parents": [
        "0664ce8d0fde731d76fa7e86b3afb54f3a6830ff"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 20 17:50:52 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:51 2010 -0500"
      },
      "message": "xfs: remove obsolete osyncisosync mount option\n\nSince Linux 2.6.33 the kernel has support for real O_SYNC, which made\nthe osyncisosync option a no-op.  Warn the users about this and remove\nthe mount flag for it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "0664ce8d0fde731d76fa7e86b3afb54f3a6830ff",
      "tree": "c33c78d3a3e34ecc7f1ddda363040b57687b6b25",
      "parents": [
        "73523a2ecf03f0bfe7c36c244aff8a2ef2208a4a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 20 17:31:01 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:51 2010 -0500"
      },
      "message": "xfs: clean up filestreams helpers\n\nMove xfs_filestream_peek_ag, xxfs_filestream_get_ag and xfs_filestream_put_ag\nfrom xfs_filestream.h to xfs_filestream.c where it\u0027s only callers are, and\nremove the inline marker while we\u0027re at it to let the compiler decide on the\ninlining.  Also don\u0027t return a value from xfs_filestream_put_ag because\nwe don\u0027t need it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "73523a2ecf03f0bfe7c36c244aff8a2ef2208a4a",
      "tree": "b6b1f2be9a4b276a41381a51fc7278bf7e365471",
      "parents": [
        "0f1a932f5d4d6ee71afb141914e2d5f11f27eee1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 20 17:54:45 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:51 2010 -0500"
      },
      "message": "xfs: fix gcc 4.6 set but not read and unused statement warnings\n\n[hch: dropped a few hunks that need structural changes instead]\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "0f1a932f5d4d6ee71afb141914e2d5f11f27eee1",
      "tree": "231f4a8cd8baa2a948205a842a4ebc323b162c35",
      "parents": [
        "3f34885cd7c6a3f4deea48e3bbc704d91d5704f4"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jul 20 17:54:41 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:50 2010 -0500"
      },
      "message": "xfs: Fix build when CONFIG_XFS_POSIX_ACL\u003dn\n\nWhen CONFIG_XFS_POSIX_ACL is not set \"xfs_check_acl\" is #defined\nto NULL - which breaks the code attempting to add a tracepoint\non this function.\n\nOnly define the tracepoint when the function exists.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "3f34885cd7c6a3f4deea48e3bbc704d91d5704f4",
      "tree": "c03bcdaf42d70d7e08df2cd629d5308870660bed",
      "parents": [
        "aea1b9532143218f8599ecedbbd6bfbf812385e1"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Tue Jul 20 17:54:28 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:50 2010 -0500"
      },
      "message": "xfs: fix unsigned underflow in xfs_free_eofblocks\n\nmap_len is unsigned. Checking map_len \u003c\u003d 0 is buggy when it should be\nbelow zero. So, check exact expression instead of map_len.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "aea1b9532143218f8599ecedbbd6bfbf812385e1",
      "tree": "3b6aa49dffcf982119999578324926a2dd955264",
      "parents": [
        "4a7edddcb5b14ddb5962e6906b6fd6b500d7a361"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Jul 20 17:54:12 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:49 2010 -0500"
      },
      "message": "xfs: use GFP_NOFS for page cache allocation\n\nAvoid a lockdep warning by preventing page cache allocation from\nrecursing back into the filesystem during memory reclaim.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "4a7edddcb5b14ddb5962e6906b6fd6b500d7a361",
      "tree": "e62253cc40f36bfa631f0dd316a16ac987d11dd4",
      "parents": [
        "438697064aaa2f64e0fcc6586582a3e7ec36005b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Jul 20 17:53:59 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:49 2010 -0500"
      },
      "message": "xfs: fix memory reclaim recursion deadlock on locked inode buffer\n\nCalling into memory reclaim with a locked inode buffer can deadlock\nif memory reclaim tries to lock the inode buffer during inode\nteardown. Convert the relevant memory allocations to use KM_NOFS to\navoid this deadlock condition.\n\nReported-by: Peter Watkins \u003ctreestem@gmail.com\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "438697064aaa2f64e0fcc6586582a3e7ec36005b",
      "tree": "d17c751af1c917656680d659073541fc954e04bd",
      "parents": [
        "2f11feabb19748c0ffa2eb82d438e8a91b9f6ea0"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Jul 20 17:53:44 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:49 2010 -0500"
      },
      "message": "xfs: fix xfs_trans_add_item() lockdep warnings\n\nxfs_trans_add_item() is called with ip-\u003ei_ilock held, which means it\nis unsafe for memory reclaim to recurse back into the filesystem\n(ilock is required in writeback). Hence the allocation needs to be\nKM_NOFS to avoid recursion.\n\nLockdep report indicating memory allocation being called with the\nip-\u003ei_ilock held is as follows:\n\n[ 1749.866796] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1749.867788] [ INFO: inconsistent lock state ]\n[ 1749.868327] 2.6.35-rc3-dgc+ #25\n[ 1749.868741] ---------------------------------\n[ 1749.868741] inconsistent {IN-RECLAIM_FS-W} -\u003e {RECLAIM_FS-ON-W} usage.\n[ 1749.868741] dd/2835 [HC0[0]:SC0[0]:HE1:SE1] takes:\n[ 1749.868741]  (\u0026(\u0026ip-\u003ei_lock)-\u003emr_lock){++++?.}, at: [\u003cffffffff813170fb\u003e] xfs_ilock+0x10b/0x190\n[ 1749.868741] {IN-RECLAIM_FS-W} state was registered at:\n[ 1749.868741]   [\u003cffffffff810b3a97\u003e] __lock_acquire+0x437/0x1450\n[ 1749.868741]   [\u003cffffffff810b4b56\u003e] lock_acquire+0xa6/0x160\n[ 1749.868741]   [\u003cffffffff810a20b5\u003e] down_write_nested+0x65/0xb0\n[ 1749.868741]   [\u003cffffffff813170fb\u003e] xfs_ilock+0x10b/0x190\n[ 1749.868741]   [\u003cffffffff8134e819\u003e] xfs_reclaim_inode+0x99/0x310\n[ 1749.868741]   [\u003cffffffff8134f56b\u003e] xfs_inode_ag_walk+0x8b/0x150\n[ 1749.868741]   [\u003cffffffff8134f6bb\u003e] xfs_inode_ag_iterator+0x8b/0xf0\n[ 1749.868741]   [\u003cffffffff8134f7a8\u003e] xfs_reclaim_inode_shrink+0x88/0x90\n[ 1749.868741]   [\u003cffffffff81119d07\u003e] shrink_slab+0x137/0x1a0\n[ 1749.868741]   [\u003cffffffff8111bbe1\u003e] balance_pgdat+0x421/0x6a0\n[ 1749.868741]   [\u003cffffffff8111bf7d\u003e] kswapd+0x11d/0x320\n[ 1749.868741]   [\u003cffffffff8109ce56\u003e] kthread+0x96/0xa0\n[ 1749.868741]   [\u003cffffffff81035de4\u003e] kernel_thread_helper+0x4/0x10\n[ 1749.868741] irq event stamp: 4234335\n[ 1749.868741] hardirqs last  enabled at (4234335): [\u003cffffffff81147d25\u003e] kmem_cache_free+0x115/0x220\n[ 1749.868741] hardirqs last disabled at (4234334): [\u003cffffffff81147c4d\u003e] kmem_cache_free+0x3d/0x220\n[ 1749.868741] softirqs last  enabled at (4233112): [\u003cffffffff81084dd2\u003e] __do_softirq+0x142/0x260\n[ 1749.868741] softirqs last disabled at (4233095): [\u003cffffffff81035edc\u003e] call_softirq+0x1c/0x50\n[ 1749.868741] \n[ 1749.868741] other info that might help us debug this:\n[ 1749.868741] 2 locks held by dd/2835:\n[ 1749.868741]  #0:  (\u0026(\u0026ip-\u003ei_iolock)-\u003emr_lock#2){+.+.+.}, at: [\u003cffffffff81316edd\u003e] xfs_ilock_nowait+0xed/0x200\n[ 1749.868741]  #1:  (\u0026(\u0026ip-\u003ei_lock)-\u003emr_lock){++++?.}, at: [\u003cffffffff813170fb\u003e] xfs_ilock+0x10b/0x190\n[ 1749.868741] \n[ 1749.868741] stack backtrace:\n[ 1749.868741] Pid: 2835, comm: dd Not tainted 2.6.35-rc3-dgc+ #25\n[ 1749.868741] Call Trace:\n[ 1749.868741]  [\u003cffffffff810b1faa\u003e] print_usage_bug+0x18a/0x190\n[ 1749.868741]  [\u003cffffffff8104264f\u003e] ? save_stack_trace+0x2f/0x50\n[ 1749.868741]  [\u003cffffffff810b2400\u003e] ? check_usage_backwards+0x0/0xf0\n[ 1749.868741]  [\u003cffffffff810b2f11\u003e] mark_lock+0x331/0x400\n[ 1749.868741]  [\u003cffffffff810b3047\u003e] mark_held_locks+0x67/0x90\n[ 1749.868741]  [\u003cffffffff810b3111\u003e] lockdep_trace_alloc+0xa1/0xe0\n[ 1749.868741]  [\u003cffffffff81147419\u003e] kmem_cache_alloc+0x39/0x1e0\n[ 1749.868741]  [\u003cffffffff8133f954\u003e] kmem_zone_alloc+0x94/0xe0\n[ 1749.868741]  [\u003cffffffff8133f9be\u003e] kmem_zone_zalloc+0x1e/0x50\n[ 1749.868741]  [\u003cffffffff81335f02\u003e] xfs_trans_add_item+0x72/0xb0\n[ 1749.868741]  [\u003cffffffff81339e41\u003e] xfs_trans_ijoin+0xa1/0xd0\n[ 1749.868741]  [\u003cffffffff81319f82\u003e] xfs_itruncate_finish+0x312/0x5d0\n[ 1749.868741]  [\u003cffffffff8133cb87\u003e] xfs_free_eofblocks+0x227/0x280\n[ 1749.868741]  [\u003cffffffff8133cd18\u003e] xfs_release+0x138/0x190\n[ 1749.868741]  [\u003cffffffff813464c5\u003e] xfs_file_release+0x15/0x20\n[ 1749.868741]  [\u003cffffffff81150ebf\u003e] fput+0x13f/0x260\n[ 1749.868741]  [\u003cffffffff8114d8c2\u003e] filp_close+0x52/0x80\n[ 1749.868741]  [\u003cffffffff8114d9a9\u003e] sys_close+0xb9/0x120\n[ 1749.868741]  [\u003cffffffff81034ff2\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "2f11feabb19748c0ffa2eb82d438e8a91b9f6ea0",
      "tree": "02564de802ac344b7c2048ed10438443356bfce1",
      "parents": [
        "ec53d1dbb3ca960e7b552397613358ba1dbd12bd"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Jul 20 17:53:25 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:48 2010 -0500"
      },
      "message": "xfs: simplify and remove xfs_ireclaim\n\nxfs_ireclaim has to get and put te pag structure because it is only\ncalled with the inode to reclaim. The one caller of this function\nalready has a reference on the pag and a pointer to is, so move the\nradix tree delete to the caller and remove xfs_ireclaim completely.\nThis avoids a xfs_perag_get/put on every inode being reclaimed.\n\nThe overhead was noticed in a bug report at:\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d16348\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "ec53d1dbb3ca960e7b552397613358ba1dbd12bd",
      "tree": "9b04fd4e4f1149ce0b5927c9f9a89d26fa6a3d4a",
      "parents": [
        "a4190f90b4e22bde8b01b0086e00dd95439e2edd"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Jul 20 17:52:59 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:48 2010 -0500"
      },
      "message": "xfs: don\u0027t block on buffer read errors\n\nxfs_buf_read() fails to detect dispatch errors before attempting to\nwait on sychronous IO. If there was an error, it will get stuck\nforever, waiting for an I/O that was never started. Make sure the\nerror is detected correctly.\n\nFurther, such a failure can leave locked pages in the page cache\nwhich will cause a later operation to hang on the page. Ensure that\nwe correctly process pages in the buffers when we get a dispatch\nerror.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "a4190f90b4e22bde8b01b0086e00dd95439e2edd",
      "tree": "e92d34f18af6f06c0f637345286579d66c7fc659",
      "parents": [
        "fa17b25e9f95375081b43a741cf1c188682ec588"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Jul 12 06:40:58 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Jul 26 13:16:47 2010 -0500"
      },
      "message": "xfs: move inode shrinker unregister even earlier\n\nI missed Dave Chinner\u0027s second revision of this change, and pushed\nhis first version out to the repository instead.\n\n\tcommit a476c59ebb279d738718edc0e3fb76aab3687114\n\tAuthor: Dave Chinner \u003cdchinner@redhat.com\u003e\n\nThis commit compensates for that by moving a block of code up a bit\nfurther, with a result that matches the the effect of Dave\u0027s second\nversion.\n\nDave\u0027s first version was:\n\tReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nDave\u0027s second version was:\n\tReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    }
  ],
  "next": "fa17b25e9f95375081b43a741cf1c188682ec588"
}
