)]}'
{
  "log": [
    {
      "commit": "27a7faa0779dd13729196c1a818c294f44bbd1ee",
      "tree": "30837689bf39eb734a8917f2c912e1b8ac0c28c0",
      "parents": [
        "c077719be8e9e6b55702117513d1b5f41d80404a"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: swap cgroup for remembering usage\n\nFor accounting swap, we need a record per swap entry, at least.\n\nThis patch adds following function.\n  - swap_cgroup_swapon() .... called from swapon\n  - swap_cgroup_swapoff() ... called at the end of swapoff.\n\n  - swap_cgroup_record() .... record information of swap entry.\n  - swap_cgroup_lookup() .... lookup information of swap entry.\n\nThis patch just implements \"how to record information\".  No actual method\nfor limit the usage of swap.  These routine uses flat table to record and\nlookup.  \"wise\" lookup system like radix-tree requires requires memory\nallocation at new records but swap-out is usually called under memory\nshortage (or memcg hits limit.) So, I used static allocation.  (maybe\ndynamic allocation is not very hard but it adds additional memory\nallocation in memory shortage path.)\n\nNote1: In this, we use pointer to record information and this means\n      8bytes per swap entry. I think we can reduce this when we\n      create \"id of cgroup\" in the range of 0-65535 or 0-255.\n\nReported-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReported-by: Hugh Dickins \u003chugh@veritas.com\u003e\nReported-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c077719be8e9e6b55702117513d1b5f41d80404a",
      "tree": "3369f02d87390a40f5867d0482972bac506424a8",
      "parents": [
        "d13d144309d2e5a3e6ad978b16c1d0226ddc9231"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: mem+swap controller Kconfig\n\nConfig and control variable for mem+swap controller.\n\nThis patch adds CONFIG_CGROUP_MEM_RES_CTLR_SWAP\n(memory resource controller swap extension.)\n\nFor accounting swap, it\u0027s obvious that we have to use additional memory to\nremember \"who uses swap\".  This adds more overhead.  So, it\u0027s better to\noffer \"choice\" to users.  This patch adds 2 choices.\n\nThis patch adds 2 parameters to enable swap extension or not.\n  - CONFIG\n  - boot option\n\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d13d144309d2e5a3e6ad978b16c1d0226ddc9231",
      "tree": "37c19902b527823956db969d9428737081b2a94d",
      "parents": [
        "c1e862c1f5ad34771b6d0a528cf681e0dcad7c86"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: handle swap caches\n\nSwapCache support for memory resource controller (memcg)\n\nBefore mem+swap controller, memcg itself should handle SwapCache in proper\nway.  This is cut-out from it.\n\nIn current memcg, SwapCache is just leaked and the user can create tons of\nSwapCache.  This is a leak of account and should be handled.\n\nSwapCache accounting is done as following.\n\n  charge (anon)\n\t- charged when it\u0027s mapped.\n\t  (because of readahead, charge at add_to_swap_cache() is not sane)\n  uncharge (anon)\n\t- uncharged when it\u0027s dropped from swapcache and fully unmapped.\n\t  means it\u0027s not uncharged at unmap.\n\t  Note: delete from swap cache at swap-in is done after rmap information\n\t        is established.\n  charge (shmem)\n\t- charged at swap-in. this prevents charge at add_to_page_cache().\n\n  uncharge (shmem)\n\t- uncharged when it\u0027s dropped from swapcache and not on shmem\u0027s\n\t  radix-tree.\n\n  at migration, check against \u0027old page\u0027 is modified to handle shmem.\n\nComparing to the old version discussed (and caused troubles), we have\nadvantages of\n  - PCG_USED bit.\n  - simple migrating handling.\n\nSo, situation is much easier than several months ago, maybe.\n\n[hugh@veritas.com: memcg: handle swap caches build fix]\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1e862c1f5ad34771b6d0a528cf681e0dcad7c86",
      "tree": "e3ac7ca8cfe5ac02b0df83a4aef5f37e59d7d61f",
      "parents": [
        "c8dad2bb6307f5b00f804a686917105206a4d5c9"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: new force_empty to free pages under group\n\nBy memcg-move-all-accounts-to-parent-at-rmdir.patch, there is no leak of\nmemory usage and force_empty is removed.\n\nThis patch adds \"force_empty\" again, in reasonable manner.\n\nmemory.force_empty file works when\n\n  #echo 0 (or some) \u003e memory.force_empty\n  and have following function.\n\n  1. only works when there are no task in this cgroup.\n  2. free all page under this cgroup as much as possible.\n  3. page which cannot be freed will be moved up to parent.\n  4. Then, memcg will be empty after above echo returns.\n\nThis is much better behavior than old \"force_empty\" which just forget\nall accounts. This patch also check signal_pending() and above \"echo\"\ncan be stopped by \"Ctrl-C\".\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8dad2bb6307f5b00f804a686917105206a4d5c9",
      "tree": "5f1b7dd1fc4ae5789e35e5d0dade0d37be9fe52e",
      "parents": [
        "f817ed48535ac6510ebae7c4116f24a5f9268834"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Jan 07 18:07:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: reduce size of mem_cgroup by using nr_cpu_ids\n\nAs Jan Blunck \u003cjblunck@suse.de\u003e pointed out, allocating per-cpu stat for\nmemcg to the size of NR_CPUS is not good.\n\nThis patch changes mem_cgroup\u0027s cpustat allocation not based on NR_CPUS\nbut based on nr_cpu_ids.\n\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f817ed48535ac6510ebae7c4116f24a5f9268834",
      "tree": "5ce9cc72c1adc0427f7efeefb3bc51b9b392ea09",
      "parents": [
        "0753b0ef3b301895234fed02bea2c099c7ff4feb"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: move all acccounting to parent at rmdir()\n\nThis patch provides a function to move account information of a page\nbetween mem_cgroups and rewrite force_empty to make use of this.\n\nThis moving of page_cgroup is done under\n - lru_lock of source/destination mem_cgroup is held.\n - lock_page_cgroup() is held.\n\nThen, a routine which touches pc-\u003emem_cgroup without lock_page_cgroup()\nshould confirm pc-\u003emem_cgroup is still valid or not.  Typical code can be\nfollowing.\n\n(while page is not under lock_page())\n\tmem \u003d pc-\u003emem_cgroup;\n\tmz \u003d page_cgroup_zoneinfo(pc)\n\tspin_lock_irqsave(\u0026mz-\u003elru_lock);\n\tif (pc-\u003emem_cgroup \u003d\u003d mem)\n\t\t...../* some list handling */\n\tspin_unlock_irqrestore(\u0026mz-\u003elru_lock);\n\nOf course, better way is\n\tlock_page_cgroup(pc);\n\t....\n\tunlock_page_cgroup(pc);\n\nBut you should confirm the nest of lock and avoid deadlock.\n\nIf you treats page_cgroup from mem_cgroup\u0027s LRU under mz-\u003elru_lock,\nyou don\u0027t have to worry about what pc-\u003emem_cgroup points to.\nmoved pages are added to head of lru, not to tail.\n\nExpected users of this routine is:\n  - force_empty (rmdir)\n  - moving tasks between cgroup (for moving account information.)\n  - hierarchy (maybe useful.)\n\nforce_empty(rmdir) uses this move_account and move pages to its parent.\nThis \"move\" will not cause OOM (I added \"oom\" parameter to try_charge().)\n\nIf the parent is busy (not enough memory), force_empty calls try_to_free_page()\nand reduce usage.\n\nPurpose of this behavior is\n  - Fix \"forget all\" behavior of force_empty and avoid leak of accounting.\n  - By \"moving first, free if necessary\", keep pages on memory as much as\n    possible.\n\nAdding a switch to change behavior of force_empty to\n  - free first, move if necessary\n  - free all, if there is mlocked/busy pages, return -EBUSY.\nis under consideration. (I\u0027ll add if someone requtests.)\n\nThis patch also removes memory.force_empty file, a brutal debug-only interface.\n\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0753b0ef3b301895234fed02bea2c099c7ff4feb",
      "tree": "35d01368e76d0e5ad21b38fc80274154f8a35d62",
      "parents": [
        "01b1ae63c2270cbacfd43fea94578c17950eb548"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed Jan 07 18:07:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: do not recalculate section unnecessarily in init_section_page_cgroup\n\nIn init_section_page_cgroup() the section a given pfn belongs to is\ncalculated at the top of the function and, despite the fact that the\npfn/section correspondence does not change, it is recalculated further\ndown the same function.  By computing this just once and reusing that\nvalue we save some bytes in the object file and do not waste CPU cycles.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01b1ae63c2270cbacfd43fea94578c17950eb548",
      "tree": "ab0275f32e8548c4413014d43cab1f52f03c9c5c",
      "parents": [
        "bced0520fe462bb94021dcabd32e99630c171be2"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: simple migration handling\n\nNow, management of \"charge\" under page migration is done under following\nmanner. (Assume migrate page contents from oldpage to newpage)\n\n before\n  - \"newpage\" is charged before migration.\n at success.\n  - \"oldpage\" is uncharged at somewhere(unmap, radix-tree-replace)\n at failure\n  - \"newpage\" is uncharged.\n  - \"oldpage\" is charged if necessary (*1)\n\nBut (*1) is not reliable....because of GFP_ATOMIC.\n\nThis patch tries to change behavior as following by charge/commit/cancel ops.\n\n before\n  - charge PAGE_SIZE (no target page)\n success\n  - commit charge against \"newpage\".\n failure\n  - commit charge against \"oldpage\".\n    (PCG_USED bit works effectively to avoid double-counting)\n  - if \"oldpage\" is obsolete, cancel charge of PAGE_SIZE.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bced0520fe462bb94021dcabd32e99630c171be2",
      "tree": "6fa234f4a25bc8231742aea13e7cc2664b0a69a6",
      "parents": [
        "7a81b88cb53e335ff7d019e6398c95792c817d93"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: fix gfp_mask of callers of charge\n\nFix misuse of gfp_kernel.\n\nNow, most of callers of mem_cgroup_charge_xxx functions uses GFP_KERNEL.\n\nI think that this is from the fact that page_cgroup *was* dynamically\nallocated.\n\nBut now, we allocate all page_cgroup at boot.  And\nmem_cgroup_try_to_free_pages() reclaim memory from GFP_HIGHUSER_MOVABLE +\nspecified GFP_RECLAIM_MASK.\n\n  * This is because we just want to reduce memory usage.\n    \"Where we should reclaim from ?\" is not a problem in memcg.\n\nThis patch modifies gfp masks to be GFP_HIGUSER_MOVABLE if possible.\n\nNote: This patch is not for fixing behavior but for showing sane information\n      in source code.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a81b88cb53e335ff7d019e6398c95792c817d93",
      "tree": "6ebca4d509a541ac707e10f9369916549e90c0ad",
      "parents": [
        "0b82ac37b889ec881b645860da3775118effb3ca"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:04 2009 -0800"
      },
      "message": "memcg: introduce charge-commit-cancel style of functions\n\nThere is a small race in do_swap_page().  When the page swapped-in is\ncharged, the mapcount can be greater than 0.  But, at the same time some\nprocess (shares it ) call unmap and make mapcount 1-\u003e0 and the page is\nuncharged.\n\n      CPUA \t\t\tCPUB\n       mapcount \u003d\u003d 1.\n   (1) charge if mapcount\u003d\u003d0     zap_pte_range()\n                                (2) mapcount 1 \u003d\u003e 0.\n\t\t\t        (3) uncharge(). (success)\n   (4) set page\u0027s rmap()\n       mapcount 0\u003d\u003e1\n\nThen, this swap page\u0027s account is leaked.\n\nFor fixing this, I added a new interface.\n  - charge\n   account to res_counter by PAGE_SIZE and try to free pages if necessary.\n  - commit\n   register page_cgroup and add to LRU if necessary.\n  - cancel\n   uncharge PAGE_SIZE because of do_swap_page failure.\n\n     CPUA\n  (1) charge (always)\n  (2) set page\u0027s rmap (mapcount \u003e 0)\n  (3) commit charge was necessary or not after set_pte().\n\nThis protocol uses PCG_USED bit on page_cgroup for avoiding over accounting.\nUsual mem_cgroup_charge_common() does charge -\u003e commit at a time.\n\nAnd this patch also adds following function to clarify all charges.\n\n  - mem_cgroup_newpage_charge() ....replacement for mem_cgroup_charge()\n\tcalled against newly allocated anon pages.\n\n  - mem_cgroup_charge_migrate_fixup()\n        called only from remove_migration_ptes().\n\twe\u0027ll have to rewrite this later.(this patch just keeps old behavior)\n\tThis function will be removed by additional patch to make migration\n\tclearer.\n\nGood for clarifying \"what we do\"\n\nThen, we have 4 following charge points.\n  - newpage\n  - swap-in\n  - add-to-cache.\n  - migration.\n\n[akpm@linux-foundation.org: add missing inline directives to stubs]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b82ac37b889ec881b645860da3775118effb3ca",
      "tree": "93407311725ac2588df5f37e261304a51064e200",
      "parents": [
        "116e05751285c20edf5768ca3bcc00dad86181bb"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Wed Jan 07 18:07:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "devices cgroup: allow mkfifo\n\nThe devcgroup_inode_permission() hook in the devices whitelist cgroup has\nalways bypassed access checks on fifos.  But the mknod hook did not.  The\ndevices whitelist is only about block and char devices, and fifos can\u0027t\neven be added to the whitelist, so fifos can\u0027t be created at all except by\ntasks which have \u0027a\u0027 in their whitelist (meaning they have access to all\ndevices).\n\nFix the behavior by bypassing access checks to mkfifo.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nReported-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "116e05751285c20edf5768ca3bcc00dad86181bb",
      "tree": "a95c51476e30fb1374dc50d6051c7216f23afa2f",
      "parents": [
        "a47295e6bc42ad35f9c15ac66f598aa24debd4e2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "devcgroup: use list_for_each_entry_rcu()\n\nWe should use list_for_each_entry_rcu in RCU read site.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a47295e6bc42ad35f9c15ac66f598aa24debd4e2",
      "tree": "cb765e996ef35ae88e29d60796655d0d35e8cf5e",
      "parents": [
        "e7b80bb695a5b64c92e314838e083b2f3bdf29b2"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Wed Jan 07 18:07:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: make cgroup_path() RCU-safe\n\nFix races between /proc/sched_debug by freeing cgroup objects via an RCU\ncallback.  Thus any cgroup reference obtained from an RCU-safe source will\nremain valid during the RCU section.  Since dentries are also RCU-safe,\nthis allows us to traverse up the tree safely.\n\nAdditionally, make cgroup_path() check for a NULL cgrp-\u003edentry to avoid\ntrying to report a path for a partially-created cgroup.\n\n[lizf@cn.fujitsu.com: call deactive_super() in cgroup_diput()]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7b80bb695a5b64c92e314838e083b2f3bdf29b2",
      "tree": "f5eafb9825a23550dbf903e5cabd71655e4e55ce",
      "parents": [
        "c12f65d4396e05c51ce3af7f159ead98574a587c"
      ],
      "author": {
        "name": "Gowrishankar M",
        "email": "gowrishankar.m@in.ibm.com",
        "time": "Wed Jan 07 18:07:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: skip processes from other namespaces when listing a cgroup\n\nOnce tasks are populated from system namespace inside cgroup, container\nreplaces other namespace task with 0 while listing tasks, inside\ncontainer.\n\nThough this is expected behaviour from container end, there is no use of\nshowing unwanted 0s.\n\nIn this patch, we check if a process is in same namespace before loading\ninto pid array.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Gowrishankar M \u003cgowrishankar.m@in.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c12f65d4396e05c51ce3af7f159ead98574a587c",
      "tree": "95e4f2e4878101ca2b9e3efc0a9cc5f25ce678d7",
      "parents": [
        "33a68ac1c1b695216e873ee12e819adbe73e4d9f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: introduce link_css_set() to remove duplicate code\n\nAdd a common function link_css_set() to link a css_set to a cgroup.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33a68ac1c1b695216e873ee12e819adbe73e4d9f",
      "tree": "0c58e50e7c528200390f740265f7eb7e7a3a87e6",
      "parents": [
        "e5f6a8609bab0c2d7543ab1505105e011832afd7"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: add inactive subsystems to rootnode.subsys_list\n\nThough for an inactive hierarchy, we have subsys-\u003eroot \u003d\u003d \u0026rootnode, but\nrootnode\u0027s subsys_list is always empty.\n\nThis conflicts with the code in find_css_set():\n\n\tfor (i \u003d 0; i \u003c CGROUP_SUBSYS_COUNT; i++) {\n\t\t...\n\t\tif (ss-\u003eroot-\u003esubsys_list.next \u003d\u003d \u0026ss-\u003esibling) {\n\t\t\t...\n\t\t}\n\t}\n\tif (list_empty(\u0026rootnode.subsys_list)) {\n\t\t...\n\t}\n\nThe above code assumes rootnode.subsys_list links all inactive\nhierarchies.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5f6a8609bab0c2d7543ab1505105e011832afd7",
      "tree": "07591b1fb27431cee41ea4ca097b514a0e773ba7",
      "parents": [
        "7534432dcc3c654a8671b6b0cdffd1dbdbc73074"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: make root_list contains active hierarchies only\n\nDon\u0027t link rootnode to the root list, so root_list contains active\nhierarchies only as the comment indicates.  And rename for_each_root() to\nfor_each_active_root().\n\nAlso remove redundant check in cgroup_kill_sb().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7534432dcc3c654a8671b6b0cdffd1dbdbc73074",
      "tree": "65a5010c8bc5062d004fd1ede32e8f7ba64f6eec",
      "parents": [
        "77efecd9e0526327548152df715ab8644ecb5ba0"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: remove rcu_read_lock() in cgroupstats_build()\n\ncgroup_iter_* do not need rcu_read_lock().\n\nIn cgroup_enable_task_cg_lists(), do_each_thread() and while_each_thread()\nare protected by RCU, it\u0027s OK, for write_lock(\u0026css_set_lock) implies\nrcu_read_lock() in non-RT kernel.\n\nIf we need explicit rcu_read_lock(), we should add rcu_read_lock() in\ncgroup_enable_task_cg_lists(), not cgroup_iter_*.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77efecd9e0526327548152df715ab8644ecb5ba0",
      "tree": "4dd2a82fe5db454fb018e434e07c3e6f30dc9832",
      "parents": [
        "104cbd55377029e70fc2cee01089e84b9c36e5dc"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: call find_css_set() safely in cgroup_attach_task()\n\nIn cgroup_attach_task(), tsk maybe exit when we call find_css_set().  and\nfind_css_set() will access to invalid css_set.\n\nThis patch increases the count before get_css_set(), and decreases it\nafter find_css_set().\n\nNOTE:\n\ncss_set\u0027s refcount is also taskcount, after this patch applied, taskcount\nmay be off-by-one WHEN cgroup_lock() is not held.  but I reviewed other\ncode which use taskcount, they are still correct.  No regression found by\nreviewing and simply testing.\n\nSo I do not use two counters in css_set.  (one counter for taskcount, the\nother for refcount.  like struct mm_struct) If this fix cause regression,\nwe will use two counters in css_set.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "104cbd55377029e70fc2cee01089e84b9c36e5dc",
      "tree": "60c7d0d9625b74f6a2733a9618cc97dc772848f5",
      "parents": [
        "b2aa30f7bb381e04c93eed106089ba55553955f1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: use task_lock() for access tsk-\u003ecgroups safe in cgroup_clone()\n\nUse task_lock() protect tsk-\u003ecgroups and get_css_set(tsk-\u003ecgroups).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2aa30f7bb381e04c93eed106089ba55553955f1",
      "tree": "eda632102a0bc6e325a24e77a9c2819eab5aeef3",
      "parents": [
        "2019f634ce5904c19eba4e86f51b1a119a53a9f1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: don\u0027t put struct cgroupfs_root protected by RCU\n\nWe don\u0027t access struct cgroupfs_root in fast path, so we should not put\nstruct cgroupfs_root protected by RCU\n\nBut the comment in struct cgroup_subsys.root confuse us.\n\nstruct cgroup_subsys.root is used in these places:\n\n1 find_css_set(): if (ss-\u003eroot-\u003esubsys_list.next \u003d\u003d \u0026ss-\u003esibling)\n2 rebind_subsystems(): if (ss-\u003eroot !\u003d \u0026rootnode)\n                       rcu_assign_pointer(ss-\u003eroot, root);\n                       rcu_assign_pointer(subsys[i]-\u003eroot, \u0026rootnode);\n3 cgroup_has_css_refs(): if (ss-\u003eroot !\u003d cgrp-\u003eroot)\n4 cgroup_init_subsys(): ss-\u003eroot \u003d \u0026rootnode;\n5 proc_cgroupstats_show(): ss-\u003ename, ss-\u003eroot-\u003esubsys_bits,\n                           ss-\u003eroot-\u003enumber_of_cgroups, !ss-\u003edisabled);\n6 cgroup_clone(): root \u003d subsys-\u003eroot;\n                  if ((root !\u003d subsys-\u003eroot) ||\n\nAll these place we have held cgroup_lock() or we don\u0027t dereference to\nstruct cgroupfs_root.  It\u0027s means wo don\u0027t need RCU when use struct\ncgroup_subsys.root, and we should not put struct cgroupfs_root protected\nby RCU.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2019f634ce5904c19eba4e86f51b1a119a53a9f1",
      "tree": "040b8645c0627baa0f4e44113589b5a4894ea629",
      "parents": [
        "b12b533fa523e94e0cc9dc23274ae4f9439f1313"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: fix cgroup_iter_next() bug\n\nWe access res-\u003ecgroups without the task_lock(), so res-\u003ecgroups may be\nchanged.  it\u0027s unreliable, and \"if (l \u003d\u003d \u0026res-\u003ecgroups-\u003etasks)\" may be\nfalse forever.\n\nWe don\u0027t need add any lock for fixing this bug.  we just access to struct\ncss_set by struct cg_cgroup_link, not by struct task_struct.\n\nSince we hold css_set_lock, struct cg_cgroup_link is reliable.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b12b533fa523e94e0cc9dc23274ae4f9439f1313",
      "tree": "00a08a34388e835ae3103a6f00c96129d3fa59a4",
      "parents": [
        "c9d5409f8d46fd0d18b4a4481d9caa04076d87fc"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: add lock for child-\u003ecgroups in cgroup_post_fork()\n\nWhen cgroup_post_fork() is called, child is seen by find_task_by_vpid(),\nso child-\u003ecgroups maybe be changed, It\u0027ll incorrect.\n\nchild-\u003ecgroups\u003cold\u003e\u0027s refcnt is decreased\nchild-\u003ecgroups\u003cnew\u003e\u0027s refcnt is increased\nbut child-\u003ecg_list is added to child-\u003ecgroups\u003cold\u003e\u0027s list.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9d5409f8d46fd0d18b4a4481d9caa04076d87fc",
      "tree": "d5c3dc39ed52531b249ad37dd93c26be032c355b",
      "parents": [
        "cae7a366f77ea5c9f54ae98c5fc65056877a89ed"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "memcg: fix a typo in Kconfig\n\ns/contoller/controller/\n\nSigned-of-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cae7a366f77ea5c9f54ae98c5fc65056877a89ed",
      "tree": "ccc298456ee5c1d1e83bcce5f66a53a9d6a1a521",
      "parents": [
        "75139b8274c3e30354daea623f14b43a482a0bb5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "ns_cgroup: remove unused spinlock\n\nI happened to find the spinlock in struct ns_cgroup is never used.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75139b8274c3e30354daea623f14b43a482a0bb5",
      "tree": "0da75602e260cd565d9f8c03d789744448966171",
      "parents": [
        "18e7f1f0d34be4a39f7f47324a3e26b43fddb714"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "cgroups: remove some redundant NULL checks\n\n- In cgroup_clone(), if vfs_mkdir() returns successfully,\n  dentry-\u003ed_fsdata will be the pointer to the newly created\n  cgroup and won\u0027t be NULL.\n\n- a cgroup file\u0027s dentry-\u003ed_fsdata won\u0027t be NULL, guaranteed\n  by cgroup_add_file().\n\n- When walking through the subsystems of a cgroup_fs (using\n  for_each_subsys), cgrp-\u003esubsys[ss-\u003esubsys_id] won\u0027t be NULL,\n  guaranteed by cgroup_create().\n\n(Also remove 2 unused variables in cgroup_rmdir().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18e7f1f0d34be4a39f7f47324a3e26b43fddb714",
      "tree": "91ac7e598579b6a2eff140cb1478d198557afc2c",
      "parents": [
        "5cdc38f98596662620b822a4e13f797c3f2f65e0"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "cgroups: documentation updates\n\n- remove \u0027releasable\u0027 since it has been moved to the debug subsys.\n- update lock requirements of subsys callbacks.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cdc38f98596662620b822a4e13f797c3f2f65e0",
      "tree": "d6a9ccbe59610af212f5486f5f4df2fa14cdcb86",
      "parents": [
        "e04a88a920ff36d03641e1b9c01b7960d94209f1"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:07:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "cgroups: make cgroup config a submenu\n\nMaking CGROUP related configs be a sub-menu.\n\nThis patch make CGROUP related configs be a sub-menu and makes 1st level\nconfigs of \"General Setup\" shorter.\n\n including following additional changes\n  - add help comment about CGROUPS and GROUP_SCHED.\n  - moved MM_OWNER config to the bottom.\n    (for good indent in menuconfig)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e04a88a920ff36d03641e1b9c01b7960d94209f1",
      "tree": "0c4bc724372953bdcf027eea2daf87bcfd8e4a2f",
      "parents": [
        "87d1fda5e2ff6527740604a7918fc273b6f9ae13"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 07 18:07:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "quota: don\u0027t set grace time when user isn\u0027t above softlimit\n\ndo_set_dqblk() allowed SETDQBLK quotactl to set user\u0027s grace time even if\nuser was not above his softlimit.  This does not make much sence and by\ncoincidence causes quota code to omit softlimit warning when user really\nexceeds softlimit.  This patch makes do_set_dqblk() reset user\u0027s grace\ntime if he has not exceeded softlimit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87d1fda5e2ff6527740604a7918fc273b6f9ae13",
      "tree": "28599bf327319b16841d7ec6d3ea341f014455cf",
      "parents": [
        "1579c3a15c06055713b42b077b805f818638302c"
      ],
      "author": {
        "name": "Richard A. Holden III",
        "email": "aciddeath@gmail.com",
        "time": "Wed Jan 07 18:07:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "coda: fix fs/coda/sysctl.c build warnings when !CONFIG_SYSCTL\n\nFix\nfs/coda/sysctl.c:14: warning: \u0027fs_table_header\u0027 defined but not used\nfs/coda/sysctl.c:44: warning: \u0027fs_table\u0027 defined but not used\n\nthese are only used when CONFIG_SYSCTL is defined.\n\nSigned-off-by: Richard A. Holden III \u003caciddeath@gmail.com\u003e\nCc: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1579c3a15c06055713b42b077b805f818638302c",
      "tree": "8898416461b4451f095ea0a426dd8a9d91dfd95d",
      "parents": [
        "04143e2fb9d512c21e1dcfb561dbb0445dcfdc8c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Jan 07 18:07:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "jbd: remove excess kernel-doc notation\n\nRemove excess kernel-doc from fs/jbd/transaction.c:\n\nWarning(linux-2.6.28-git5//fs/jbd/transaction.c:764): Excess function parameter \u0027credits\u0027 description in \u0027journal_get_write_access\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04143e2fb9d512c21e1dcfb561dbb0445dcfdc8c",
      "tree": "1a8b6add3f19db63663bcf33205b771272e451d8",
      "parents": [
        "2e8671cb566da993425d324fc355af31edc6e7f1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: tighten restrictions on inode flags\n\nAt the moment there are few restrictions on which flags may be set on\nwhich inodes.  Specifically DIRSYNC may only be set on directories and\nIMMUTABLE and APPEND may not be set on links.  Tighten that to disallow\nTOPDIR being set on non-directories and only NODUMP and NOATIME to be set\non non-regular file, non-directories.\n\nIntroduces a flags masking function which masks flags based on mode and\nuse it during inode creation and when flags are set via the ioctl to\nfacilitate future consistency.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.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": "2e8671cb566da993425d324fc355af31edc6e7f1",
      "tree": "6da1dc8231ecbff398229398b602a6a3543979fd",
      "parents": [
        "5df096d67ec2b6578518caed7d57317a4b807aa1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: don\u0027t inherit inappropriate inode flags from parent\n\nAt present INDEX is the only flag that new ext3 inodes do NOT inherit from\ntheir parent.  In addition prevent the flags DIRTY, ECOMPR, IMAGIC and\nTOPDIR from being inherited.  List inheritable flags explicitly to prevent\nfuture flags from accidentally being inherited.\n\nThis fixes the TOPDIR flag inheritance bug reported at\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9866.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.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": "5df096d67ec2b6578518caed7d57317a4b807aa1",
      "tree": "8e92d19c89dea347eed6fc018fc6e4388bf9ebdc",
      "parents": [
        "f420d4dc4272fd223986762df2ad06056ddebada"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 07 18:07:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext3: allocate -\u003es_blockgroup_lock separately\n\nAs spotted by kmemtrace, struct ext3_sb_info is 17152 bytes on 64-bit\nwhich makes it a very bad fit for SLAB allocators.  The culprit of the\nwasted memory is -\u003es_blockgroup_lock which can be as big as 16 KB when\nNR_CPUS \u003e\u003d 32.\n\nTo fix that, allocate -\u003es_blockgroup_lock, which fits nicely in a order 2\npage in the worst case, separately.  This shinks down struct ext3_sb_info\nenough to fit a 1 KB slab cache so now we allocate 16 KB + 1 KB instead of\n32 KB saving 15 KB of memory.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-ext4@vger.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": "f420d4dc4272fd223986762df2ad06056ddebada",
      "tree": "2ae50476e901dc5c2e5d189d44785e27234bcce9",
      "parents": [
        "ef8b646183868b2d042fa6cde0eef2a31263ff85"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Wed Jan 07 18:07:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "jbd: improve fsync batching\n\nThere is a flaw with the way jbd handles fsync batching.  If we fsync() a\nfile and we were not the last person to run fsync() on this fs then we\nautomatically sleep for 1 jiffie in order to wait for new writers to join\ninto the transaction before forcing the commit.  The problem with this is\nthat with really fast storage (ie a Clariion) the time it takes to commit\na transaction to disk is way faster than 1 jiffie in most cases, so\nsleeping means waiting longer with nothing to do than if we just committed\nthe transaction and kept going.  Ric Wheeler noticed this when using\nfs_mark with more than 1 thread, the throughput would plummet as he added\nmore threads.\n\nThis patch attempts to fix this problem by recording the average time in\nnanoseconds that it takes to commit a transaction to disk, and what time\nwe started the transaction.  If we run an fsync() and we have been running\nfor less time than it takes to commit the transaction to disk, we sleep\nfor the delta amount of time and then commit to disk.  We acheive\nsub-jiffie sleeping using schedule_hrtimeout.  This means that the wait\ntime is auto-tuned to the speed of the underlying disk, instead of having\nthis static timeout.  I weighted the average according to somebody\u0027s\ncomments (Andreas Dilger I think) in order to help normalize random\noutliers where we take way longer or way less time to commit than the\naverage.  I also have a min() check in there to make sure we don\u0027t sleep\nlonger than a jiffie in case our storage is super slow, this was requested\nby Andrew.\n\nI unfortunately do not have access to a Clariion, so I had to use a\nramdisk to represent a super fast array.  I tested with a SATA drive with\nbarrier\u003d1 to make sure there was no regression with local disks, I tested\nwith a 4 way multipathed Apple Xserve RAID array and of course the\nramdisk.  I ran the following command\n\nfs_mark -d /mnt/ext3-test -s 4096 -n 2000 -D 64 -t $i\n\nwhere $i was 2, 4, 8, 16 and 32.  I mkfs\u0027ed the fs each time.  Here are my\nresults\n\ntype\tthreads\t\twith patch\twithout patch\nsata\t2\t\t24.6\t\t26.3\nsata\t4\t\t49.2\t\t48.1\nsata\t8\t\t70.1\t\t67.0\nsata\t16\t\t104.0\t\t94.1\nsata\t32\t\t153.6\t\t142.7\n\nxserve\t2\t\t246.4\t\t222.0\nxserve\t4\t\t480.0\t\t440.8\nxserve\t8\t\t829.5\t\t730.8\nxserve\t16\t\t1172.7\t\t1026.9\nxserve\t32\t\t1816.3\t\t1650.5\n\nramdisk\t2\t\t2538.3\t\t1745.6\nramdisk\t4\t\t2942.3\t\t661.9\nramdisk\t8\t\t2882.5\t\t999.8\nramdisk\t16\t\t2738.7\t\t1801.9\nramdisk\t32\t\t2541.9\t\t2394.0\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Ric Wheeler \u003crwheeler@redhat.com\u003e\nCc: \u003clinux-ext4@vger.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": "ef8b646183868b2d042fa6cde0eef2a31263ff85",
      "tree": "5f8ebd60f844fcb7b1b056d6d663151a2f5e16f9",
      "parents": [
        "0e090f1e05a563cc9acdda442767176bf1616001"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: tighten restrictions on inode flags\n\nAt the moment there are few restrictions on which flags may be set on\nwhich inodes.  Specifically DIRSYNC may only be set on directories and\nIMMUTABLE and APPEND may not be set on links.  Tighten that to disallow\nTOPDIR being set on non-directories and only NODUMP and NOATIME to be set\non non-regular file, non-directories.\n\nIntroduces a flags masking function which masks flags based on mode and\nuse it during inode creation and when flags are set via the ioctl to\nfacilitate future consistency.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.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": "0e090f1e05a563cc9acdda442767176bf1616001",
      "tree": "61ccecf39f24a689a751e070f629775bc8aedcdc",
      "parents": [
        "18a82eb9f980b5e02cea651e4ecda26265d98933"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: don\u0027t inherit inappropriate inode flags from parent\n\nAt present BTREE/INDEX is the only flag that new ext2 inodes do NOT\ninherit from their parent.  In addition prevent the flags DIRTY, ECOMPR,\nINDEX, IMAGIC and TOPDIR from being inherited.  List inheritable flags\nexplicitly to prevent future flags from accidentally being inherited.\n\nThis fixes the TOPDIR flag inheritance bug reported at\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9866.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.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": "18a82eb9f980b5e02cea651e4ecda26265d98933",
      "tree": "7626c16d880eed47f0eaf323f8e8e9441c84d357",
      "parents": [
        "22d613d13445de9dea6edc3289c304237eb191f6"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 07 18:07:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: allocate -\u003es_blockgroup_lock separately\n\nAs spotted by kmemtrace, struct ext2_sb_info is 17024 bytes on 64-bit\nwhich makes it a very bad fit for SLAB allocators.  The culprit of the\nwasted memory is -\u003es_blockgroup_lock which can be as big as 16 KB when\nNR_CPUS \u003e\u003d 32.\n\nTo fix that, allocate -\u003es_blockgroup_lock, which fits nicely in a order 2\npage in the worst case, separately.  This shinks down struct ext2_sb_info\nenough to fit a 1 KB slab cache so now we allocate 16 KB + 1 KB instead of\n32 KB saving 15 KB of memory.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-ext4@vger.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": "22d613d13445de9dea6edc3289c304237eb191f6",
      "tree": "c6bf2d88b0d9e2247e6573d8b3f51b50cbe492fd",
      "parents": [
        "74d88eb2930f09e1a63d61cc9d4cffc50c684412"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 07 18:07:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: fix ext2_splice_branch() comments\n\nThere is no argument named @chain in ext2_splice_branch, remove references\nto it.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74d88eb2930f09e1a63d61cc9d4cffc50c684412",
      "tree": "70df7d4f1858f9509331341cc83159cae4586dcd",
      "parents": [
        "fed40b734c343d4e4acf4b46f186bc3d69271867"
      ],
      "author": {
        "name": "Jüri Reitel",
        "email": "juri.reitel@liewenthal.ee",
        "time": "Wed Jan 07 18:07:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "rtc-ds1307: remove legacy probe() checks\n\nRemove RTC register value checks from the rtc-ds1307 probe() function.\nThey were left over from the legacy style I2C driver, which had to defend\nagainst finding a non-RTC chip when the driver was probed.\n\nAlso fix a minor glitch in the alarm support: DS1307 chips don\u0027t have\nalarms, so name those methods after one of the chips which actually *do*\nhave alarms (DS1337).\n\nSigned-off-by: Jüri Reitel \u003cjuri.reitel@liewenthal.ee\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Sebastien Barre \u003csbarre@sdelcc.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fed40b734c343d4e4acf4b46f186bc3d69271867",
      "tree": "645f62949e73c87789f7a5b9ab04cb9e9ba52302",
      "parents": [
        "1107ba885e46964316c083d441d5dd185b6c9e49"
      ],
      "author": {
        "name": "BARRE Sebastien",
        "email": "sbarre@sdelcc.com",
        "time": "Wed Jan 07 18:07:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:30:59 2009 -0800"
      },
      "message": "rtc-ds1307: SMBus compatibility\n\nChange i2c access functions to SMBus access functions in order to use the\nds1307 with SMBus adapter.\n\nSigned-off-by: Sebastien Barre \u003csbarre@sdelcc.com\u003e\nAcked-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nTested-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nTested-by: Sebastien Barre \u003csbarre@sdelcc.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1107ba885e46964316c083d441d5dd185b6c9e49",
      "tree": "98cc3f81ad7ff554e10fc263abfb7727a438cc5a",
      "parents": [
        "d8220347da2a0639f5e1919a5af08f49cb37c24f"
      ],
      "author": {
        "name": "Alex Zeffertt",
        "email": "alex.zeffertt@eu.citrix.com",
        "time": "Wed Jan 07 18:07:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:30:59 2009 -0800"
      },
      "message": "xen: add xenfs to allow usermode \u003c-\u003e Xen interaction\n\nThe xenfs filesystem exports various interfaces to usermode.  Initially\nthis exports a file to allow usermode to interact with xenbus/xenstore.\n\nTraditionally this appeared in /proc/xen.  Rather than extending procfs,\nthis patch adds a backward-compat mountpoint on /proc/xen, and provides\na xenfs filesystem which can be mounted there.\n\nSigned-off-by: Alex Zeffertt \u003calex.zeffertt@eu.citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8220347da2a0639f5e1919a5af08f49cb37c24f",
      "tree": "1cda3812db9b904412b5993d9e937381091c06ad",
      "parents": [
        "96777fe7b042e5a5d0fe5fb861fcd6cd80ef9634"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 07 18:07:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:30:59 2009 -0800"
      },
      "message": "drivers/xen/xenbus/xenbus_client.c: cleanup kerneldoc\n\nno argument named @xbt in xenbus_switch_state(), remove it.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96777fe7b042e5a5d0fe5fb861fcd6cd80ef9634",
      "tree": "a39a7a0a4817ec4b2815730d09a3f8b7b76a8ab2",
      "parents": [
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Thu Jan 08 09:46:31 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:15:39 2009 -0800"
      },
      "message": "async: Don\u0027t call async_synchronize_full_special() while holding sb_lock\n\nsync_filesystems() shouldn\u0027t be calling async_synchronize_full_special\nwhile holding a spinlock.  The second while loop in that function is the\nright place for this anyway.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nReported-by: Grissiom \u003cchaos.proton@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e42d0cf5020aaf217433cad1a224745241d212a",
      "tree": "8d64537c600024a4220d1309873ac3467726c3b0",
      "parents": [
        "97c440ba41d4e7cddb8e14c7c7ec49dad2560709",
        "18b8e08e290e9df588f51f5a7df50555f5a25664"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:23:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:23:53 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Work around branch tracer warning.\n  sparc64: Fix unsigned long long warnings in drivers.\n  sparc64: Use unsigned long long for u64.\n  sparc: refactor code in fault_32.c\n  sparc64: refactor code in init_64.c\n  sparc64: refactor code in viohs.c\n  sparc: make proces_ver_nack a bit more readable\n"
    },
    {
      "commit": "97c440ba41d4e7cddb8e14c7c7ec49dad2560709",
      "tree": "8fc62e3c3a17d22613d0d6d2a4ecebc8fd19edee",
      "parents": [
        "713404d6082fee34a829a0c6d511e4aec72d7654",
        "661263b55d56365af911049f8824d3bf1a7aea85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:22:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:22:04 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:\n  V4L/DVB (10191a): Update MAINTAINERS entries on media drivers\n  V4L/DVB (10190): cx88: Fix some Kbuild troubles\n  V4L/DVB (10189): dm1105: Fix build with INPUT\u003dm and DVB_DM1105\u003dy\n  V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc\n  V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization\n  V4L/DVB (10181): v4l2-device: Fix some sparse warnings\n  V4L/DVB (10180): drivers/media: Fix a number of sparse warnings\n  V4L/DVB (10179): tda8290: Fix two sparse warnings\n  V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols\n  V4L/DVB (10177): Fix sparse warnings on em28xx\n  V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions\n  V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage\n"
    },
    {
      "commit": "713404d6082fee34a829a0c6d511e4aec72d7654",
      "tree": "dccfa03988c763b0b39241181f37cdffb5b0fdcc",
      "parents": [
        "d599edcaea987e233fad808f88850f725e8a5530",
        "db43910cb42285a99f45f7e0a0a32e32d0b61dcf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:21:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:21:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux: (67 commits)\n  nfsd: get rid of NFSD_VERSION\n  nfsd: last_byte_offset\n  nfsd: delete wrong file comment from nfsd/nfs4xdr.c\n  nfsd: git rid of nfs4_cb_null_ops declaration\n  nfsd: dprint each op status in nfsd4_proc_compound\n  nfsd: add etoosmall to nfserrno\n  NFSD: FIDs need to take precedence over UUIDs\n  SUNRPC: The sunrpc server code should not be used by out-of-tree modules\n  svc: Clean up deferred requests on transport destruction\n  nfsd: fix double-locks of directory mutex\n  svc: Move kfree of deferral record to common code\n  CRED: Fix NFSD regression\n  NLM: Clean up flow of control in make_socks() function\n  NLM: Refactor make_socks() function\n  nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT\n  SUNRPC: Ensure the server closes sockets in a timely fashion\n  NFSD: Add documenting comments for nfsctl interface\n  NFSD: Replace open-coded integer with macro\n  NFSD: Fix a handful of coding style issues in write_filehandle()\n  NFSD: clean up failover sysctl function naming\n  ...\n"
    },
    {
      "commit": "18b8e08e290e9df588f51f5a7df50555f5a25664",
      "tree": "d24969d7dd7b7bb67de96ff661fea253ae068324",
      "parents": [
        "3f4528d6e91cffde49894f5252e6657d420d3d74"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:15:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 17:15:57 2009 -0800"
      },
      "message": "sparc64: Work around branch tracer warning.\n\nAs reported by Sam Ravnborg, Gcc-3.4.5 does not handle:\n\n\tif (get_user() || get_user())\n\nwith the new branch tracer enabled.\n\nJust seperate it out into seperate statements for now\nso people can get work done.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "661263b55d56365af911049f8824d3bf1a7aea85",
      "tree": "eb57a2f7bc16454f8de67d0ed3c0e5c1250f2c6a",
      "parents": [
        "e32fadc4c2e5975a8e40541e2ba72a7032ed4cf4"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Jan 02 11:27:44 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:56 2009 -0200"
      },
      "message": "V4L/DVB (10191a): Update MAINTAINERS entries on media drivers\n\nThis patch updates the MAINTAINERS entries for the media drivers.\n\nWe are doing a few changes during 2009 to improve patch handling for\ndrivers/media stuff.\n\nCurrently, v4l-dvb-maintainer list at linuxtv.org were used to to be v4l/dvb\ndriver maintainers ML, in order to keep track of patch merge requests and to\nreceive bug fixes. This list allows posting for everybody, but, in order to\navoid spam, the user subscribe/unsubscribe at the ML is moderated. Other\ndevelopment discussions and end-user forums happened on two separated ML (one\nfor V4L and another for DVB).\n\nAt the beginning of 2009, we\u0027ve created linux-media@vger.kernel.org, meaning to\nbe the main upstream development mailing list for drivers/media, including V4L\nand DVB core and drivers.\n\nThe choice for vger.kernel.org were due to the fact that most of upstream lists\nare there. Also, its anti-spam filtering rules are better than what we\ncurrently have at linuxtv.org.\n\nFor now, both video4linux-list and linux-dvb ML will remain active, but more\nfocused on end users. It is expected that those lists will gradually be\nreplaced also by linux-media@vger.kernel.org.\n\nThis patch reflect those changes at linux MAINTAINERS file.\n\nSince the development and bug fix discussions will now happen at\nlinux-media@vger.kernel.org, this patch does the following changes\n\n\t- replaces v4l-dvb-maintainer ML for the new\n\t  linux-media@vger.kernel.org;\n\n\t- replaces video4linux ML for the new linux-media@vger.kernel.org;\n\nWhile here, it also:\n\n\t- Fixes the existing -git tree entries for drivers/media (since the\n          repository name changed);\n\n\t- Adds the missing drivers/media -git tree entry on a few maintainers\n          entries that don\u0027t point to a tree.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "e32fadc4c2e5975a8e40541e2ba72a7032ed4cf4",
      "tree": "7718a6d3d28f6e70d8c51e8ef0eef72022935c19",
      "parents": [
        "571d864c68d429a82fd61e97404a2de210ffc72d"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Jan 06 16:06:07 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:56 2009 -0200"
      },
      "message": "V4L/DVB (10190): cx88: Fix some Kbuild troubles\n\nAs Randy Dunlap \u003crandy.dunlap@oracle.com\u003e reported, cx88 has some compilation issues:\n\ndrivers/built-in.o: In function `cx88_call_i2c_clients\u0027:\n(.text+0x20af17): undefined reference to `videobuf_dvb_get_frontend\u0027\ndrivers/built-in.o: In function `cx8802_probe\u0027:\ncx88-mpeg.c:(.devinit.text+0x268c4): undefined reference to `videobuf_dvb_alloc_frontend\u0027\ncx88-mpeg.c:(.devinit.text+0x268ea): undefined reference to `videobuf_dvb_dealloc_frontends\u0027\n\nWith those configs:\n\nCONFIG_VIDEO_CX88\u003dy\nCONFIG_VIDEO_CX88_BLACKBIRD\u003dy\nCONFIG_VIDEO_CX88_DVB\u003dm\nCONFIG_DVB_CORE\u003dm\n\nAfter carefully examining the code, with the current code, several cx88 drivers\n(cx8800, cx8802, cx88_dvb and cx88_blackbird) should be compiled as a module,\nif one of them is marked as such. Just fixing Kconfig could create a very complex\nset of rules. Also, this hides a problem with the current approach where the dvb\nfunctionality weren\u0027t confined inside dvb module.\n\nWhat happens is that:\n\t- cx88-i2c (part of cx8800) has some special rules if DVB;\n\t- cx88-mpeg (cx8802 module) has also part of DVB init code;\n\t- cx88-dvb has the rest of the dvb code;\n\t- cx88-blackbird can be used with cx88-mpeg, having cx88-dvb or not.\n\nSo, instead of doing some tricks at Kconfig and wait for a next breakage,\nthis patch moves the dvb code inside cx88-i2c and cx88-mpeg into cx88-dvb.\n\nAnother problem is that cx8802 were being compiled, even without cx88-dvb\nand cx88-blackbird modules.\n\nWhile on this code, let\u0027s fix also a reported problem:\nhttp://www.linuxtv.org/pipermail/linux-dvb/2009-January/031225.html\n\nA solution for the issue were proposed here:\nhttp://www.mail-archive.com/linux-media@vger.kernel.org/msg00021.html\n\nThanks to Randy, Andy, Gregoire and Thomas for helping us to detect\nand solve the issues.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "571d864c68d429a82fd61e97404a2de210ffc72d",
      "tree": "b819659127a53aeaeaf39e3a162af54e59bc38b9",
      "parents": [
        "2230c3c803a5f3a84f7c3bd86b8159a551edc8ca"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Jan 06 08:33:46 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:56 2009 -0200"
      },
      "message": "V4L/DVB (10189): dm1105: Fix build with INPUT\u003dm and DVB_DM1105\u003dy\n\nAs reported by Randy Dunlap \u003crandy.dunlap@oracle.com\u003e:\n\nWith CONFIG_INPUT\u003dm and CONFIG_DVB_DM1105\u003dy:\n\ndrivers/built-in.o: In function `input_sync\u0027:\ndm1105.c:(.text+0x120c33): undefined reference to `input_event\u0027\ndrivers/built-in.o: In function `dm1105_emit_key\u0027:\ndm1105.c:(.text+0x120c6c): undefined reference to `input_event\u0027\ndm1105.c:(.text+0x120c82): undefined reference to `input_event\u0027\ndm1105.c:(.text+0x120cb2): undefined reference to `input_event\u0027\ndm1105.c:(.text+0x120cd1): undefined reference to `input_event\u0027\ndrivers/built-in.o: In function `dm1105_ir_init\u0027:\n(.devinit.text+0xd8ae): undefined reference to `input_allocate_device\u0027\ndrivers/built-in.o: In function `dm1105_ir_init\u0027:\n(.devinit.text+0xd9f6): undefined reference to `input_register_device\u0027\ndrivers/built-in.o: In function `dm1105_ir_init\u0027:\n(.devinit.text+0xda09): undefined reference to `input_free_device\u0027\ndrivers/built-in.o: In function `dm1105_ir_exit\u0027:\n(.devexit.text+0xcde): undefined reference to `input_unregister_device\u0027\n\nThis is due to the lack of a dependency between dm1105 and CONFIG_INPUT\n\nCc: Igor M. Liplianin \u003cliplianin@me.by\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "2230c3c803a5f3a84f7c3bd86b8159a551edc8ca",
      "tree": "3642fade950eb5040c6239708942680af51b45dc",
      "parents": [
        "439b72b69e4992e9ec34b74304f0fa95623934eb"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Jan 03 16:53:10 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:56 2009 -0200"
      },
      "message": "V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc\n\nThis patch extends 134179823b3ca9c8b98e0631906459dbb022ff9b by using\nusb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk,\nand usb_endpoint_xfer_int in the negated case as well.\n\nThe semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@ struct usb_endpoint_descriptor *epd; @@\n\n- (usb_endpoint_type(epd) !\u003d \\(USB_ENDPOINT_XFER_CONTROL\\|0\\))\n+ !usb_endpoint_xfer_control(epd)\n\n@@ struct usb_endpoint_descriptor *epd; @@\n\n- (usb_endpoint_type(epd) !\u003d \\(USB_ENDPOINT_XFER_ISOC\\|1\\))\n+ !usb_endpoint_xfer_isoc(epd)\n\n@@ struct usb_endpoint_descriptor *epd; @@\n\n- (usb_endpoint_type(epd) !\u003d \\(USB_ENDPOINT_XFER_BULK\\|2\\))\n+ !usb_endpoint_xfer_bulk(epd)\n\n@@ struct usb_endpoint_descriptor *epd; @@\n\n- (usb_endpoint_type(epd) !\u003d \\(USB_ENDPOINT_XFER_INT\\|3\\))\n+ !usb_endpoint_xfer_int(epd)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "439b72b69e4992e9ec34b74304f0fa95623934eb",
      "tree": "a2148b8fe0520b20669a4ae2b251e77392f25871",
      "parents": [
        "432663375b04ed9700ea7d3c8e737432d1be6490"
      ],
      "author": {
        "name": "Michael Krufky",
        "email": "mkrufky@linuxtv.org",
        "time": "Mon Jan 05 18:25:04 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:55 2009 -0200"
      },
      "message": "V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization\n\nDon\u0027t call tda8290_init_tuner unless we have either a TDA8275 or TDA8275A\npresent. Calling this function will cause a TDA18271 to get sick, so we\nshould only call it when needed.\n\nSigned-off-by: Michael Krufky \u003cmkrufky@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "432663375b04ed9700ea7d3c8e737432d1be6490",
      "tree": "ef104ff2f05dbda7f710ba91511a1aef8599cd65",
      "parents": [
        "ffbc5f88148ff77039a4269e3f945e8471b2e0bb"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Jan 05 01:42:38 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:55 2009 -0200"
      },
      "message": "V4L/DVB (10181): v4l2-device: Fix some sparse warnings\n\n/home/v4l/master/v4l/v4l2-device.c:32:2: warning: Using plain integer as NULL pointer\n/home/v4l/master/v4l/v4l2-device.c:64:2: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "ffbc5f88148ff77039a4269e3f945e8471b2e0bb",
      "tree": "b17c606278bf17868f433fa04bfffda3e58a7d04",
      "parents": [
        "4c27f1a4da4902c70b84a8bce66f8fe909fb829b"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Jan 05 01:34:20 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:55 2009 -0200"
      },
      "message": "V4L/DVB (10180): drivers/media: Fix a number of sparse warnings\n\nanysee.c:44:5: warning: symbol \u0027dvb_usb_anysee_delsys\u0027 was not declared. Should it be static?\ncx24116.c:378:3: warning: symbol \u0027CX24116_MODFEC_MODES\u0027 was not declared. Should it be static?\nstb0899_algo.c:57:5: warning: symbol \u0027stb0899_get_srate\u0027 was not declared. Should it be static?\nstb0899_algo.c:766:6: warning: symbol \u0027Log2Int\u0027 was not declared. Should it be static?\nstb0899_drv.c:137:20: warning: symbol \u0027stb0899_quant_tab\u0027 was not declared. Should it be static?\nstb0899_drv.c:180:20: warning: symbol \u0027stb0899_est_tab\u0027 was not declared. Should it be static?\nstb0899_drv.c:220:5: warning: symbol \u0027_stb0899_read_reg\u0027 was not declared. Should it be static?\nbudget-ci.c:1348:23: warning: symbol \u0027tt3200_stb6100_config\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/cx25840-core.c:190:6: warning: symbol \u0027cx25840_work_handler\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/m5602_s5k83a.c:116:6: warning: symbol \u0027s5k83a_dump_registers\u0027 was not declared. Should it be static?\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "4c27f1a4da4902c70b84a8bce66f8fe909fb829b",
      "tree": "2e84e9cface50b08824bbb3818c26f6937e791ae",
      "parents": [
        "072ce0c50983033d35c63314e2be849568f116c2"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Jan 05 01:23:50 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:55 2009 -0200"
      },
      "message": "V4L/DVB (10179): tda8290: Fix two sparse warnings\n\n/home/v4l/master/v4l/tda8290.c:233:7: warning: symbol \u0027i\u0027 shadows an earlier one\n/home/v4l/master/v4l/tda8290.c:178:3: warning: symbol \u0027fm_mode\u0027 was not declared. Should it be static?\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "072ce0c50983033d35c63314e2be849568f116c2",
      "tree": "878936e88fb055950a98fbe5a11bc1236c013000",
      "parents": [
        "26cdc76b2c0b24f7a9c33ab226ca6e4bbae3dbbb"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Jan 05 01:19:06 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:55 2009 -0200"
      },
      "message": "V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols\n\n/home/v4l/master/v4l/dvb_frontend.c:838:19: warning: symbol \u0027dtv_cmds\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1035:6: warning: symbol \u0027dtv_property_dump\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1066:5: warning: symbol \u0027is_legacy_delivery_system\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1080:6: warning: symbol \u0027dtv_property_cache_sync\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1132:6: warning: symbol \u0027dtv_property_legacy_params_sync\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1187:6: warning: symbol \u0027dtv_property_adv_params_sync\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1222:6: warning: symbol \u0027dtv_property_cache_submit\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1253:5: warning: symbol \u0027dtv_property_process_get\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/dvb_frontend.c:1362:5: warning: symbol \u0027dtv_property_process_set\u0027 was not declared. Should it be static?\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "26cdc76b2c0b24f7a9c33ab226ca6e4bbae3dbbb",
      "tree": "d72e7904a2a92c6118534ac21a1e392157d8513a",
      "parents": [
        "cfbaf4dfe765ae33e1a26b3eb0eda64ff00fc481"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Jan 05 01:00:40 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:55 2009 -0200"
      },
      "message": "V4L/DVB (10177): Fix sparse warnings on em28xx\n\n/home/v4l/master/v4l/em28xx-core.c:396:25: warning: symbol \u0027outputs\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/em28xx-input.c:324:6: warning: symbol \u0027em28xx_ir_start\u0027 was not declared. Should it be static?\n/home/v4l/master/v4l/em28xx-cards.c:1925:5: warning: symbol \u0027em28xx_init_dev\u0027 was not declared. Should it be static?\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "cfbaf4dfe765ae33e1a26b3eb0eda64ff00fc481",
      "tree": "c53de3e63754229994f19a08e41381936db198b4",
      "parents": [
        "c0cd5010e54e52931c321ee66d81d10a8e2a9ff6"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.y.miao@gmail.com",
        "time": "Fri Jan 02 12:16:02 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:55 2009 -0200"
      },
      "message": "V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions\n\n1. now pxa_camera.c uses ioremap() for register access, pxa_camera.h is\n   totally useless. Remove it.\n\n2. \u003casm/dma.h\u003e does no longer include \u003cmach/dma.h\u003e, include the latter\n   file explicitly\n\n delete mode 100644 drivers/media/video/pxa_camera.h\n\nSigned-off-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "c0cd5010e54e52931c321ee66d81d10a8e2a9ff6",
      "tree": "f21bfe54d568c84e6f807676a3f9227001f07adc",
      "parents": [
        "8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Sat Jan 03 18:20:04 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jan 07 22:18:54 2009 -0200"
      },
      "message": "V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage\n\nNot all architectures provide clear_user_page(), but clear_user_highpage()\nis available everywhere at least via the compatibility inline function.\n\nIs this the \"trivial patch\" that\u0027s required for these two drivers?\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "d599edcaea987e233fad808f88850f725e8a5530",
      "tree": "5e9336d4882232ae7296355cd2d21ed0aff86f8f",
      "parents": [
        "9b4778f680aa79d838ae2be6ab958938f744ce5f"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jan 07 14:31:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:48:54 2009 -0800"
      },
      "message": "staging: __FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b4778f680aa79d838ae2be6ab958938f744ce5f",
      "tree": "3f3fc913d8141147898c29ed36b8a43ec20683b1",
      "parents": [
        "8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jan 07 14:42:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:48:54 2009 -0800"
      },
      "message": "trivial: replace last usages of __FUNCTION__ in kernel\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2",
      "tree": "39a3a898f5a15f3c190e7b1a09815f13bbaef77c",
      "parents": [
        "b424e8d3b438e841cd1700f6433a100a5d611e4a",
        "da8d5089da6dfd54e5fd05d0c291a63c2bcf6885"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:43:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:43:58 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix possible recursive rq-\u003elock\n"
    },
    {
      "commit": "b424e8d3b438e841cd1700f6433a100a5d611e4a",
      "tree": "545638d0b925de4c7f740286760767cca86cb91e",
      "parents": [
        "7c7758f99d39d529a64d4f60d22129bbf2f16d74",
        "f6dc1e5e3d4b523e1616b43beddb04e4fb1d376a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:41:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:41:01 2009 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (98 commits)\n  PCI PM: Put PM callbacks in the order of execution\n  PCI PM: Run default PM callbacks for all devices using new framework\n  PCI PM: Register power state of devices during initialization\n  PCI PM: Call pci_fixup_device from legacy routines\n  PCI PM: Rearrange code in pci-driver.c\n  PCI PM: Avoid touching devices behind bridges in unknown state\n  PCI PM: Move pci_has_legacy_pm_support\n  PCI PM: Power-manage devices without drivers during suspend-resume\n  PCI PM: Add suspend counterpart of pci_reenable_device\n  PCI PM: Fix poweroff and restore callbacks\n  PCI: Use msleep instead of cpu_relax during ASPM link retraining\n  PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions\n  PCI: PCIe portdrv: Rearrange code so that related things are together\n  PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services\n  PCI: PCIe portdrv: Add kerneldoc comments to some core functions\n  x86/PCI: Do not use interrupt links for devices using MSI-X\n  net: sfc: Use pci_clear_master() to disable bus mastering\n  PCI: Add pci_clear_master() as opposite of pci_set_master()\n  PCI hotplug: remove redundant test in cpq hotplug\n  PCI: pciehp: cleanup register and field definitions\n  ...\n"
    },
    {
      "commit": "7c7758f99d39d529a64d4f60d22129bbf2f16d74",
      "tree": "8847b5e56812fe4c4c812cfffc78e391a91f4ebe",
      "parents": [
        "67acd8b4b7a3f1b183ae358e1dfdb8a80e170736",
        "8a70da82edc50aa7a4b54864babf2d72538ba1bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:37:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:37:24 2009 -0800"
      },
      "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: (123 commits)\n  wimax/i2400m: add CREDITS and MAINTAINERS entries\n  wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install\n  i2400m: Makefile and Kconfig\n  i2400m/SDIO: TX and RX path backends\n  i2400m/SDIO: firmware upload backend\n  i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends\n  i2400m/SDIO: header for the SDIO subdriver\n  i2400m/USB: TX and RX path backends\n  i2400m/USB: firmware upload backend\n  i2400m/USB: probe/disconnect, dev init/shutdown and reset backends\n  i2400m/USB: header for the USB bus driver\n  i2400m: debugfs controls\n  i2400m: various functions for device management\n  i2400m: RX and TX data/control paths\n  i2400m: firmware loading and bootrom initialization\n  i2400m: linkage to the networking stack\n  i2400m: Generic probe/disconnect, reset and message passing\n  i2400m: host/device procotol and core driver definitions\n  i2400m: documentation and instructions for usage\n  wimax: Makefile, Kconfig and docbook linkage for the stack\n  ...\n"
    },
    {
      "commit": "67acd8b4b7a3f1b183ae358e1dfdb8a80e170736",
      "tree": "4418034f6e83f954337a17bc6a872fa5ae3c4b5e",
      "parents": [
        "b13d3720ecd29d5044334fdbbae3432f26802bae",
        "ad160d23198193135cb2bcc75222e0816b5838c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async:\n  async: don\u0027t do the initcall stuff post boot\n  bootchart: improve output based on Dave Jones\u0027 feedback\n  async: make the final inode deletion an asynchronous event\n  fastboot: Make libata initialization even more async\n  fastboot: make the libata port scan asynchronous\n  fastboot: make scsi probes asynchronous\n  async: Asynchronous function calls to speed up kernel boot\n"
    },
    {
      "commit": "b13d3720ecd29d5044334fdbbae3432f26802bae",
      "tree": "2b010c2b9d52df5a5cfeb12e249ad794de8fb683",
      "parents": [
        "c6906a2cb7cc318a56f6c335a2c4a3b004dd9e04"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 15:30:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:34:47 2009 -0800"
      },
      "message": "topology: Fix sparc64 build.\n\nDue to changeset ba84be2338d3a2b6020d39279335bb06fcd332e1 (\"remove\nlinux/hardirq.h from asm-generic/local.h\") the sparc64 build started\nfailing on drivers/base/topology.c:\n\n  drivers/base/topology.c: In function ‘show_physical_package_id’:\n  drivers/base/topology.c:103: error: implicit declaration of function ‘cpu_data’\n  drivers/base/topology.c:103: error: request for member ‘proc_id’ in something not a structure or union\n  drivers/base/topology.c: In function ‘show_core_id’:\n  drivers/base/topology.c:106: error: request for member ‘core_id’ in something not a structure or union\n\nAdding the obvious fix of including asm/cpudata.h into asm/topology.h on\nsparc64 doesn\u0027t fix it, in fact it makes things worse because of the\nheader file dependency chain:\n\n\tlinux/gfp.h --\u003e linux/mmzone.h --\u003e linux/topology.h --\u003e\n\tasm/topology.h --\u003e asm/cpudata.h --\u003e linux/percpu.h --\u003e\n\tlinux/slab.h\n\nwhich results in:\n\n  include/linux/slub_def.h: In function ‘kmalloc_large’:\n  include/linux/slub_def.h:209: error: implicit declaration of function ‘__get_free_pages’\n  include/linux/slub_def.h:209: error: ‘__GFP_COMP’ undeclared (first use in this function)\n  include/linux/slub_def.h:209: error: (Each undeclared identifier is reported only once\n  include/linux/slub_def.h:209: error: for each function it appears in.)\n  include/linux/slub_def.h:209: warning: cast to pointer from integer of different size\n\nThe simplest thing to do is to add yet another one-off hack like parts\nof the guilty changeset did, by putting an explicit linux/hardirq.h\ninclude into drivers/base/topology.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db43910cb42285a99f45f7e0a0a32e32d0b61dcf",
      "tree": "81f3d99bd8b473d3302028a0839017bdc960a77d",
      "parents": [
        "87df4de8073f922a1f643b9fa6ba0412d5529ecf"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:42:24 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:38:32 2009 -0500"
      },
      "message": "nfsd: get rid of NFSD_VERSION\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "87df4de8073f922a1f643b9fa6ba0412d5529ecf",
      "tree": "8a7e5d7c5d531ac277c2e0026329f589ccdae101",
      "parents": [
        "4e65ebf08951326709817e654c149d0a94982e01"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:42:03 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:38:31 2009 -0500"
      },
      "message": "nfsd: last_byte_offset\n\nrefactor the nfs4 server lock code to use last_byte_offset\nto compute the last byte covered by the lock.  Check for overflow\nso that the last byte is set to NFS4_MAX_UINT64 if offset + len\nwraps around.\n\nAlso, use NFS4_MAX_UINT64 for ~(u64)0 where appropriate.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4e65ebf08951326709817e654c149d0a94982e01",
      "tree": "46364fb84a91985294ffa47945f0a422137e8497",
      "parents": [
        "df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Mon Dec 15 19:41:31 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:48 2009 -0500"
      },
      "message": "nfsd: delete wrong file comment from nfsd/nfs4xdr.c\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7",
      "tree": "0e51b83a1d83dfb3e7e389fdad8762e338656f85",
      "parents": [
        "0407717d8587f60003f4904bff27650cd836c00c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:41:10 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:46 2009 -0500"
      },
      "message": "nfsd: git rid of nfs4_cb_null_ops declaration\n\nThere\u0027s no use for nfs4_cb_null_ops\u0027s declaration in fs/nfsd/nfs4callback.c\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0407717d8587f60003f4904bff27650cd836c00c",
      "tree": "5e06a8ecf42e10e44d05d4b4036d17efec1a9486",
      "parents": [
        "b7aeda40d3010666d2c024c80557b6aa92a1a1ad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:40:49 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:45 2009 -0500"
      },
      "message": "nfsd: dprint each op status in nfsd4_proc_compound\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7aeda40d3010666d2c024c80557b6aa92a1a1ad",
      "tree": "a869fbe934b41c4122f906f7fd70ec3009b1f6d7",
      "parents": [
        "30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb"
      ],
      "author": {
        "name": "Dean Hildebrand",
        "email": "dhildeb@us.ibm.com",
        "time": "Mon Dec 15 19:40:15 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:45 2009 -0500"
      },
      "message": "nfsd: add etoosmall to nfserrno\n\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb",
      "tree": "72d86ee99d280eebe611cf6e38a26809d75b7a52",
      "parents": [
        "24c3767e41a6a59d32bb45abe899eb194e6bf1b8"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "SteveD@redhat.com",
        "time": "Wed Jan 07 16:54:30 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:23:07 2009 -0500"
      },
      "message": "NFSD: FIDs need to take precedence over UUIDs\n\nWhen determining the fsid_type in fh_compose(), the setting of the FID\nvia fsid\u003d export option needs to take precedence over using the UUID\ndevice id.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "24c3767e41a6a59d32bb45abe899eb194e6bf1b8",
      "tree": "bf44f3f90e51b8cbbae89e9740cce9d56e8eb515",
      "parents": [
        "22945e4a1c7454c97f5d8aee1ef526c83fef3223"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:30:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:18:42 2009 -0500"
      },
      "message": "SUNRPC: The sunrpc server code should not be used by out-of-tree modules\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "22945e4a1c7454c97f5d8aee1ef526c83fef3223",
      "tree": "f082143420da55b97c98a1534336b0cf03412e0b",
      "parents": [
        "9a8d248e2d2e9c880ac4561f27fea5dc200655bd"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Jan 05 15:21:19 2009 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:08:46 2009 -0500"
      },
      "message": "svc: Clean up deferred requests on transport destruction\n\nA race between svc_revisit and svc_delete_xprt can result in\ndeferred requests holding references on a transport that can never be\nrecovered because dead transports are not enqueued for subsequent\nprocessing.\n\nCheck for XPT_DEAD in revisit to clean up completing deferrals on a dead\ntransport and sweep a transport\u0027s deferred queue to do the same for queued\nbut unprocessed deferrals.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c6906a2cb7cc318a56f6c335a2c4a3b004dd9e04",
      "tree": "387eb7a58f56e5138040831fe931ff067cebb947",
      "parents": [
        "8903709b054a8dafe4e8c6d9a6444034d7aba36f",
        "baa91878ab9b0f1cdb7ab03b53ee2e4389245644"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 13:11:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 13:11:28 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:\n  kbuild: fix typos (s/bin_shipped/bin.o_shipped/) in Documentation\n  kbuild: add a symlink to the source for separate objdirs\n  kconfig: add script to manipulate .config files on the command line\n  kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope\n  bootchart: improve output based on Dave Jones\u0027 feedback\n  fix modules_install via NFS\n  qnx: include \u003clinux/types.h\u003e for definitions of __[us]{8,16,32,64} types\n"
    },
    {
      "commit": "baa91878ab9b0f1cdb7ab03b53ee2e4389245644",
      "tree": "111ab63a7243ca12b6c0e77097d4cb80cd7dafd5",
      "parents": [
        "399b835be30e8fdec6705fa9803f9fb8822c52ae"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Tue Jan 06 15:12:27 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:23 2009 +0100"
      },
      "message": "kbuild: fix typos (s/bin_shipped/bin.o_shipped/) in Documentation\n\nThe text always mentions ...bin.o_shipped, just the example makefiles\nactually use ...bin_shipped. It was corrected in one place some time\nago, these ones seem to have been forgotten.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "399b835be30e8fdec6705fa9803f9fb8822c52ae",
      "tree": "bc35ff8c3927d3c8e40bf50e6c164ae28ab465c6",
      "parents": [
        "8e54701ea85b0ab0971637825a628f5aa2b678a4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Sat Jan 03 03:21:42 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:22 2009 +0100"
      },
      "message": "kbuild: add a symlink to the source for separate objdirs\n\nI have some scripts which need to map back to the source directory\nfrom an objdir. This was so far done by parsing the Makefile,\nbut the Makefile format changes occasionally and breaks my scripts\nthen.\n\nTo make this more reliable add a \"source\" symlink back.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "8e54701ea85b0ab0971637825a628f5aa2b678a4",
      "tree": "5763cf394b3a2f096fef6b2330a3dc19d63bcc44",
      "parents": [
        "4f628248a578585472e19e4cba2c604643af8c6c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Sat Jan 03 03:21:41 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:22 2009 +0100"
      },
      "message": "kconfig: add script to manipulate .config files on the command line\n\nI often change single options in .config files. Instead of using\nan editor or one of the frontends it\u0027s convenient to do this from\nthe command line. It\u0027s also useful to do from automated build scripts\nwhen building different variants from a base config file.\n\nI extracted most of the CONFIG manipulation code from one of my\nbuild scripts into a new shell script scripts/config\n\nThe script is not integrated with the normal Kconfig machinery\nand doesn\u0027t do any checking against Kconfig files, but just manipulates\nthat text format. This is always done at make time anyways.\n\nI believe this script would be a useful standard addition for scripts/*\n\nSample usage:\n\n./scripts/config --disable smp\nDisable SMP in .config file\n\n./scripts/config --file otherdir/.config --module e1000e\nEnable E1000E as module in otherdir/.config\n\n./scripts/config --state smp\ny\nCheck state of config option CONFIG_SMP\n\nAfter merging into git please make scripts/config executable\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "4f628248a578585472e19e4cba2c604643af8c6c",
      "tree": "c981ad2175b2016aa417230926960b9d7c351021",
      "parents": [
        "40c8c85a47552bd792b0ad49ddcc45ec18369134"
      ],
      "author": {
        "name": "Jike Song",
        "email": "albcamus@gmail.com",
        "time": "Mon Jan 05 14:57:03 2009 +0800"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:21 2009 +0100"
      },
      "message": "kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope\n\nThis patch reintroduce the ALLSOURCE_ARCHS support for tags/TAGS/\ncscope targets. The Kbuild previously has this feature, but after\nmoving the targets into scripts/tags.sh, ALLSOURCE_ARCHS disappears.\n\nIt\u0027s something like this:\n\n\t$ make ALLSOURCE_ARCHS\u003d\"x86 mips arm\" tags cscope\n\nSigned-off-by: Jike Song \u003calbcamus@gmail.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "40c8c85a47552bd792b0ad49ddcc45ec18369134",
      "tree": "539c9b60be5d526fd8517ce37d6cfcef41c1d2a5",
      "parents": [
        "8b249b6856f16f09b0e5b79ce5f4d435e439b9d6"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Jan 04 07:16:38 2009 -0800"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:21 2009 +0100"
      },
      "message": "bootchart: improve output based on Dave Jones\u0027 feedback\n\nDave Jones, in his blog, had some feedback about the bootchart script:\nPrimarily his complaint was that shorter delays weren\u0027t visualized.\n\nThe reason for that was that too small delays will have their labels\nmixed up in the graph in an unreadable mess.\n\nThis patch has a fix for this; for one, it makes the output wider,\nso more will fit.\nThe second part is that smaller delays are now shown with a\nmuch smaller font for the label; while this isn\u0027t per se\nreadable at a 1:1 zoom, at least you can zoom in with most SVG\nviewing applications and see what it is you are looking at.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "8b249b6856f16f09b0e5b79ce5f4d435e439b9d6",
      "tree": "d7915dd672c03ff04faef8fc50b741cef01f1a86",
      "parents": [
        "8d1a0a13edecfdcb47fee3238ed4a2af2a2867f9"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 20:52:43 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:20 2009 +0100"
      },
      "message": "fix modules_install via NFS\n\nRafael reported:\n\nI get the following error from \u0027make modules_install\u0027 on my test boxes:\n\n  HOSTCC  firmware/ihex2fw\n/home/rafael/src/linux-2.6/firmware/ihex2fw.c:268: fatal error: opening dependency file firmware/.ihex2fw.d: Read-only file system\ncompilation terminated.\nmake[3]: *** [firmware/ihex2fw] Error 1\nmake[2]: *** [_modinst_post] Error 2\nmake[1]: *** [sub-make] Error 2\nmake: *** [all] Error 2\n\nwhere the configuration is that the kernel is compiled on a build box\nwith \u0027make O\u003d\u003cdestdir\u003e -j5\u0027 and then \u003cdestdir\u003e is mounted over NFS read-only by\neach test box (full path to this directory is the same on the build box and on\nthe test boxes).  Then, I cd into \u003cdestdir\u003e, run \u0027make modules_install\u0027 and get\nthe error above.\n\nThe issue turns out to be that we when we install firmware pick\nup the list of firmware blobs from firmware/Makefile.\nAnd this triggers the Makefile rules to update ihex2fw.\n\nThere were two solutions for this issue:\n1) Move the list of firmware blobs to a separate file\n2) Avoid ihex2fw rebuild by moving it to scripts\n\nAs I seriously beleive that the list of firmware blobs should be\ndone in a fundamental different way solution 2) was selected.\n\nReported-and-tested-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "8d1a0a13edecfdcb47fee3238ed4a2af2a2867f9",
      "tree": "f3ca0d2af8ec1e54a7d114c7dc2f177ae635b774",
      "parents": [
        "ede6f5aea054d3fb67c78857f7abdee602302043"
      ],
      "author": {
        "name": "Anders Larsen",
        "email": "al@alarsen.net",
        "time": "Thu Jan 01 17:17:35 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:20 2009 +0100"
      },
      "message": "qnx: include \u003clinux/types.h\u003e for definitions of __[us]{8,16,32,64} types\n\nOn 2008-12-30 11:32:33, Sam Ravnborg wrote:\n\u003e We have added a few additional validation checks of the userspace headers:\n...\n\u003e 3) We should include \u003clinux/types.h\u003e and not \u003casm/types.h\u003e\n\u003e 4) If we use a __[us]{8,16,32,64} type then we must include \u003clinux/types.h\u003e\n\nSatisfy these requirements for the linux/qnx*.h headers.\n\nSigned-off-by: Anders Larsen \u003cal@alarsen.net\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "9a8d248e2d2e9c880ac4561f27fea5dc200655bd",
      "tree": "9033bfd8c10f7077d62095d5295e16acac9a4ab2",
      "parents": [
        "2779e3ae39645515cb6c1126634f47c28c9e7190"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 13:37:03 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:45 2009 -0500"
      },
      "message": "nfsd: fix double-locks of directory mutex\n\nA number of nfsd operations depend on the i_mutex to cover more code\nthan just the fsync, so the approach of 4c728ef583b3d8 \"add a vfs_fsync\nhelper\" doesn\u0027t work for nfsd.  Revert the parts of those patches that\ntouch nfsd.\n\nNote: we can\u0027t, however, remove the logic from vfs_fsync that was needed\nonly for the special case of nfsd, because a vfs_fsync(NULL,...) call\ncan still result indirectly from a stackable filesystem that was called\nby nfsd.  (Thanks to Christoph Hellwig for pointing this out.)\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2779e3ae39645515cb6c1126634f47c28c9e7190",
      "tree": "e7904837510ba41552a11ebd21caaaf336281462",
      "parents": [
        "f05ef8db1abe68e3f6fc272efee51bc54ce528c5"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon Jan 05 11:12:52 2009 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:45 2009 -0500"
      },
      "message": "svc: Move kfree of deferral record to common code\n\nThe rqstp structure has a pointer to a svc_deferred_req record\nthat is allocated when requests are deferred. This record is common\nto all transports and can be freed in common code.\n\nMove the kfree of the rq_deferred to the common svc_xprt_release\nfunction.\n\nThis also fixes a memory leak in the RDMA transport which does not\nkfree the dr structure in it\u0027s version of the xpo_release_rqst callback.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f05ef8db1abe68e3f6fc272efee51bc54ce528c5",
      "tree": "8e74dfecce221e51ec3631c66c0e4f8ce589b566",
      "parents": [
        "0dba7c2a9ed3d4a1e58f5d94fffa9f44dbe012e6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jan 05 17:19:37 2009 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "CRED: Fix NFSD regression\n\nFix a regression in NFSD\u0027s permission checking introduced by the credentials\npatches.  There are two parts to the problem, both in nfsd_setuser():\n\n (1) The return value of set_groups() is -ve if in error, not 0, and should be\n     checked appropriately.  0 indicates success.\n\n (2) The UID to use for fs accesses is in new-\u003efsuid, not new-\u003euid (which is\n     0).  This causes CAP_DAC_OVERRIDE to always be set, rather than being\n     cleared if the UID is anything other than 0 after squashing.\n\nReported-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0dba7c2a9ed3d4a1e58f5d94fffa9f44dbe012e6",
      "tree": "758e6f346d7aa5d4b987f3fa337de1864b61682f",
      "parents": [
        "d3fe5ea7cf815c037c90b1f1464ffc1ab5e8601b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Dec 31 16:06:11 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "NLM: Clean up flow of control in make_socks() function\n\nClean up: Use Bruce\u0027s preferred control flow style in make_socks().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d3fe5ea7cf815c037c90b1f1464ffc1ab5e8601b",
      "tree": "a2d8724d2c730dc1837aafc623f2139220884871",
      "parents": [
        "55ef1274dddd4de387c54d110e354ffbb6cdc706"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Dec 31 16:06:04 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "NLM: Refactor make_socks() function\n\nClean up: extract common logic in NLM\u0027s make_socks() function\ninto a helper.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "55ef1274dddd4de387c54d110e354ffbb6cdc706",
      "tree": "27d67f6c6929a55239a18d532850807aeaf1b6c4",
      "parents": [
        "69b6ba3712b796a66595cfaf0a5ab4dfe1cf964a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Dec 20 11:58:38 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:27 2009 -0500"
      },
      "message": "nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT\n\nSince nfsv4 allows LOCKT without an open, but the -\u003elock() method is a\nfile method, we fake up a struct file in the nfsv4 code with just the\nfields we need initialized.  But we forgot to initialize the file\noperations, with the result that LOCKT never results in a call to the\nfilesystem\u0027s -\u003elock() method (if it exists).\n\nWe could just add that one more initialization.  But this hack of faking\nup a struct file with only some fields initialized seems the kind of\nthing that might cause more problems in the future.  We should either do\nan open and get a real struct file, or make lock-testing an inode (not a\nfile) method.\n\nThis patch does the former.\n\nReported-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nTested-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8903709b054a8dafe4e8c6d9a6444034d7aba36f",
      "tree": "dac4ab43946fbdc2f0c104a9be5c5685098b9543",
      "parents": [
        "daf4b805c1711f730d42a5dfc5a65ee05b3c9ecf"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jan 07 12:19:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:22:04 2009 -0800"
      },
      "message": "xtensa: introduce swab.h\n\nFixes compile breakage as linux/byteorder.h was removed.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "daf4b805c1711f730d42a5dfc5a65ee05b3c9ecf",
      "tree": "1d875a9af6ecdb38f50a7dd12493f451e692de08",
      "parents": [
        "a0c9f240a992c4c2b6ac40324ece27475cf3b71a",
        "c8a12d45d543905a2718fccafd612edbd73a1341"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:05:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:05:32 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: reorder struct fw_card for better cache efficiency\n  firewire: fix resetting of bus manager retry counter\n  firewire: improve refcounting of fw_card\n  firewire: typo in comment\n  firewire: fix small memory leak at module removal\n  firewire: fw-sbp2: remove unnecessary locking\n  ieee1934: dv1394: interrupt enabling/disabling broken on big-endian\n  ieee1394: dv1394: annotate frame input/output structs as little endian\n  ieee1394: eth1394: trivial sparse annotations\n  ieee1394: mark bus_info_data as a __be32 array\n  ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro\n  ieee1394: pcilynx: trivial endian annotation\n  ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets\n  ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC\n  ieee1394: ohci1394: flush MMIO writes before delay in initialization\n  ieee1394: ohci1394: pass error codes from request_irq through\n  ieee1394: ohci1394: don\u0027t leave interrupts enabled during suspend/resume\n  ieee1394: mark all hpsb_address_ops instances as const\n  ieee1394: replace a GFP_ATOMIC by GFP_KERNEL allocation\n"
    },
    {
      "commit": "a0c9f240a992c4c2b6ac40324ece27475cf3b71a",
      "tree": "e42e5231d0e551b1b1f726c06c2ca27c510efb7a",
      "parents": [
        "5bb47b9ff3d16d40f8d45380b373497a545fa280",
        "230e40fbda242544389a5428a2efac568178ddfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:01:06 2009 -0800"
      },
      "message": "Merge branch \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc\n\n* \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc:\n  proc: remove write-only variable in proc_pident_lookup()\n  proc: fix sparse warning\n  proc: add /proc/*/stack\n  proc: remove \u0027##\u0027 usage\n  proc: remove useless WARN_ONs\n  proc: stop using BKL\n"
    },
    {
      "commit": "5bb47b9ff3d16d40f8d45380b373497a545fa280",
      "tree": "e13dd34395473342dc75eff5cbaf5b1ea753631c",
      "parents": [
        "2f2408a88cf8fa43febfd7fb5783e61b2937b0f9",
        "06af15e086e39a5a2a2413973a64af8e10122f28"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:00:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:00:25 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (171 commits)\n  Blackfin arch: fix bug - BF527 0.2 silicon has different CPUID (DSPID) value\n  Blackfin arch: Enlarge flash partition for kenel for bf533/bf537 boards\n  Blackfin arch: fix bug: kernel crash when enable SDIO host driver\n  Blackfin arch: Print FP at level KERN_NOTICE\n  Blackfin arch: drop ad73311 test code\n  Blackfin arch: update board default configs\n  Blackfin arch: Set PB4 as the default irq for bf548 board v1.4+.\n  Blackfin arch: fix typo in early printk bit size processing\n  Blackfin arch: enable reprogram cclk and sclk for bf518f-ezbrd\n  Blackfin arch: add SDIO host driver platform data\n  Blackfin arch: fix bug - kernel stops at initial console\n  Blackfin arch: fix bug - kernel crash after config IP for ethernet port\n  Blackfin arch: add sdh support for bf518f-ezbrd\n  Blackfin arch: fix bug - kernel detects BF532 incorrectly\n  Blackfin arch: add () to avoid warnings from gcc\n  Blackfin arch: change HWTRACE Kconfig and set it on default\n  Blackfin arch: Clean oprofile build path for blackfin\n  Blackfin arch: remove hardware PM code, oprofile not use it\n  Blackfin arch: rewrite get_sclk()/get_vco()\n  Blackfin arch: cleanup and unify the ins functions\n  ...\n"
    },
    {
      "commit": "2f2408a88cf8fa43febfd7fb5783e61b2937b0f9",
      "tree": "4f49e5113ec8fe0554e1a8766b25d21f6fbc5a69",
      "parents": [
        "fa7b906e7fef53b6c9eb3ecb8164b0a69e9e1a68",
        "77fa49d94a75b5f9702c70b4fbe27b08b21317b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:59:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:59:51 2009 -0800"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027hwmon-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6: (29 commits)\n  hwmon: Fix various typos\n  hwmon: Check for ACPI resource conflicts\n  hwmon: (lm70) Add TI TMP121 support\n  hwmon: (lm70) Code streamlining and cleanup\n  hwmon: Deprecate the fscher and fscpos drivers\n  hwmon: (fschmd) Add watchdog support\n  hwmon: (fschmd) Cleanups for watchdog support\n  hwmon: (i5k_amb) Load automatically on all 5000/5400 chipsets\n  hwmon: (it87) Add support for the ITE IT8720F\n  hwmon: Don\u0027t overuse I2C_CLIENT_MODULE_PARM\n  hwmon: Add LTC4245 driver\n  hwmon: (f71882fg) Fix fan_to/from_reg prototypes\n  hwmon: (f71882fg) Printout fan modes\n  hwmon: (f71882fg) Add documentation\n  hwmon: (f71882fg) Fix auto_channels_temp temp numbering with f8000\n  hwmon: (f71882fg) Add missing pwm3 attr for f71862fg\n  hwmon: (f71882fg) Add F8000 support\n  hwmon: (f71882fg) Remove the fan_mode module option\n  hwmon: (f71882fg) Separate max and crit alarm and beep\n  hwmon: (f71882fg) Check for hwmon powerdown state\n  ...\n"
    },
    {
      "commit": "fa7b906e7fef53b6c9eb3ecb8164b0a69e9e1a68",
      "tree": "8fa745403e1506c211d00ce787d71ee647d65ea2",
      "parents": [
        "08249903ea233a79b4167395f2fb79ccd1fb5f94",
        "66c7acf61dc6b27954bb9ceb8617d447ac03734a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:59:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:59:27 2009 -0800"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6:\n  i2c: Use snprintf to set adapter names\n  Input: apanel - convert to new i2c binding\n  i2c: Drop I2C_CLASS_CAM_DIGITAL\n  i2c: Drop I2C_CLASS_CAM_ANALOG and I2C_CLASS_SOUND\n  i2c: Drop I2C_CLASS_ALL\n  i2c: Get rid of remaining bus_id access\n  i2c: Replace bus_id with dev_name(), dev_set_name()\n"
    },
    {
      "commit": "08249903ea233a79b4167395f2fb79ccd1fb5f94",
      "tree": "13285b46a495b578f721bb83024dae579466e089",
      "parents": [
        "0d6326a100d7aec588d7c1da9ad77ca7cc7c5b71",
        "183b3af66eb71b5337be10d82dd177a8e3f414e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:58:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:58:30 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:\n  avr32: Move syscalls.h under arch/avr32/include/asm/\n  avr32: Define DIE_OOPS\n  avr32: Remove DMATEST from defconfigs\n  arch/avr32: Eliminate NULL test and memset after alloc_bootmem\n  avr32: data param to at32_add_device_mci() must be non-NULL\n  atmel-mci: move atmel-mci.h file to include/linux\n  avr32: Hammerhead board support\n  avr32: Allow reserving multiple pins at once\n  favr-32: Remove deprecated call\n  MIMC200: Remove deprecated call\n  avr: struct device - replace bus_id with dev_name(), dev_set_name()\n  avr32: Introducing asm/syscalls.h\n"
    },
    {
      "commit": "0d6326a100d7aec588d7c1da9ad77ca7cc7c5b71",
      "tree": "39d62df5761bde66d010ea68a76081de938b186c",
      "parents": [
        "52fefcec97c25b15887e6a9a885ca54e7f7c0928",
        "c8f554b947e80a90e1b43bbd4fd26c27765b5f96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:58:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:58:06 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Fix typo in gfs_page_mkwrite()\n  GFS2: LSF and LBD are now one and the same\n  GFS2: Set GFP_NOFS when allocating page on write\n"
    },
    {
      "commit": "52fefcec97c25b15887e6a9a885ca54e7f7c0928",
      "tree": "4898112a7fb30c20a9da3aefe9fdc7fdebda57a6",
      "parents": [
        "a0e280e0f33f6c859a235fb69a875ed8f3420388",
        "5fee325e7d2bcbebf1cb38b4ff3a7aa3744c43e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:56:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:56:29 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6:\n  xtensa: Update platform files to reflect new location of the header files.\n  xtensa: switch to packed struct unaligned access implementation\n  xtensa: Add xt2000 support files.\n  xtensa: move headers files to arch/xtensa/include\n  xtensa: use the new byteorder headers\n"
    },
    {
      "commit": "a0e280e0f33f6c859a235fb69a875ed8f3420388",
      "tree": "c41b0ad22c4195bef2bfdd36437e20d232b9586b",
      "parents": [
        "30aafdba6f78619274a977d67283a681bedbcbbd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 07 16:19:46 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:36:14 2009 -0800"
      },
      "message": "stop_machine/cpu hotplug: fix disable_nonboot_cpus\n\ndisable_nonboot_cpus calls _cpu_down. But _cpu_down requires that the\ncaller already created the stop_machine workqueue (like cpu_down does).\nOtherwise a call to stop_machine will lead to accesses to random memory\nregions.\n\nWhen introducing this new interface (9ea09af3bd3090e8349ca2899ca2011bd94cda85\n\"stop_machine: introduce stop_machine_create/destroy\") I missed the second\ncall site of _cpu_down.\nSo add the missing stop_machine_create/destroy calls to disable_nonboot_cpus\nas well.\n\nFixes suspend-to-ram/disk and also this bug:\n\n[  286.547348] BUG: unable to handle kernel paging request at 6b6b6b6b\n[  286.548940] IP: [\u003cc0150ca4\u003e] __stop_machine+0x88/0xe3\n[  286.550598] Oops: 0002 [#1] SMP\n[  286.560580] Pid: 3273, comm: halt Not tainted (2.6.28-06127-g238c6d5\n[  286.560580] EIP: is at __stop_machine+0x88/0xe3\n[  286.560580] Process halt (pid: 3273, ti\u003df1a28000 task\u003df4530f30\n[  286.560580] Call Trace:\n[  286.560580]  [\u003cc03d04e4\u003e] ? _cpu_down+0x10f/0x234\n[  286.560580]  [\u003cc012a57e\u003e] ? disable_nonboot_cpus+0x58/0xdc\n[  286.560580]  [\u003cc01360c0\u003e] ? kernel_poweroff+0x22/0x39\n[  286.560580]  [\u003cc0136301\u003e] ? sys_reboot+0xde/0x14c\n[  286.560580]  [\u003cc01331b2\u003e] ? complete_signal+0x179/0x191\n[  286.560580]  [\u003cc0133396\u003e] ? send_signal+0x1cc/0x1e1\n[  286.560580]  [\u003cc03de418\u003e] ? _spin_unlock_irqrestore+0x2d/0x3c\n[  286.560580]  [\u003cc0133b65\u003e] ? group_send_signal_info+0x58/0x61\n[  286.560580]  [\u003cc0133b9e\u003e] ? kill_pid_info+0x30/0x3a\n[  286.560580]  [\u003cc0133d49\u003e] ? sys_kill+0x75/0x13a\n[  286.560580]  [\u003cc01a06cb\u003e] ? mntput_no_expire+ox1f/0x101\n[  286.560580]  [\u003cc019b3b3\u003e] ? dput+0x1e/0x105\n[  286.560580]  [\u003cc018ef87\u003e] ?  __fput+0x150/0x158\n[  286.560580]  [\u003cc0157abf\u003e] ? audit_syscall_entry+0x137/0x159\n[  286.560580]  [\u003cc010329f\u003e] ? sysenter_do_call+0x12/0x34\n\nReported-and-tested-by: \"Justin P. Mattock\" \u003cjustinmattock@gmail.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "30aafdba6f78619274a977d67283a681bedbcbbd"
}
