)]}'
{
  "log": [
    {
      "commit": "7a9b149212f3716c598afe973b6261fd58453b7a",
      "tree": "477716d84c71da124448b72278e98da28aadbd3d",
      "parents": [
        "3d62e3fdce8ef265a3706c52ae1ca6ab84e30f0e",
        "e26bcf37234c67624f62d9fc95f922b8dbda1363"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:26:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:26:12 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits)\n  USB: remove unused usb_buffer_alloc and usb_buffer_free macros\n  usb: musb: update gfp/slab.h includes\n  USB: ftdi_sio: fix legacy SIO-device header\n  USB: kl5usb105: reimplement using generic framework\n  USB: kl5usb105: minor clean ups\n  USB: kl5usb105: fix memory leak\n  USB: io_ti: use kfifo to implement write buffering\n  USB: io_ti: remove unsused private counter\n  USB: ti_usb: use kfifo to implement write buffering\n  USB: ir-usb: fix incorrect write-buffer length\n  USB: aircable: fix incorrect write-buffer length\n  USB: safe_serial: straighten out read processing\n  USB: safe_serial: reimplement read using generic framework\n  USB: safe_serial: reimplement write using generic framework\n  usb-storage: always print quirks\n  USB: usb-storage: trivial debug improvements\n  USB: oti6858: use port write fifo\n  USB: oti6858: use kfifo to implement write buffering\n  USB: cypress_m8: use kfifo to implement write buffering\n  USB: cypress_m8: remove unused drain define\n  ...\n\nFix up conflicts (due to usb_buffer_alloc/free renaming) in\n\tdrivers/input/tablet/acecad.c\n\tdrivers/input/tablet/kbtab.c\n\tdrivers/input/tablet/wacom_sys.c\n\tdrivers/media/video/gspca/gspca.c\n\tsound/usb/usbaudio.c\n"
    },
    {
      "commit": "f8965467f366fd18f01feafb5db10512d7b4422c",
      "tree": "3706a9cd779859271ca61b85c63a1bc3f82d626e",
      "parents": [
        "a26272e5200765691e67d6780e52b32498fdb659",
        "2ec8c6bb5d8f3a62a79f463525054bae1e3d4487"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:04:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:04:44 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: (1674 commits)\n  qlcnic: adding co maintainer\n  ixgbe: add support for active DA cables\n  ixgbe: dcb, do not tag tc_prio_control frames\n  ixgbe: fix ixgbe_tx_is_paused logic\n  ixgbe: always enable vlan strip/insert when DCB is enabled\n  ixgbe: remove some redundant code in setting FCoE FIP filter\n  ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp\n  ixgbe: fix header len when unsplit packet overflows to data buffer\n  ipv6: Never schedule DAD timer on dead address\n  ipv6: Use POSTDAD state\n  ipv6: Use state_lock to protect ifa state\n  ipv6: Replace inet6_ifaddr-\u003edead with state\n  cxgb4: notify upper drivers if the device is already up when they load\n  cxgb4: keep interrupts available when the ports are brought down\n  cxgb4: fix initial addition of MAC address\n  cnic: Return SPQ credit to bnx2x after ring setup and shutdown.\n  cnic: Convert cnic_local_flags to atomic ops.\n  can: Fix SJA1000 command register writes on SMP systems\n  bridge: fix build for CONFIG_SYSFS disabled\n  ARCNET: Limit com20020 PCI ID matches for SOHARD cards\n  ...\n\nFix up various conflicts with pcmcia tree drivers/net/\n{pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and\nwireless/orinoco/spectrum_cs.c} and feature removal\n(Documentation/feature-removal-schedule.txt).\n\nAlso fix a non-content conflict due to pm_qos_requirement getting\nrenamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c\n"
    },
    {
      "commit": "8120a8aadb2059e29982561658bc6675126f8105",
      "tree": "1e05b58df0397b76c7ad1543d2af21e746e44369",
      "parents": [
        "22c43c81a51e05f61e90445ceb59d486c12fd921"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "m.nazarewicz@samsung.com",
        "time": "Wed May 05 12:53:12 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:42 2010 -0700"
      },
      "message": "fs/timerfd.c: make use of wait_event_interruptible_locked_irq()\n\nThis patch modifies the fs/timerfd.c to use the newly created\nwait_event_interruptible_locked_irq() macro.  This replaces an open\ncode implementation with a single macro call.\n\nSigned-off-by: Michal Nazarewicz \u003cm.nazarewicz@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f39d01be4c59a61a08d0cb53f615e7016b85d339",
      "tree": "6777590e3ff2ddf4df1d38444ba7d692cd463b7b",
      "parents": [
        "54291263519ac2c9bdda68b23b02fef3808deed4",
        "7db82437cfcac4bdfe79a6323eb554fdfa271623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)\n  vlynq: make whole Kconfig-menu dependant on architecture\n  add descriptive comment for TIF_MEMDIE task flag declaration.\n  EEPROM: max6875: Header file cleanup\n  EEPROM: 93cx6: Header file cleanup\n  EEPROM: Header file cleanup\n  agp: use NULL instead of 0 when pointer is needed\n  rtc-v3020: make bitfield unsigned\n  PCI: make bitfield unsigned\n  jbd2: use NULL instead of 0 when pointer is needed\n  cciss: fix shadows sparse warning\n  doc: inode uses a mutex instead of a semaphore.\n  uml: i386: Avoid redefinition of NR_syscalls\n  fix \"seperate\" typos in comments\n  cocbalt_lcdfb: correct sections\n  doc: Change urls for sparse\n  Powerpc: wii: Fix typo in comment\n  i2o: cleanup some exit paths\n  Documentation/: it\u0027s -\u003e its where appropriate\n  UML: Fix compiler warning due to missing task_struct declaration\n  UML: add kernel.h include to signal.c\n  ...\n"
    },
    {
      "commit": "46ee9645094ad1eb5b4888882ecaa1fb87dcd2a3",
      "tree": "d0a48e993568b6a2415cfc21fc06eaa2fd886429",
      "parents": [
        "fa5312d9e87e7222c6c384c4e930dc149bc1178d",
        "25f3a5a2854dce8b8413fd24cc9d5b9e3632be54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:03:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:03:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: PM QOS update fix\n  Freezer / cgroup freezer: Update stale locking comments\n  PM / platform_bus: Allow runtime PM by default\n  i2c: Fix bus-level power management callbacks\n  PM QOS update\n  PM / Hibernate: Fix block_io.c printk warning\n  PM / Hibernate: Group swap ops\n  PM / Hibernate: Move the first_sector out of swsusp_write\n  PM / Hibernate: Separate block_io\n  PM / Hibernate: Snapshot cleanup\n  FS / libfs: Implement simple_write_to_buffer\n  PM / Hibernate: document open(/dev/snapshot) side effects\n  PM / Runtime: Add sysfs debug files\n  PM: Improve device power management document\n  PM: Update device power management document\n  PM: Allow runtime_suspend methods to call pm_schedule_suspend()\n  PM: pm_wakeup - switch to using bool\n"
    },
    {
      "commit": "96b5b7f4f2d59b37c1fc2fba1ae25999accd6dcd",
      "tree": "cda421c6cd7533940b35504660a05a366a3ece0c",
      "parents": [
        "f72caf7e496465182eeda842ac66a5e75404ddf1",
        "539c99fd7fc28f8db257c713c10fb4aceadf8887"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 08:55:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 08:55:50 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: (61 commits)\n  KEYS: Return more accurate error codes\n  LSM: Add __init to fixup function.\n  TOMOYO: Add pathname grouping support.\n  ima: remove ACPI dependency\n  TPM: ACPI/PNP dependency removal\n  security/selinux/ss: Use kstrdup\n  TOMOYO: Use stack memory for pending entry.\n  Revert \"ima: remove ACPI dependency\"\n  Revert \"TPM: ACPI/PNP dependency removal\"\n  KEYS: Do preallocation for __key_link()\n  TOMOYO: Use mutex_lock_interruptible.\n  KEYS: Better handling of errors from construct_alloc_key()\n  KEYS: keyring_serialise_link_sem is only needed for keyring-\u003ekeyring links\n  TOMOYO: Use GFP_NOFS rather than GFP_KERNEL.\n  ima: remove ACPI dependency\n  TPM: ACPI/PNP dependency removal\n  selinux: generalize disabling of execmem for plt-in-heap archs\n  LSM Audit: rename LSM_AUDIT_NO_AUDIT to LSM_AUDIT_DATA_NONE\n  CRED: Holding a spinlock does not imply the holding of RCU read lock\n  SMACK: Don\u0027t #include Ext2 headers\n  ...\n"
    },
    {
      "commit": "f72caf7e496465182eeda842ac66a5e75404ddf1",
      "tree": "682e2e4b34d6240ea5dbc516d368dd14b21de182",
      "parents": [
        "6a6be470c3071559970c5659354484d4f664050e",
        "e4e83ea47babd9d4bf95a13aed87f8ef51e46472"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:24:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:24:54 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.35\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.35\u0027 of git://linux-nfs.org/~bfields/linux: (45 commits)\n  Revert \"nfsd4: distinguish expired from stale stateids\"\n  nfsd: safer initialization order in find_file()\n  nfs4: minor callback code simplification, comment\n  NFSD: don\u0027t report compiled-out versions as present\n  nfsd4: implement reclaim_complete\n  nfsd4: nfsd4_destroy_session must set callback client under the state lock\n  nfsd4: keep a reference count on client while in use\n  nfsd4: mark_client_expired\n  nfsd4: introduce nfs4_client.cl_refcount\n  nfsd4: refactor expire_client\n  nfsd4: extend the client_lock to cover cl_lru\n  nfsd4: use list_move in move_to_confirmed\n  nfsd4: fold release_session into expire_client\n  nfsd4: rename sessionid_lock to client_lock\n  nfsd4: fix bare destroy_session null dereference\n  nfsd4: use local variable in nfs4svc_encode_compoundres\n  nfsd: further comment typos\n  sunrpc: centralise most calls to svc_xprt_received\n  nfsd4: fix unlikely race in session replay case\n  nfsd4: fix filehandle comment\n  ...\n"
    },
    {
      "commit": "6a6be470c3071559970c5659354484d4f664050e",
      "tree": "d4b335e863e426acad96fe5e4bce2e3e064abc32",
      "parents": [
        "98c89cdd3a292af3451e47a2a33132f5183861b0",
        "126e216a8730532dfb685205309275f87e3d133e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:24:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:24:05 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.35\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.35\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (78 commits)\n  SUNRPC: Don\u0027t spam gssd with upcall requests when the kerberos key expired\n  SUNRPC: Reorder the struct rpc_task fields\n  SUNRPC: Remove the \u0027tk_magic\u0027 debugging field\n  SUNRPC: Move the task-\u003etk_bytes_sent and tk_rtt to struct rpc_rqst\n  NFS: Don\u0027t call iput() in nfs_access_cache_shrinker\n  NFS: Clean up nfs_access_zap_cache()\n  NFS: Don\u0027t run nfs_access_cache_shrinker() when the mask is GFP_NOFS\n  SUNRPC: Ensure rpcauth_prune_expired() respects the nr_to_scan parameter\n  SUNRPC: Ensure memory shrinker doesn\u0027t waste time in rpcauth_prune_expired()\n  SUNRPC: Dont run rpcauth_cache_shrinker() when gfp_mask is GFP_NOFS\n  NFS: Read requests can use GFP_KERNEL.\n  NFS: Clean up nfs_create_request()\n  NFS: Don\u0027t use GFP_KERNEL in rpcsec_gss downcalls\n  NFSv4: Don\u0027t use GFP_KERNEL allocations in state recovery\n  SUNRPC: Fix xs_setup_bc_tcp()\n  SUNRPC: Replace jiffies-based metrics with ktime-based metrics\n  ktime: introduce ktime_to_ms()\n  SUNRPC: RPC metrics and RTT estimator should use same RTT value\n  NFS: Calldata for nfs4_renew_done()\n  NFS: Squelch compiler warning in nfs_add_server_stats()\n  ...\n"
    },
    {
      "commit": "98c89cdd3a292af3451e47a2a33132f5183861b0",
      "tree": "cfad77bcfd2d04fb0b9326a859803a1ab90b0757",
      "parents": [
        "164d44fd92e79d5bce54d0d62df9f856f7b23925",
        "99df95a22f7cfcf85405d4edc07c2d953542f0dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:23:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:23:28 2010 -0700"
      },
      "message": "Merge branch \u0027bkl/procfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027bkl/procfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  sunrpc: Include missing smp_lock.h\n  procfs: Kill the bkl in ioctl\n  procfs: Push down the bkl from ioctl\n  procfs: Use generic_file_llseek in /proc/vmcore\n  procfs: Use generic_file_llseek in /proc/kmsg\n  procfs: Use generic_file_llseek in /proc/kcore\n  procfs: Kill BKL in llseek on proc base\n"
    },
    {
      "commit": "2ec8c6bb5d8f3a62a79f463525054bae1e3d4487",
      "tree": "fa7f8400ac685fb52e96f64997c7c682fc2aa021",
      "parents": [
        "7b39f90fabcf9e2af0cd79d0a60440d821e22b56",
        "537b60d17894b7c19a6060feae40299d7109d6e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 18 23:01:55 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 18 23:01:55 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tinclude/linux/mod_devicetable.h\n\tscripts/mod/file2alias.c\n"
    },
    {
      "commit": "e4e83ea47babd9d4bf95a13aed87f8ef51e46472",
      "tree": "3949e01791c172f21f0d408d3352a857fcda9258",
      "parents": [
        "47cee541a46a73b20dc279bf4c4690f776f6c81b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 16:21:39 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 18 19:03:50 2010 -0400"
      },
      "message": "Revert \"nfsd4: distinguish expired from stale stateids\"\n\nThis reverts commit 78155ed75f470710f2aecb3e75e3d97107ba8374.\n\nWe\u0027re depending here on the boot time that we use to generate the\nstateid being monotonic, but get_seconds() is not necessarily.\n\nWe still depend at least on boot_time being different every time, but\nthat is a safer bet.\n\nWe have a few reports of errors that might be explained by this problem,\nthough we haven\u0027t been able to confirm any of them.\n\nBut the minor gain of distinguishing expired from stale errors seems not\nworth the risk.\n\nConflicts:\n\n\tfs/nfsd/nfs4state.c\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "47cee541a46a73b20dc279bf4c4690f776f6c81b",
      "tree": "d54461a8fd6a4c70d5b092334ccf38359bcd4994",
      "parents": [
        "b7299f44394336f51b526247a870d47d28f4f97c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon May 17 20:00:37 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 18 12:05:20 2010 -0400"
      },
      "message": "nfsd: safer initialization order in find_file()\n\nThe alloc_init_file() first adds a file to the hash and then\ninitializes its fi_inode, fi_id and fi_had_conflict.\n\nThe uninitialized fi_inode could thus be erroneously checked by\nthe find_file(), so move the hash insertion lower.\n\nThe client_mutex should prevent this race in practice; however, we\neventually hope to make less use of the client_mutex, so the ordering\nhere is an accident waiting to happen.\n\nI didn\u0027t find whether the same can be true for two other fields,\nbut the common sense tells me it\u0027s better to initialize an object\nbefore putting it into a global hash table :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7299f44394336f51b526247a870d47d28f4f97c",
      "tree": "bb8e365349e9e048f0f927843acca26ddd6a8e2b",
      "parents": [
        "15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 14 17:57:35 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 18 11:51:38 2010 -0400"
      },
      "message": "nfs4: minor callback code simplification, comment\n\nNote the position in the version array doesn\u0027t have to match the actual\nrpc version number--to me it seems clearer to maintain the distinction.\n\nAlso document choice of rpc callback version number, as discussed in\ne.g. http://www.ietf.org/mail-archive/web/nfsv4/current/msg07985.html\nand followups.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
      "tree": "506aa0b4bdbf90f61e7e9261c7db90aa1452dcce",
      "parents": [
        "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
        "9c6f7e43b4e02c161b53e97ba913855246876c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)\n  stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()\n  sched, wait: Use wrapper functions\n  sched: Remove a stale comment\n  ondemand: Make the iowait-is-busy time a sysfs tunable\n  ondemand: Solve a big performance issue by counting IOWAIT time as busy\n  sched: Intoduce get_cpu_iowait_time_us()\n  sched: Eliminate the ts-\u003eidle_lastupdate field\n  sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n  sched: Update the idle statistics in get_cpu_idle_time_us()\n  sched: Introduce a function to update the idle statistics\n  sched: Add a comment to get_cpu_idle_time_us()\n  cpu_stop: add dummy implementation for UP\n  sched: Remove rq argument to the tracepoints\n  rcu: need barrier() in UP synchronize_sched_expedited()\n  sched: correctly place paranioa memory barriers in synchronize_sched_expedited()\n  sched: kill paranoia check in synchronize_sched_expedited()\n  sched: replace migration_thread with cpu_stop\n  stop_machine: reimplement using cpu_stop\n  cpu_stop: implement stop_cpu[s]()\n  sched: Fix select_idle_sibling() logic in select_task_rq_fair()\n  ...\n"
    },
    {
      "commit": "fd25a1f556760dbd6e29dec66c70223a8912cdb2",
      "tree": "73ff80b35cb90949612ccc4f548fc6dcdae0897c",
      "parents": [
        "ba2e1c5f25a99dec3873745031ad23ce3fd79bff",
        "4065c802da7484fa36f8cdf10f18d087233ecb88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 07:18:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 07:18:38 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (23 commits)\n  cifs: fix noserverino handling when unix extensions are enabled\n  cifs: don\u0027t update uniqueid in cifs_fattr_to_inode\n  cifs: always revalidate hardlinked inodes when using noserverino\n  [CIFS] drop quota operation stubs\n  cifs: propagate cifs_new_fileinfo() error back to the caller\n  cifs: add comments explaining cifs_new_fileinfo behavior\n  cifs: remove unused parameter from cifs_posix_open_inode_helper()\n  [CIFS] Remove unused cifs_oplock_cachep\n  cifs: have decode_negTokenInit set flags in server struct\n  cifs: break negotiate protocol calls out of cifs_setup_session\n  cifs: eliminate \"first_time\" parm to CIFS_SessSetup\n  [CIFS] Fix lease break for writes\n  cifs: save the dialect chosen by server\n  cifs: change \u0026\u0026 to ||\n  cifs: rename \"extended_security\" to \"global_secflags\"\n  cifs: move tcon find/create into separate function\n  cifs: move SMB session creation code into separate function\n  cifs: track local_nls in volume info\n  [CIFS] Allow null nd (as nfs server uses) on create\n  [CIFS] Fix losing locks during fork()\n  ...\n"
    },
    {
      "commit": "539c99fd7fc28f8db257c713c10fb4aceadf8887",
      "tree": "e603e48ac816cde56e4872e0f7bcdfe7bd33f3b3",
      "parents": [
        "ba2e1c5f25a99dec3873745031ad23ce3fd79bff",
        "4d09ec0f705cf88a12add029c058b53f288cfaa2"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue May 18 08:57:00 2010 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue May 18 08:57:00 2010 +1000"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "4065c802da7484fa36f8cdf10f18d087233ecb88",
      "tree": "a81d1dae07945ce0e6afb22e87c65fe9a0d44be1",
      "parents": [
        "84f30c66c3689745abbd3b9ce39816caeb9bec3b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon May 17 07:18:58 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 17 20:59:21 2010 +0000"
      },
      "message": "cifs: fix noserverino handling when unix extensions are enabled\n\nThe uniqueid field sent by the server when unix extensions are enabled\nis currently used sometimes when it shouldn\u0027t be. The readdir codepath\nis correct, but most others are not. Fix it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "84f30c66c3689745abbd3b9ce39816caeb9bec3b",
      "tree": "16b40caa4f940d7fe3f723b34f296873aced6db4",
      "parents": [
        "db19272edc93661835bf6ec9736cfd0754aa3c62"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon May 17 07:18:57 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 17 20:57:27 2010 +0000"
      },
      "message": "cifs: don\u0027t update uniqueid in cifs_fattr_to_inode\n\nWe use this value to find an inode within the hash bucket, so we can\u0027t\nchange this without re-hashing the inode. For now, treat this value\nas immutable.\n\nEventually, we should probably use an inode number change on a path\nbased operation to indicate that the lookup cache is invalid, but that\u0027s\na bit more code to deal with.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "db19272edc93661835bf6ec9736cfd0754aa3c62",
      "tree": "5de9dccbf2a234db5c5ba3e7c49d3ccf4af50536",
      "parents": [
        "ade275c4b6db98ae7b197cc7c6bdd73567a975c2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon May 17 14:51:49 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 17 20:55:58 2010 +0000"
      },
      "message": "cifs: always revalidate hardlinked inodes when using noserverino\n\nThe old cifs_revalidate logic always revalidated hardlinked inodes.\nThis hack allowed CIFS to pass some connectathon tests when server inode\nnumbers aren\u0027t used (basic test7, in particular).\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7d32c0aca4fbd0319c860d12af5fae3e88c760e6",
      "tree": "3df9712c128a98916601a98510e5160dac809264",
      "parents": [
        "3d2c978e0cd8b1157f9eebd13062d61fb7a75ad5",
        "6f485b41875dbf5160c1990322469c1f65f77b28"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 17 13:53:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 17 13:53:35 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  logfs: handle powerfail on NAND flash\n  logfs: handle errors from get_mtd_device()\n  logfs: remove unused variable\n  logfs: fix sync\n  logfs: fix compile failure\n  logfs: initialize li-\u003eli_refcount\n  logfs: commit reservations under space pressure\n  logfs: survive logfs_buf_recover read errors\n  logfs: Close i_ino reuse race\n  logfs: fix logfs_seek_hole()\n  logfs: Return -EINVAL if filesystem image doesn\u0027t match\n  LogFS: Fix typo in b6349ac8\n  logfs: testing the wrong variable\n"
    },
    {
      "commit": "c2f980500a81006173daf3048284b28832858616",
      "tree": "db8aa6354bd8393f0e2033ec04c532b72b9b0d37",
      "parents": [
        "d79b6f4de5db0103ceb4734e42ad101d836d61d9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Mar 30 07:32:50 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon May 17 03:06:24 2010 +0200"
      },
      "message": "procfs: Kill the bkl in ioctl\n\nThere are no more users of procfs that implement the ioctl\ncallback. Drop the bkl from this path and warn on any use\nof this callback.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\n"
    },
    {
      "commit": "e0f43752a942b7be1bc06b9fd74e20ae337c1cca",
      "tree": "892d0fbc2ecae39f2e5c4a7b711cbb988c8dc3f1",
      "parents": [
        "28a16c97963d3bc36a2c192859f6d8025ef2967a"
      ],
      "author": {
        "name": "Simon Arlott",
        "email": "simon@fire.lp0.eu",
        "time": "Mon May 10 09:31:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:10:15 2010 -0700"
      },
      "message": "bridge: update sysfs link names if port device names have changed\n\nLinks for each port are created in sysfs using the device\nname, but this could be changed after being added to the\nbridge.\n\nAs well as being unable to remove interfaces after this\noccurs (because userspace tools don\u0027t recognise the new\nname, and the kernel won\u0027t recognise the old name), adding\nanother interface with the old name to the bridge will\ncause an error trying to create the sysfs link.\n\nThis fixes the problem by listening for NETDEV_CHANGENAME\nnotifications and renaming the link.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d12743\n\nSigned-off-by: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18e41da89d55014d25b9a24502ee92b7f50599f9",
      "tree": "5ce8ebd7456f377e4cfbff0ae83e84295617a4a8",
      "parents": [
        "43aa7ac736a4e21aae4882bd8f7c67403aed45b8",
        "5dc6416414fb3ec6e2825fd4d20c8bf1d7fe0395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 12:55:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 12:55:31 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: check for read permission on src file in the clone ioctl\n"
    },
    {
      "commit": "5dc6416414fb3ec6e2825fd4d20c8bf1d7fe0395",
      "tree": "e15101a2d1302ff6f2830f282197b34060ec963c",
      "parents": [
        "9f680ce04ea19dabbbafe01b57b61930a9b70741"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "dan.j.rosenberg@gmail.com",
        "time": "Sat May 15 11:27:37 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 15 12:05:50 2010 -0400"
      },
      "message": "Btrfs: check for read permission on src file in the clone ioctl\n\nThe existing code would have allowed you to clone a file that was\nonly open for writing\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3f8bf8f0fd79410fbcbf9dd9910dbc9d4882c94f",
      "tree": "86792764365ca7b40a21e5eb8fc4f7b355088535",
      "parents": [
        "c28f3f8660697d03afbdb581781b94ff6222a585",
        "684bdc7ff95e0c1d4b0bcf236491840b55a54189"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 09:03:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 15 09:03:15 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  JFS: Free sbi memory in error path\n  fs/sysv: dereferencing ERR_PTR()\n  Fix double-free in logfs\n  Fix the regression created by \"set S_DEAD on unlink()...\" commit\n"
    },
    {
      "commit": "684bdc7ff95e0c1d4b0bcf236491840b55a54189",
      "tree": "10eada69ce686f903fbf01d2e40311371d5b98e5",
      "parents": [
        "404e781249f003a37a140756fc4aeae463dcb217"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Mon Apr 12 16:44:08 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:34 2010 -0400"
      },
      "message": "JFS: Free sbi memory in error path\n\nI spotted the missing kfree() while removing the BKL.\n\n[akpm@linux-foundation.org: avoid multiple returns so it doesn\u0027t happen again]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "404e781249f003a37a140756fc4aeae463dcb217",
      "tree": "5eb0f81657ebecdd747583df54a261a4e305df3f",
      "parents": [
        "265624495f5acf6077f8f8d264f8170573d8d752"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Apr 21 12:30:32 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:33 2010 -0400"
      },
      "message": "fs/sysv: dereferencing ERR_PTR()\n\nI moved the dir_put_page() inside the if condition so we don\u0027t dereference\n\"page\", if it\u0027s an ERR_PTR().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "265624495f5acf6077f8f8d264f8170573d8d752",
      "tree": "76e1b8cce3ac0116ade7df91c0d64471cf7cc03d",
      "parents": [
        "d83c49f3e36cecd2e8823b6c48ffba083b8a5704"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 28 20:57:02 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:33 2010 -0400"
      },
      "message": "Fix double-free in logfs\n\niput() is needed *until* we\u0027d done successful d_alloc_root()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d83c49f3e36cecd2e8823b6c48ffba083b8a5704",
      "tree": "a304de4eb43652d2a9528d4b43f798ab821c8b93",
      "parents": [
        "6a251b0ab67989f468f4cb65179e0cf40cf8c295"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 30 17:17:09 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 15 07:16:33 2010 -0400"
      },
      "message": "Fix the regression created by \"set S_DEAD on unlink()...\" commit\n\n1) i_flags simply doesn\u0027t work for mount/unlink race prevention;\nwe may have many links to file and rm on one of those obviously\nshouldn\u0027t prevent bind on top of another later on.  To fix it\nright way we need to mark _dentry_ as unsuitable for mounting\nupon; new flag (DCACHE_CANT_MOUNT) is protected by d_flags and\ni_mutex on the inode in question.  Set it (with dont_mount(dentry))\nin unlink/rmdir/etc., check (with cant_mount(dentry)) in places\nin namespace.c that used to check for S_DEAD.  Setting S_DEAD\nis still needed in places where we used to set it (for directories\ngetting killed), since we rely on it for readdir/rmdir race\nprevention.\n\n2) rename()/mount() protection has another bogosity - we unhash\nthe target before we\u0027d checked that it\u0027s not a mountpoint.  Fixed.\n\n3) ancient bogosity in pivot_root() - we locked i_mutex on the\nright directory, but checked S_DEAD on the different (and wrong)\none.  Noticed and fixed.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2",
      "tree": "7553c06ca7ba059d30289bb8f2e09753671220de",
      "parents": [
        "4dc6ec00f6347b72312fa41dfc587d5302b05544"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri May 14 15:33:36 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 14 18:46:14 2010 -0400"
      },
      "message": "NFSD: don\u0027t report compiled-out versions as present\n\nThe /proc/fs/nfsd/versions file calls nfsd_vers() to check whether\nthe particular nfsd version is present/available. The problem is\nthat once I turn off e.g. NFSD-V4 this call returns -1 which is\ntrue from the callers POV which is wrong.\n\nThe proposal is to report false in that case.\n\nThe bug has existed since 6658d3a7bbfd1768 \"[PATCH] knfsd: remove\nnfsd_versbits as intermediate storage for desired versions\".\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: stable@kernel.org\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9c7e7e23371e629dbb3b341610a418cdf1c19d91",
      "tree": "c211183b99860d232500bf99d12775e47c4f0f9c",
      "parents": [
        "1a81bb8a1fa62ccb9b2411ac10ce702ca4ed302a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:06 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:36 2010 -0400"
      },
      "message": "NFS: Don\u0027t call iput() in nfs_access_cache_shrinker\n\niput() can potentially attempt to allocate memory, so we should avoid\ncalling it in a memory shrinker. Instead, rely on the fact that iput() will\ncall nfs_access_zap_cache().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1a81bb8a1fa62ccb9b2411ac10ce702ca4ed302a",
      "tree": "7a4d29a36c2646b8cdd67d50f3b7778636e1dfbe",
      "parents": [
        "61d5eb2985b3b1d69fd53d7dc9789037c27f8d91"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:06 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:35 2010 -0400"
      },
      "message": "NFS: Clean up nfs_access_zap_cache()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "61d5eb2985b3b1d69fd53d7dc9789037c27f8d91",
      "tree": "6e73d0e7adcda510ec47d0cd50c57d4461e7fbdf",
      "parents": [
        "20673406534176ead9b984a84b662928110f77b1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:06 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:35 2010 -0400"
      },
      "message": "NFS: Don\u0027t run nfs_access_cache_shrinker() when the mask is GFP_NOFS\n\nBoth iput() and put_rpccred() might allocate memory under certain\ncircumstances, so make sure that we don\u0027t recurse and deadlock...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "93870d76fee22e887aa6e7e1fc904dbeca976928",
      "tree": "4548fe7633326a9a4e39986ea94b11a36c47f831",
      "parents": [
        "18eb884282bbaf99700ba5b60ded782807d52408"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:03 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:34 2010 -0400"
      },
      "message": "NFS: Read requests can use GFP_KERNEL.\n\nThere is no danger of deadlock should the allocation trigger page\nwriteback.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18eb884282bbaf99700ba5b60ded782807d52408",
      "tree": "acdea072568b715ca56873df774e1402a882a890",
      "parents": [
        "1f4c86c0be9064ab4eebd9e67c84606c1cfeec4b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:02 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:34 2010 -0400"
      },
      "message": "NFS: Clean up nfs_create_request()\n\nThere is no point in looping if we\u0027re out of memory.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8535b2be5181fc3019e4150567ef53210fe3b04f",
      "tree": "ba366f5304f12876f1e45d3c2b423d12f9ec0c90",
      "parents": [
        "712a4338669d7d57f952244abb608e6ac07e39da"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:01 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:33 2010 -0400"
      },
      "message": "NFSv4: Don\u0027t use GFP_KERNEL allocations in state recovery\n\nWe do not want to have the state recovery thread kick off and wait for a\nmemory reclaim, since that may deadlock when the writebacks end up\nwaiting for the state recovery thread to complete.\n\nThe safe thing is therefore to use GFP_NOFS in all open, close,\ndelegation return, lock, etc. operations that may be called by the\nstate recovery thread.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9bc4e3ca46e4eb9cb434de4175c6041d00bbdca3",
      "tree": "a1677884fe5779008243a083f7a8455f43990c0a",
      "parents": [
        "dfe52c0419b8324bacd69bd28aae77e2d6ee0379"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:17 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:32 2010 -0400"
      },
      "message": "NFS: Calldata for nfs4_renew_done()\n\nI\u0027m about to change task-\u003etk_start from a jiffies value to a ktime_t\nvalue in order to make RPC RTT reporting more precise.\n\nRecently (commit dc96aef9) nfs4_renew_done() started to reference\ntask-\u003etk_start so that a jiffies value no longer had to be passed\nfrom nfs4_proc_async_renew().  This allowed the calldata to point to\nan nfs_client instead.\n\nChanging task-\u003etk_start to a ktime_t value makes it effectively\nuseless for renew timestamps, so we need to restore the pre-dc96aef9\nlogic that provided a jiffies \"start\" timestamp to nfs4_renew_done().\n\nBoth an nfs_client pointer and a timestamp need to be passed to\nnfs4_renew_done(), so create a new nfs_renewdata structure that\ncontains both, resembling what is already done for delegreturn,\nlock, and unlock.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dfe52c0419b8324bacd69bd28aae77e2d6ee0379",
      "tree": "f9e099617bd44fd7f63d56bbc86adf30d422158b",
      "parents": [
        "a6d5ff64bae02438d914f088672cab1916153954"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:31 2010 -0400"
      },
      "message": "NFS: Squelch compiler warning in nfs_add_server_stats()\n\nClean up:\n\nfs/nfs/iostat.h: In function ‘nfs_add_server_stats’:\nfs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions\nfs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions\nfs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions\nfs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions\n\nCommit fce22848 replaced the open-coded per-cpu logic in several\nfunctions in fs/nfs/iostat.h with a single invocation of\nthis_cpu_ptr().  This macro assumes its second argument is signed,\nnot unsigned.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a6d5ff64bae02438d914f088672cab1916153954",
      "tree": "67bccbe16525ac357a99f6e5f696c5ec4cee1d88",
      "parents": [
        "0f15c53d5b1829c10dd901f37b8263aa25ecf864"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:33:58 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:31 2010 -0400"
      },
      "message": "NFS: Clean up fscache_uniq mount option\n\nClean up: fscache_uniq takes a string, so it should be included\nwith the other string mount option definitions, by convention.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0f15c53d5b1829c10dd901f37b8263aa25ecf864",
      "tree": "63c9b3f8505b97f7397bccf134d0c8655b33d71e",
      "parents": [
        "9605a069f83d999e60cd57dc8010708fe08291c0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:33:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:31 2010 -0400"
      },
      "message": "NFS: Squelch compiler warning\n\nSeen with -Wextra:\n\n/home/cel/linux/fs/nfs/fscache.c: In function ‘__nfs_readpages_from_fscache’:\n/home/cel/linux/fs/nfs/fscache.c:479: warning: comparison between signed and unsigned integer expressions\n\nThe comparison implicitly converts \"int\" to \"unsigned\", making it\nsafe.  But there\u0027s no need for the implicit type conversions here, and\nthe dfprintk() already uses a \"%u\" formatter for \"npages.\"  Better to\nreduce confusion.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bb8b27e504c0f0463535fea31b42bcaa393c3fb0",
      "tree": "fbf18d599a4a1bb5b509632ad9c906db288faeb3",
      "parents": [
        "d7cf8dd01289b3c64057e38d34c2857f6633d52c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:43:06 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:30 2010 -0400"
      },
      "message": "NFSv4: Clean up the NFSv4 setclientid operation\n\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d7cf8dd01289b3c64057e38d34c2857f6633d52c",
      "tree": "600143a42314da064fc0b8dec236c85f2f45d16b",
      "parents": [
        "a8ce4a8f37fef0a09a1e920c2e09f67a80426c7e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:42:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:30 2010 -0400"
      },
      "message": "NFSv4: Allow attribute caching with \u0027noac\u0027 mounts if client holds a delegation\n\nIf the server has given us a delegation on a file, we _know_ that we can\ncache the attribute information even when the user has specified \u0027noac\u0027.\n\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fd86dfd2637db1aef9ebf96ba41aeedb87521e78",
      "tree": "d2a5447410d6c738db7c0be05b465d591bef8fbd",
      "parents": [
        "1b4c6065b903390067c1b49bd616db5994c0d51c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 19 19:26:23 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:29 2010 -0400"
      },
      "message": "NFSv4: Fix up the documentation for nfs_do_refmount\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1b4c6065b903390067c1b49bd616db5994c0d51c",
      "tree": "23c6526bbabab6599de6db589898e8b574481831",
      "parents": [
        "b157b06ca24514ef4b766cabb8e852c950040923"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 19 19:14:28 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:28 2010 -0400"
      },
      "message": "NFS: Replace nfsroot on-stack filehandle\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b157b06ca24514ef4b766cabb8e852c950040923",
      "tree": "646478c1a0481ed5ee20ead8313f36a5368bf4d8",
      "parents": [
        "ce587e07ba2e25b5c9d286849885b82676661f3e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 19 19:05:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:28 2010 -0400"
      },
      "message": "NFS: Cleanup file handle allocations in fs/nfs/super.c\n\nUse the new helper functions instead of open coding.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ce587e07ba2e25b5c9d286849885b82676661f3e",
      "tree": "5bb91822d82fa9a26f7846edcc48bf01fad4411f",
      "parents": [
        "6e94d62993cb79397856f3330577917ca79cffa2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:52 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:28 2010 -0400"
      },
      "message": "NFS: Prevent the mount code from looping forever on broken exports\n\nKeep a global count of how many referrals that the current task has\ntraversed on a path lookup. Return ELOOP if the count exceeds\nMAX_NESTED_LINKS.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6e94d62993cb79397856f3330577917ca79cffa2",
      "tree": "cfcc0698490f9973173fcb247f6ef5c10b5d432f",
      "parents": [
        "ca7e9a0df263493bbdf76f47fd9e9ac48ad6f331"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:52 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:28 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs3_proc_getacl() and nfs3_proc_setacl()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ca7e9a0df263493bbdf76f47fd9e9ac48ad6f331",
      "tree": "2bf783ccad3d6169219cac5b6751f51b31fab7ff",
      "parents": [
        "987f8dfc9862f2c7b59594089793dedeebf0cf5e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:52 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:27 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs_statfs()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "987f8dfc9862f2c7b59594089793dedeebf0cf5e",
      "tree": "2aa0d3687898edcf26b81770e356a90a3358f9df",
      "parents": [
        "0ab64e0e147e45c07e33d344401cf898a6c181c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:52 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:27 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs_setattr()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0ab64e0e147e45c07e33d344401cf898a6c181c0",
      "tree": "452c7df444c680ebd5721d14e94fbc8782c6de7e",
      "parents": [
        "23a306120fcb2879ed2b814716c1cb2a8eb74f72"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:51 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:27 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs4_proc_create()\n\nMove the O_EXCL open handling into _nfs4_do_open() where it belongs. Doing\nso also allows us to reuse the struct fattr from the opendata.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23a306120fcb2879ed2b814716c1cb2a8eb74f72",
      "tree": "d2c8dfc11351be67956a095f82ee97417177f7d2",
      "parents": [
        "eb872f0c8e5c9801da05d5c2a6e402af8e27160e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:51 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:27 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_proc_symlink()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eb872f0c8e5c9801da05d5c2a6e402af8e27160e",
      "tree": "b9fb68d0ff9eb920471be0e292766532f250a247",
      "parents": [
        "39967ddf19ff98b6e0d7b43fe60bcbf2c254c478"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:51 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:26 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_proc_create\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "39967ddf19ff98b6e0d7b43fe60bcbf2c254c478",
      "tree": "6667b24c063da2422680a3d4a7b8670e9ef116d6",
      "parents": [
        "d346890bea062d697e24fb4e34591428021ad011"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:26 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_rmdir\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d346890bea062d697e24fb4e34591428021ad011",
      "tree": "9d644b18500a146c51c6e0d2f68bdb636f67fa11",
      "parents": [
        "3b14d6542d7efbec614277d1cd7d6f5b5a2be9ca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:26 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs_proc_remove()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b14d6542d7efbec614277d1cd7d6f5b5a2be9ca",
      "tree": "9813c08c5e85a4f435997125a9ec9fc6eef9d68f",
      "parents": [
        "136f2627c932da5835e67e464e191d8c43c3f3fd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:25 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs3_proc_readlink()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "136f2627c932da5835e67e464e191d8c43c3f3fd",
      "tree": "5f6aff24fe7163a260c553f3d4899c4ef51abbf7",
      "parents": [
        "aa49b4cf7dbf45438563f0ff6a2d23a68b70a7b9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:25 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_link()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "aa49b4cf7dbf45438563f0ff6a2d23a68b70a7b9",
      "tree": "39304ffe1812f5407dc20bc77c6dccfa2d060912",
      "parents": [
        "011fff7239eb90e33e7bebba48bf596fced06eb9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:25 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs_readdir()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "011fff7239eb90e33e7bebba48bf596fced06eb9",
      "tree": "9bee14976f711a6445d766ab51651244767c6181",
      "parents": [
        "a3cba2aad9c0a63279716d377efbf37c176ed400"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:25 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs3_proc_rename() and nfs4_proc_rename()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a3cba2aad9c0a63279716d377efbf37c176ed400",
      "tree": "fdd2291d67c611947bb93022ff8e2d17a093f4ae",
      "parents": [
        "c407d41a1612aa487f5a9cb5338ed7dc60fe1da2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:24 2010 -0400"
      },
      "message": "NFS: Reduce stack footprint of nfs_revalidate_inode()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c407d41a1612aa487f5a9cb5338ed7dc60fe1da2",
      "tree": "c5ad78292ca176a223bf9ea71703a5a372118f8c",
      "parents": [
        "4f727296d2428b60138793a0a1207a4085eacf99"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:24 2010 -0400"
      },
      "message": "NFSv4: Reduce stack footprint of nfs4_proc_access() and nfs3_proc_access()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4f727296d2428b60138793a0a1207a4085eacf99",
      "tree": "52c69d21dd90164fed413925ed194866d7a11136",
      "parents": [
        "8bac9db9cf85f2518cb523bb1d69c481975c1f9a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:23 2010 -0400"
      },
      "message": "NFSv4: Reduce the stack footprint of nfs4_remote_referral_get_sb\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8bac9db9cf85f2518cb523bb1d69c481975c1f9a",
      "tree": "30c3d3cd02d34386e28f07b0fb3d172e1088cc47",
      "parents": [
        "04ffdbe2e69beb0f1745f921871fbe0f97dc4697"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:23 2010 -0400"
      },
      "message": "NFSv4: Reduce stack footprint of nfs4_get_root()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "04ffdbe2e69beb0f1745f921871fbe0f97dc4697",
      "tree": "b977a04f4f9a62bdadfc74e2a8669833d65db714",
      "parents": [
        "e1fb4d05d5a3265f1f6769bee034175f91ecc2dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:23 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_follow_remote_path()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e1fb4d05d5a3265f1f6769bee034175f91ecc2dd",
      "tree": "b5a1d30b2f57e0b9c1d021ed653030fb5c699147",
      "parents": [
        "364d015e5208e4669a4ae9fab2ab104ff26bc159"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:47 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:23 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_lookup\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "364d015e5208e4669a4ae9fab2ab104ff26bc159",
      "tree": "33d949fe10f70dda0d9ab018e6c47595c25b700b",
      "parents": [
        "fbca779a8d240d82ef1439247033fd491f81547c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:22 2010 -0400"
      },
      "message": "NFSv4: Reduce the stack footprint of try_location()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fbca779a8d240d82ef1439247033fd491f81547c",
      "tree": "10e4a7469326c63127f6d5f419dd8048fb743cff",
      "parents": [
        "a4d7f16806e98cee752006d3a8c10067a7c2aa6b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:22 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_create_server\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a4d7f16806e98cee752006d3a8c10067a7c2aa6b",
      "tree": "b7acd9998abaa6f25edc2f40fd5ce0cd996a3934",
      "parents": [
        "815409d22df870ea0b0d86f2a3bf33c35bcef55c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:22 2010 -0400"
      },
      "message": "NFS: Reduce the stack footprint of nfs_follow_mountpoint()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "815409d22df870ea0b0d86f2a3bf33c35bcef55c",
      "tree": "99fa8d5ac56d3f14fa1313739d3f9b65176f4e8f",
      "parents": [
        "2d36bfde8565b315e624302d12da5a7c9d195522"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:21 2010 -0400"
      },
      "message": "NFSv4: Eliminate nfs4_path_walk()\n\nAll we really want is the ability to retrieve the root file handle. We no\nlonger need the ability to walk down the path, since that is now done in\nnfs_follow_remote_path().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2d36bfde8565b315e624302d12da5a7c9d195522",
      "tree": "5760ff58853027df0343c6bab0530025cd7a6fa1",
      "parents": [
        "fc54a0c65fc8cae6b0355512f0b619c1515e7d7f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:22:45 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:21 2010 -0400"
      },
      "message": "NFS: Add helper functions for allocating filehandles and fattr structs\n\nNFS Filehandles and struct fattr are really too large to be allocated on\nthe stack. This patch adds in a couple of helper functions to allocate them\ndynamically instead.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4fc4c3ce0dc1096cbd0daa3fe8f6905cbec2b87e",
      "tree": "40a48fe2eabbab01133047ee5055ab8f853deac4",
      "parents": [
        "97b2073ff04814a7f2fef5fe0e82bb008cad7d8e",
        "b3b38d842fa367d862b83e7670af4e0fd6a80fc0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:49:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 11:49:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: don\u0027t leak user struct on inotify release\n  inotify: race use after free/double free in inotify inode marks\n  inotify: clean up the inotify_add_watch out path\n  Inotify: undefined reference to `anon_inode_getfd\u0027\n\nManual merge to remove duplicate \"select ANON_INODES\" from Kconfig file\n"
    },
    {
      "commit": "b3b38d842fa367d862b83e7670af4e0fd6a80fc0",
      "tree": "db803231178ae41f21240017a3119dea3a4d3589",
      "parents": [
        "e08733446e72b983fed850fc5d8bd21b386feb29"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 12 15:34:07 2010 -0700"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:53:36 2010 -0400"
      },
      "message": "inotify: don\u0027t leak user struct on inotify release\n\ninotify_new_group() receives a get_uid-ed user_struct and saves the\nreference on group-\u003einotify_data.user.  The problem is that free_uid() is\nnever called on it.\n\nIssue seem to be introduced by 63c882a0 (inotify: reimplement inotify\nusing fsnotify) after 2.6.30.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nEric Paris \u003ceparis@parisplace.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e08733446e72b983fed850fc5d8bd21b386feb29",
      "tree": "6b169001ff9faa82577341fbfa4cbcd9ccf00663",
      "parents": [
        "3dbc6fb6a3c8a7dc164ae330ab024a3fe65ae53e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue May 11 17:17:40 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:52:57 2010 -0400"
      },
      "message": "inotify: race use after free/double free in inotify inode marks\n\nThere is a race in the inotify add/rm watch code.  A task can find and\nremove a mark which doesn\u0027t have all of it\u0027s references.  This can\nresult in a use after free/double free situation.\n\nTask A\t\t\t\t\tTask B\n------------\t\t\t\t-----------\ninotify_new_watch()\n allocate a mark (refcnt \u003d\u003d 1)\n add it to the idr\n\t\t\t\t\tinotify_rm_watch()\n\t\t\t\t\t inotify_remove_from_idr()\n\t\t\t\t\t  fsnotify_put_mark()\n\t\t\t\t\t      refcnt hits 0, free\n take reference because we are on idr\n [at this point it is a use after free]\n [time goes on]\n refcnt may hit 0 again, double free\n\nThe fix is to take the reference BEFORE the object can be found in the\nidr.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "3dbc6fb6a3c8a7dc164ae330ab024a3fe65ae53e",
      "tree": "b04e140c78e644b18f7aa6ce31d59245dc39f0c0",
      "parents": [
        "e7b702b1a8f2a6961367da903217e669be0f099f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue May 11 17:16:23 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 14 11:51:07 2010 -0400"
      },
      "message": "inotify: clean up the inotify_add_watch out path\n\ninotify_add_watch explictly frees the unused inode mark, but it can just\nuse the generic code.  Just do that.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "baa456331738b4e76a92318b62b354377a30ad80",
      "tree": "75c828a7c8a9f1b5f7f41b2e53271eafb7e561ef",
      "parents": [
        "aa3e5572c538d753dce11bf93532a75f95d22b40",
        "4462dc02842698f173f518c1f5ce79c0fb89395a"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 13 22:19:32 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 13 22:19:32 2010 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tfs/cifs/inode.c\n"
    },
    {
      "commit": "4462dc02842698f173f518c1f5ce79c0fb89395a",
      "tree": "efef7ddcacfd5e119f2ff98e7eb970862d392b6d",
      "parents": [
        "002baeecf53677d2034113e34197ec221f42e037",
        "3d69438031b00c601c991ab447cafb7d5c3c59a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 10:36:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 10:36:16 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: guard against hardlinking directories\n"
    },
    {
      "commit": "4dc6ec00f6347b72312fa41dfc587d5302b05544",
      "tree": "fbb00e0c8341561f155a6dcd6fc5f83282c638b0",
      "parents": [
        "ab707e156593ff7fffd615757332dbff6616836a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 19 15:11:28 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 12:03:11 2010 -0400"
      },
      "message": "nfsd4: implement reclaim_complete\n\nThis is a mandatory operation.  Also, here (not in open) is where we\nshould be committing the reboot recovery information.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ab707e156593ff7fffd615757332dbff6616836a",
      "tree": "a9d1c7d851ca178e616f05aab30377ab778762b4",
      "parents": [
        "d76829889ac4250a18cfcc1a606bb256bb9c570c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:14:06 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:59:11 2010 -0400"
      },
      "message": "nfsd4: nfsd4_destroy_session must set callback client under the state lock\n\nnfsd4_set_callback_client must be called under the state lock to atomically\nset or unset the callback client and shutting down the previous one.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d76829889ac4250a18cfcc1a606bb256bb9c570c",
      "tree": "27a675ed794809b4aa2430aa3a03e4ffb0f11816",
      "parents": [
        "07cd4909a6c0c275ef42fd27748226975919e336"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:54 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:58:54 2010 -0400"
      },
      "message": "nfsd4: keep a reference count on client while in use\n\nGet a refcount on the client on SEQUENCE,\nRelease the refcount and renew the client when all respective compounds completed.\nDo not expire the client by the laundromat while in use.\nIf the client was expired via another path, free it when the compounds\ncomplete and the refcount reaches 0.\n\nNote that unhash_client_locked must call list_del_init on cl_lru as\nit may be called twice for the same client (once from nfs4_laundromat\nand then from expire_client)\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "07cd4909a6c0c275ef42fd27748226975919e336",
      "tree": "90ffb93321817320cdf3cf8dbd643272b5752f7a",
      "parents": [
        "46583e2597af649f134462d2f2c1be5e6689198d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:41 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:47:22 2010 -0400"
      },
      "message": "nfsd4: mark_client_expired\n\nMark the client as expired under the client_lock so it won\u0027t be renewed\nwhen an nfsv4.1 session is done, after it was explicitly expired\nduring processing of the compound.\n\nDo not renew a client mark as expired (in particular, it is not\non the lru list anymore)\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46583e2597af649f134462d2f2c1be5e6689198d",
      "tree": "4d760a1f60db3f057f8f3ea1549a8422c9eff031",
      "parents": [
        "84d38ac9abf0a5bc0044c9363acaad55a9a4be0d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:29 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:47:03 2010 -0400"
      },
      "message": "nfsd4: introduce nfs4_client.cl_refcount\n\nCurrently just initialize the cl_refcount to 1\nand decrement in expire_client(), conditionally freeing the\nclient when the refcount reaches 0.\n\nTo be used later by nfsv4.1 compounds to keep the client from\ntiming out while in use.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "002baeecf53677d2034113e34197ec221f42e037",
      "tree": "081c54c4a9a266a894a00165e97dabfb212a2470",
      "parents": [
        "fc8e38f142dd59f81306ff6a81c1351e9eb0e014"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 13 12:52:57 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 13 08:46:04 2010 -0700"
      },
      "message": "vfs: Fix O_NOFOLLOW behavior for paths with trailing slashes\n\nAccording to specification\n\n\tmkdir d; ln -s d a; open(\"a/\", O_NOFOLLOW | O_RDONLY)\n\nshould return success but currently it returns ELOOP.  This is a\nregression caused by path lookup cleanup patch series.\n\nFix the code to ignore O_NOFOLLOW in case the provided path has trailing\nslashes.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-by: Marius Tolzmann \u003ctolzmann@molgen.mpg.de\u003e\nAcked-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdf5f61ed1d64d50eb9cf10071ab40836f5f9f91",
      "tree": "d67166525b89055b44ecf52cd9ae395a676877f5",
      "parents": [
        "769d9968e42c995eaaf61ac5583d998f32e0769a",
        "e84346b726ea90a8ed470bc81c4136a7b8710ea5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:47:29 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: preserve seq # on requeued messages after transient transport errors\n  ceph: fix cap removal races\n  ceph: zero unused message header, footer fields\n  ceph: fix locking for waking session requests after reconnect\n  ceph: resubmit requests on pg mapping change (not just primary change)\n  ceph: fix open file counting on snapped inodes when mds returns no caps\n  ceph: unregister osd request on failure\n  ceph: don\u0027t use writeback_control in writepages completion\n  ceph: unregister bdi before kill_anon_super releases device name\n"
    },
    {
      "commit": "7ac512aa8237c43331ffaf77a4fd8b8d684819ba",
      "tree": "0fe199f0364c5b54012691c9e4ff4a11767d1797",
      "parents": [
        "91af70814105f4c05e6e11b51c3269907b71794b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 12 15:34:03 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 12 18:23:58 2010 -0700"
      },
      "message": "CacheFiles: Fix error handling in cachefiles_determine_cache_security()\n\ncachefiles_determine_cache_security() is expected to return with a\nsecurity override in place.  However, if set_create_files_as() fails, we\nfail to do this.  In this case, we should just reinstate the security\noverride that was set by the caller.\n\nFurthermore, if set_create_files_as() fails, we should dispose of the\nnew credentials we were in the process of creating.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7b702b1a8f2a6961367da903217e669be0f099f",
      "tree": "bd2a49f1fec1035256fe90e120fe878fdfa2ac12",
      "parents": [
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Sun Apr 18 21:25:11 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed May 12 11:03:40 2010 -0400"
      },
      "message": "Inotify: undefined reference to `anon_inode_getfd\u0027\n\nFix:\n\nfs/built-in.o: In function `sys_inotify_init1\u0027:\nsummary.c:(.text+0x347a4): undefined reference to `anon_inode_getfd\u0027\n\nfound by kautobuild with arms bcmring_defconfig, which ends up with\nINOTIFY_USER enabled (through the \u0027default y\u0027) but leaves ANON_INODES\nunset.  However, inotify_user.c uses anon_inode_getfd().\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "278554bd6579206921f5d8a523649a7a57f8850d",
      "tree": "4e6c527daf0910e455b3aa72e2c96b0479e430be",
      "parents": [
        "5a147e8bf982f9dd414c1dd751fe02c1942506b2",
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ar9170/usb.c\n\tdrivers/scsi/iscsi_tcp.c\n\tnet/ipv4/ipmr.c\n"
    },
    {
      "commit": "e84346b726ea90a8ed470bc81c4136a7b8710ea5",
      "tree": "99a90ef86d38a51e39ed69af318e6cfe32023879",
      "parents": [
        "f818a73674c5d197f66b636a46d7d578d7258129"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 21:20:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 21:20:38 2010 -0700"
      },
      "message": "ceph: preserve seq # on requeued messages after transient transport errors\n\nIf the tcp connection drops and we reconnect to reestablish a stateful\nsession (with the mds), we need to resend previously sent (and possibly\nreceived) messages with the _same_ seq # so that they can be dropped on\nthe other end if needed.  Only assign a new seq once after the message is\nqueued.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f818a73674c5d197f66b636a46d7d578d7258129",
      "tree": "90c485b5ca0a211b84ad8feddfce4f301de3d5c9",
      "parents": [
        "45c6ceb547ad2d98215351974a4686bf8cb13e14"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 20:56:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 20:56:31 2010 -0700"
      },
      "message": "ceph: fix cap removal races\n\nThe iterate_session_caps helper traverses the session caps list and tries\nto grab an inode reference.  However, the __ceph_remove_cap was clearing\nthe inode backpointer _before_ removing itself from the session list,\ncausing a null pointer dereference.\n\nClear cap-\u003eci under protection of s_cap_lock to avoid the race, and to\ntightly couple the list and backpointer state.  Use a local flag to\nindicate whether we are releasing the cap, as cap-\u003esession may be modified\nby a racing thread in iterate_session_caps.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aa3e5572c538d753dce11bf93532a75f95d22b40",
      "tree": "1cb58aee0cef90363cba1ca1fc3a60d97acaf379",
      "parents": [
        "fdb3603800e7a65bc3cafdfd5a1797d08f09e582"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 12 02:24:12 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 12 02:24:12 2010 +0000"
      },
      "message": "[CIFS] drop quota operation stubs\n\nCIFS has stubs for XFS-style quotas without an actual implementation backing\nthem, hidden behind a config option not visible in Kconfig.  Remove these\nstubs for now as the quota operations will see some major changes and this\ncode simply gets in the way.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "84d38ac9abf0a5bc0044c9363acaad55a9a4be0d",
      "tree": "88d54cef8c221be2384d4dbc3a75555cc436a0a6",
      "parents": [
        "36acb66bda512dd8159c3e1b40358c5219524868"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:16 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:02 2010 -0400"
      },
      "message": "nfsd4: refactor expire_client\n\nSeparate out unhashing of the client and session.\nTo be used later by the laundromat.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "36acb66bda512dd8159c3e1b40358c5219524868",
      "tree": "f65fddbb0ad59a93f762010c85b7b533ede4dff8",
      "parents": [
        "328efbab0f8ae1617448917906a12e5f568553b6"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:04 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:02 2010 -0400"
      },
      "message": "nfsd4: extend the client_lock to cover cl_lru\n\nTo be used later on to hold a reference count on the client while in use by a\nnfsv4.1 compound.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "328efbab0f8ae1617448917906a12e5f568553b6",
      "tree": "1bf619463f9a3e7e5a832860ea50b020938d654e",
      "parents": [
        "be1fdf6c4386f56271d2f690b93ef686b769587c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:12:51 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:01 2010 -0400"
      },
      "message": "nfsd4: use list_move in move_to_confirmed\n\nrather than list_del_init, list_add\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "be1fdf6c4386f56271d2f690b93ef686b769587c",
      "tree": "2c49c5af57912ed20967b6ad35cde915c6b4cc81",
      "parents": [
        "9089f1b4782ff52835059779fd37b7ad765a25c7"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:12:39 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:01 2010 -0400"
      },
      "message": "nfsd4: fold release_session into expire_client\n\nand grab the client lock once for all the client\u0027s sessions.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9089f1b4782ff52835059779fd37b7ad765a25c7",
      "tree": "c65b34d9054a8591f1877713073cac3ca80b431c",
      "parents": [
        "5d4cec2f2fdbb3d830fa014226d0d965df548bad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:12:26 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:01 2010 -0400"
      },
      "message": "nfsd4: rename sessionid_lock to client_lock\n\nIn preparation to share the lock\u0027s scope to both client\nand session hash tables.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "34441427aab4bdb3069a4ffcda69a99357abcb2e",
      "tree": "3beebde910f25b0945e9105017fd743c9e5241a5",
      "parents": [
        "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue May 11 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "revert \"procfs: provide stack information for threads\" and its fixup commits\n\nOriginally, commit d899bf7b (\"procfs: provide stack information for\nthreads\") attempted to introduce a new feature for showing where the\nthreadstack was located and how many pages are being utilized by the\nstack.\n\nCommit c44972f1 (\"procfs: disable per-task stack usage on NOMMU\") was\napplied to fix the NO_MMU case.\n\nCommit 89240ba0 (\"x86, fs: Fix x86 procfs stack information for threads on\n64-bit\") was applied to fix a bug in ia32 executables being loaded.\n\nCommit 9ebd4eba7 (\"procfs: fix /proc/\u003cpid\u003e/stat stack pointer for kernel\nthreads\") was applied to fix a bug which had kernel threads printing a\nuserland stack address.\n\nCommit 1306d603f (\u0027proc: partially revert \"procfs: provide stack\ninformation for threads\"\u0027) was then applied to revert the stack pages\nbeing used to solve a significant performance regression.\n\nThis patch nearly undoes the effect of all these patches.\n\nThe reason for reverting these is it provides an unusable value in\nfield 28.  For x86_64, a fork will result in the task-\u003estack_start\nvalue being updated to the current user top of stack and not the stack\nstart address.  This unpredictability of the stack_start value makes\nit worthless.  That includes the intended use of showing how much stack\nspace a thread has.\n\nOther architectures will get different values.  As an example, ia64\ngets 0.  The do_fork() and copy_process() functions appear to treat the\nstack_start and stack_size parameters as architecture specific.\n\nI only partially reverted c44972f1 (\"procfs: disable per-task stack usage\non NOMMU\") .  If I had completely reverted it, I would have had to change\nmm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is\nconfigured.  Since I could not test the builds without significant effort,\nI decided to not change mm/Makefile.\n\nI only partially reverted 89240ba0 (\"x86, fs: Fix x86 procfs stack\ninformation for threads on 64-bit\") .  I left the KSTK_ESP() change in\nplace as that seemed worthwhile.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45c6ceb547ad2d98215351974a4686bf8cb13e14",
      "tree": "f7d5dc6b7900faebef1a29a5e0af5ac263a64337",
      "parents": [
        "9abf82b8bc93dd904738a71ca69aa5df356d4d24"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 15:01:51 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 15:17:40 2010 -0700"
      },
      "message": "ceph: zero unused message header, footer fields\n\nWe shouldn\u0027t leak any prior memory contents to other parties.  And random\ndata, particularly in the \u0027version\u0027 field, can cause problems down the\nline.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3d69438031b00c601c991ab447cafb7d5c3c59a6",
      "tree": "f40d66a255c4169b43079252a4c96868c097ddab",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue May 11 14:59:55 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 11 20:57:50 2010 +0000"
      },
      "message": "cifs: guard against hardlinking directories\n\nWhen we made serverino the default, we trusted that the field sent by the\nserver in the \"uniqueid\" field was actually unique. It turns out that it\nisn\u0027t reliably so.\n\nSamba, in particular, will just put the st_ino in the uniqueid field when\nunix extensions are enabled. When a share spans multiple filesystems, it\u0027s\nquite possible that there will be collisions. This is a server bug, but\nwhen the inodes in question are a directory (as is often the case) and\nthere is a collision with the root inode of the mount, the result is a\nkernel panic on umount.\n\nFix this by checking explicitly for directory inodes with the same\nuniqueid. If that is the case, then we can assume that using server inode\nnumbers will be a problem and that they should be disabled.\n\nFixes Samba bugzilla 7407\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c61ea31dac0319ec64b33725917bda81fc293a25",
      "tree": "05a4f3011ea8b334795aae606d89bcf27e3e26c5",
      "parents": [
        "7d6fb7bd1919517937ec390f6ca2d7bcf4f89fb6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue May 11 16:51:39 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:07:53 2010 -0700"
      },
      "message": "CacheFiles: Fix occasional EIO on call to vfs_unlink()\n\nFix an occasional EIO returned by a call to vfs_unlink():\n\n\t[ 4868.465413] CacheFiles: I/O Error: Unlink failed\n\t[ 4868.465444] FS-Cache: Cache cachefiles stopped due to I/O error\n\t[ 4947.320011] CacheFiles: File cache on md3 unregistering\n\t[ 4947.320041] FS-Cache: Withdrawing cache \"mycache\"\n\t[ 5127.348683] FS-Cache: Cache \"mycache\" added (type cachefiles)\n\t[ 5127.348716] CacheFiles: File cache on md3 registered\n\t[ 7076.871081] CacheFiles: I/O Error: Unlink failed\n\t[ 7076.871130] FS-Cache: Cache cachefiles stopped due to I/O error\n\t[ 7116.780891] CacheFiles: File cache on md3 unregistering\n\t[ 7116.780937] FS-Cache: Withdrawing cache \"mycache\"\n\t[ 7296.813394] FS-Cache: Cache \"mycache\" added (type cachefiles)\n\t[ 7296.813432] CacheFiles: File cache on md3 registered\n\nWhat happens is this:\n\n (1) A cached NFS file is seen to have become out of date, so NFS retires the\n     object and immediately acquires a new object with the same key.\n\n (2) Retirement of the old object is done asynchronously - so the lookup/create\n     to generate the new object may be done first.\n\n     This can be a problem as the old object and the new object must exist at\n     the same point in the backing filesystem (i.e. they must have the same\n     pathname).\n\n (3) The lookup for the new object sees that a backing file already exists,\n     checks to see whether it is valid and sees that it isn\u0027t.  It then deletes\n     that file and creates a new one on disk.\n\n (4) The retirement phase for the old file is then performed.  It tries to\n     delete the dentry it has, but ext4_unlink() returns -EIO because the inode\n     attached to that dentry no longer matches the inode number associated with\n     the filename in the parent directory.\n\nThe trace below shows this quite well.\n\n\t[md5sum] \u003d\u003d\u003e __fscache_relinquish_cookie(ffff88002d12fb58{NFS.fh,ffff88002ce62100},1)\n\t[md5sum] \u003d\u003d\u003e __fscache_acquire_cookie({NFS.server},{NFS.fh},ffff88002ce62100)\n\nNFS has retired the old cookie and asked for a new one.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_ACTIVE,24})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_DYING]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_INIT,0})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_LOOKING_UP]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_DYING,24})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_RECYCLING]\n\nThe old object (OBJ52) is going through the terminal states to get rid of it,\nwhilst the new object - (OBJ53) - is coming into being.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_LOOKING_UP,0})\n\t[kslowd] \u003d\u003d\u003e cachefiles_walk_to_object({ffff88003029d8b8},OBJ53,@68,)\n\t[kslowd] lookup \u0027@68\u0027\n\t[kslowd] next -\u003e ffff88002ce41bd0 positive\n\t[kslowd] advance\n\t[kslowd] lookup \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] next -\u003e ffff8800369faac8 positive\n\nThe new object has looked up the subdir in which the file would be in (getting\ndentry ffff88002ce41bd0) and then looked up the file itself (getting dentry\nffff8800369faac8).\n\n\t[kslowd] validate \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] \u003d\u003d\u003e cachefiles_bury_object(,\u0027@68\u0027,\u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027)\n\t[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0\n\t[kslowd] unlink stale object\n\t[kslowd] \u003c\u003d\u003d cachefiles_bury_object() \u003d 0\n\nIt then checks the file\u0027s xattrs to see if it\u0027s valid.  NFS says that the\nauxiliary data indicate the file is out of date (obvious to us - that\u0027s why NFS\nditched the old version and got a new one).  CacheFiles then deletes the old\nfile (dentry ffff8800369faac8).\n\n\t[kslowd] redo lookup\n\t[kslowd] lookup \u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027\n\t[kslowd] next -\u003e ffff88002cd94288 negative\n\t[kslowd] create -\u003e ffff88002cd94288{ffff88002cdaf238{ino\u003d148247}}\n\nCacheFiles then redoes the lookup and gets a negative result in a new dentry\n(ffff88002cd94288) which it then creates a file for.\n\n\t[kslowd] \u003d\u003d\u003e cachefiles_mark_object_active(,OBJ53)\n\t[kslowd] \u003c\u003d\u003d cachefiles_mark_object_active() \u003d 0\n\t[kslowd] \u003d\u003d\u003d OBTAINED_OBJECT \u003d\u003d\u003d\n\t[kslowd] \u003c\u003d\u003d cachefiles_walk_to_object() \u003d 0 [148247]\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_AVAILABLE]\n\nThe new object is then marked active and the state machine moves to the\navailable state - at which point NFS can start filling the object.\n\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ52,OBJECT_RECYCLING,20})\n\t[kslowd] \u003d\u003d\u003e fscache_release_object()\n\t[kslowd] \u003d\u003d\u003e cachefiles_drop_object({OBJ52,2})\n\t[kslowd] \u003d\u003d\u003e cachefiles_delete_object(,OBJ52{ffff8800369faac8})\n\nThe old object, meanwhile, goes on with being retired.  If allocation occurs\nfirst, cachefiles_delete_object() has to wait for dir-\u003ed_inode-\u003ei_mutex to\nbecome available before it can continue.\n\n\t[kslowd] \u003d\u003d\u003e cachefiles_bury_object(,\u0027@68\u0027,\u0027Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA\u0027)\n\t[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0\n\t[kslowd] unlink stale object\n\tEXT4-fs warning (device sda6): ext4_unlink: Inode number mismatch in unlink (148247!\u003d148193)\n\tCacheFiles: I/O Error: Unlink failed\n\tFS-Cache: Cache cachefiles stopped due to I/O error\n\nCacheFiles then tries to delete the file for the old object, but the dentry it\nhas (ffff8800369faac8) no longer points to a valid inode for that directory\nentry, and so ext4_unlink() returns -EIO when de-\u003einode does not match i_ino.\n\n\t[kslowd] \u003c\u003d\u003d cachefiles_bury_object() \u003d -5\n\t[kslowd] \u003c\u003d\u003d cachefiles_delete_object() \u003d -5\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_DEAD]\n\t[kslowd] \u003d\u003d\u003e fscache_object_state_machine({OBJ53,OBJECT_AVAILABLE,0})\n\t[kslowd] \u003c\u003d\u003d fscache_object_state_machine() [-\u003eOBJECT_ACTIVE]\n\n(Note that the above trace includes extra information beyond that produced by\nthe upstream code).\n\nThe fix is to note when an object that is being retired has had its object\ndeleted preemptively by a replacement object that is being created, and to\nskip the second removal attempt in such a case.\n\nReported-by: Greg M \u003cgregm@servu.net.au\u003e\nReported-by: Mark Moseley \u003cmoseleymark@gmail.com\u003e\nReported-by: Romain DEGEZ \u003cromain.degez@smartjog.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9abf82b8bc93dd904738a71ca69aa5df356d4d24",
      "tree": "208c5112173832092f93b8d91b8e8ec6f36209aa",
      "parents": [
        "d85b705663905b3dae30007f824355bdcfcf3f00"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 10 21:58:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:57 2010 -0700"
      },
      "message": "ceph: fix locking for waking session requests after reconnect\n\nThe session-\u003es_waiting list is protected by mdsc-\u003emutex, not s_mutex.  This\nwas causing (rare) s_waiting list corruption.\n\nFix errors paths too, while we\u0027re here.  A more thorough cleanup of this\nfunction is coming soon.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d85b705663905b3dae30007f824355bdcfcf3f00",
      "tree": "e47262683ed704786be3f0dae62bc4c57bd50ad7",
      "parents": [
        "04d000eb358919043da538f197d63f2a5924a525"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 10 10:24:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:56 2010 -0700"
      },
      "message": "ceph: resubmit requests on pg mapping change (not just primary change)\n\nOSD requests need to be resubmitted on any pg mapping change, not just when\nthe pg primary changes.  Resending only when the primary changes results in\noccasional \u0027hung\u0027 requests during osd cluster recovery or rebalancing.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "04d000eb358919043da538f197d63f2a5924a525",
      "tree": "725f4031c083323b63664f03b4d0d7ce9c183b21",
      "parents": [
        "0ceed5db321ac0f9782e77dda476ebe28a8e2199"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 07 11:26:34 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:55 2010 -0700"
      },
      "message": "ceph: fix open file counting on snapped inodes when mds returns no caps\n\nIt\u0027s possible the MDS will not issue caps on a snapped inode, in which case\nan open request may not __ceph_get_fmode(), botching the open file\ncounting.  (This is actually a server bug, but the client shouldn\u0027t BUG out\nin this case.)\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ],
  "next": "0ceed5db321ac0f9782e77dda476ebe28a8e2199"
}
