)]}'
{
  "log": [
    {
      "commit": "5a67e4c5b6faaccf31740a07d93704166405d880",
      "tree": "a302ac0dae12f3e430ff485242bc0a85ddfbc00d",
      "parents": [
        "39f4885c56073ecafd482d7e10dd7b17900fa312"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: use hotplug version of cpu notifier in appropriate places\n\nMake use the of newly defined hotplug version of cpu_notifier functionality\nwherever appropriate.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05f225dc8729d3e5703b8c34e750fdca67bcefe6",
      "tree": "d0ac17e47cafb73e38962ded785301aa01dab020",
      "parents": [
        "0ca06664902d82ff0cb962cc4a72f63ab4bf4991"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Tue Jun 27 02:53:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:39 2006 -0700"
      },
      "message": "[PATCH] ufs: ufs_read_inode cleanup\n\nAdd missed ufsi-\u003ei_dir_start_lookup initialization in ufs_read_inode in\nUFS2 case.  Also it cleans ufs_read_inode function to prevent such kind of\nsituation in the future: it move depend on UFS type parts of code into\nseparate functions and leaves in ufs_read_inode only generic code.  It\ncleans code and avoids duplication.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34af946a22724c4e2b204957f2b24b22a0fb121c",
      "tree": "7881dcbd0a698257c126198cdb6d97d4e45ee51e",
      "parents": [
        "b6cd0b772dcc5dc9b4c03d53946474dee399fa72"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:53:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:39 2006 -0700"
      },
      "message": "[PATCH] spin/rwlock init cleanups\n\nlocking init cleanups:\n\n - convert \" \u003d SPIN_LOCK_UNLOCKED\" to spin_lock_init() or DEFINE_SPINLOCK()\n - convert rwlocks in a similar manner\n\nthis patch was generated automatically.\n\nMotivation:\n\n - cleanliness\n - lockdep needs control of lock initialization, which the open-coded\n   variants do not give\n - it\u0027s also useful for -rt and for lock debugging in general\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6cd0b772dcc5dc9b4c03d53946474dee399fa72",
      "tree": "09ef125f7595f73ba256177f894d6c341074ff5b",
      "parents": [
        "a7807a32bbb027ab9955b96734fdc7f1e6497a9f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jun 27 02:53:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] fs/buffer.c: cleanups\n\n- add a proper prototype for the following global function:\n  - buffer_init()\n\n- make the following needlessly global function static:\n  - end_buffer_async_write()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9cf55285e87ac423c45d9efca750d3f50234d10",
      "tree": "d46f3e90fbb38115c25b3315f6280ad65f83a14f",
      "parents": [
        "e6e5494cb23d1933735ee47cc674ffe1c4afed6f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Jun 27 02:53:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] add poison.h and patch primary users\n\nLocalize poison values into one header file for better documentation and\neasier/quicker debugging and so that the same values won\u0027t be used for\nmultiple purposes.\n\nUse these constants in core arch., mm, driver, and fs code.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6e5494cb23d1933735ee47cc674ffe1c4afed6f",
      "tree": "c8945bb3ae5bec38693d801fb589d22d48d6f8eb",
      "parents": [
        "d5fb34261dcd32c9cb3b28121fdc46308db513a1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:53:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] vdso: randomize the i386 vDSO by moving it into a vma\n\nMove the i386 VDSO down into a vma and thus randomize it.\n\nBesides the security implications, this feature also helps debuggers, which\ncan COW a vma-backed VDSO just like a normal DSO and can thus do\nsingle-stepping and other debugging features.\n\nIt\u0027s good for hypervisors (Xen, VMWare) too, which typically live in the same\nhigh-mapped address space as the VDSO, hence whenever the VDSO is used, they\nget lots of guest pagefaults and have to fix such guest accesses up - which\nslows things down instead of speeding things up (the primary purpose of the\nVDSO).\n\nThere\u0027s a new CONFIG_COMPAT_VDSO (default\u003dy) option, which provides support\nfor older glibcs that still rely on a prelinked high-mapped VDSO.  Newer\ndistributions (using glibc 2.3.3 or later) can turn this option off.  Turning\nit off is also recommended for security reasons: attackers cannot use the\npredictable high-mapped VDSO page as syscall trampoline anymore.\n\nThere is a new vdso\u003d[0|1] boot option as well, and a runtime\n/proc/sys/vm/vdso_enabled sysctl switch, that allows the VDSO to be turned\non/off.\n\n(This version of the VDSO-randomization patch also has working ELF\ncoredumping, the previous patch crashed in the coredumping code.)\n\nThis code is a combined work of the exec-shield VDSO randomization\ncode and Gerd Hoffmann\u0027s hypervisor-centric VDSO patch. Rusty Russell\nstarted this patch and i completed it.\n\n[akpm@osdl.org: cleanups]\n[akpm@osdl.org: compile fix]\n[akpm@osdl.org: compile fix 2]\n[akpm@osdl.org: compile fix 3]\n[akpm@osdl.org: revernt MAXMEM change]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "266bee88699ddbde42ab303bbc426a105cc49809",
      "tree": "2d2b57f869321e177caf173af8d43b5d88c4a79d",
      "parents": [
        "e7374e48009a15a680d53bd1f9828b9b79a8aac9"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Jun 27 12:59:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 14:07:19 2006 -0700"
      },
      "message": "[PATCH] fix static linking of NFS\n\nBuilds on ARM report link problems with common configurations like\nstatically linked NFS (for nfsroot).  The symptom is that __init\nsection code references __exit section code; that won\u0027t work since\nthe exit sections are discarded (since they can never be called).\n\nThe best fix for these particular cases would be an \"__init_or_exit\"\nsection annotation.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3fb5a9891dbb553dda96783dbc0dc4e77cbb2529",
      "tree": "2635f3567c9e22c51e159926a7bc96ed7cf04fb5",
      "parents": [
        "43dee336c903fae15783b90983dfdedd2c7ffefc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue May 16 17:26:41 2006 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:21 2006 -0700"
      },
      "message": "[PATCH] fs/ocfs2/dlm/: cleanups\n\nThis patch #if 0\u0027s the no longer used dlm_dump_lock_resources().\n\nSince this makes dlmdebug.h empty, this patch also removes this header.\n\nAdditionally, the needlessly global dlm_is_node_recovered() is made\nstatic.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "43dee336c903fae15783b90983dfdedd2c7ffefc",
      "tree": "75a39e684c02811046bbaf9851f7c5695396a9d2",
      "parents": [
        "8a9343fa24d8d3fcb189bed2b7afcf4b8a8c1c8d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon May 01 14:56:57 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:20 2006 -0700"
      },
      "message": "ocfs2: fix compiler warnings in dlm_convert_lock_handler()\n\nWe need to cast to unsigned long long.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8a9343fa24d8d3fcb189bed2b7afcf4b8a8c1c8d",
      "tree": "a800d299e2324ce21d6ae150cedf33d79f578304",
      "parents": [
        "0032abd674a606c3cf2d9961c8119f5d72c411d0"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon May 01 14:55:10 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:19 2006 -0700"
      },
      "message": "ocfs2: dlm_print_one_mle() needs to be defined\n\nFixes compile breakage.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0032abd674a606c3cf2d9961c8119f5d72c411d0",
      "tree": "9e13077afdc811dd45d707df3e8256259b97aaa2",
      "parents": [
        "3156d267016627fe427a6b0d4ed8a9678557e91e"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:39:57 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:19 2006 -0700"
      },
      "message": "ocfs2: remove whitespace in dlmunlock.c\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3156d267016627fe427a6b0d4ed8a9678557e91e",
      "tree": "fec0545da2e9593d1b5a2db4dd0d7360203cee4d",
      "parents": [
        "495ac96e638cb0ad33baa7113531d742bfb328d4"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:39:29 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:18 2006 -0700"
      },
      "message": "ocfs2: move dlm work to a private work queue\n\nThe work that is done can block for long periods of time and so is not\nappropriate for keventd.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "495ac96e638cb0ad33baa7113531d742bfb328d4",
      "tree": "0a8289606d1bbe7b7aff552d61a7ba24216c1110",
      "parents": [
        "3b3b84a892d37ba336391e411eb5f8b013b9a669"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:34:08 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:17 2006 -0700"
      },
      "message": "ocfs2: fix incorrect error returns\n\nUse DLM_REJECTED instead of DLM_RECOVERING.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3b3b84a892d37ba336391e411eb5f8b013b9a669",
      "tree": "8766af23fa8f40003f41cd34eda5c5e3641f279c",
      "parents": [
        "56a7c104bc91b4a5f970d7372ebb04eebc633c68"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:31:37 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:16 2006 -0700"
      },
      "message": "ocfs2: tune down some noisy messages during dlm recovery\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "56a7c104bc91b4a5f970d7372ebb04eebc633c68",
      "tree": "e423c8250cf78af4d29fcdbfdd56a43ff4fea191",
      "parents": [
        "44a7f1d063bbe45773353903f36d9d88fb73d82a"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:30:39 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:15 2006 -0700"
      },
      "message": "ocfs2: display message before waiting for recovery to complete\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "44a7f1d063bbe45773353903f36d9d88fb73d82a",
      "tree": "e92f4508054957263eed55e0cf8621174888f18a",
      "parents": [
        "b220532a71adf65d45c3aa8a284bfa7ec57957bd"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:29:59 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:15 2006 -0700"
      },
      "message": "ocfs2: mlog in dlm_convert_lock_handler() should be ML_ERROR\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b220532a71adf65d45c3aa8a284bfa7ec57957bd",
      "tree": "c9aa6167aed4e2e7357e467f7b91957b5c114c53",
      "parents": [
        "f85cd47a5825b77a146bad6870b2ddcf08415c13"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:29:28 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:14 2006 -0700"
      },
      "message": "ocfs2: retry operations when a lock is marked in recovery\n\nBefore checking for a nonexistent lock, make sure the lockres is not marked\nRECOVERING. The caller will just retry and the state should be fixed up when\nrecovery completes.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "f85cd47a5825b77a146bad6870b2ddcf08415c13",
      "tree": "ac27e5c432e30d296769071b5f7c88b9af970593",
      "parents": [
        "ad8100e0d20e0123def9f83c040b68c96c8638f0"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:27:41 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:13 2006 -0700"
      },
      "message": "ocfs2: use cond_resched() in dlm_thread()\n\nyield() does not yield.  cond_resched() does.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ad8100e0d20e0123def9f83c040b68c96c8638f0",
      "tree": "67488f9e1ad5cb9dc0eee3b59df760ddf8f1e0ff",
      "parents": [
        "b7084ab538ac2bd71ce494cf1cbbea9fe9db2c07"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 14:25:21 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:12 2006 -0700"
      },
      "message": "ocfs2: use GFP_NOFS in some dlm operations\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b7084ab538ac2bd71ce494cf1cbbea9fe9db2c07",
      "tree": "b1d19839e9e7795fb1d86270c90008058e8860f7",
      "parents": [
        "c27069e6cfa242a3b84eb3442934c6fe51ee9066"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:54:07 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:12 2006 -0700"
      },
      "message": "ocfs2: wait for recovery when starting lock mastery\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c27069e6cfa242a3b84eb3442934c6fe51ee9066",
      "tree": "87d7613528c8df4c265ffab09f3d911cb793529c",
      "parents": [
        "67a187412baa84dfff2d423961d86663b7fc7d3c"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:51:49 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:11 2006 -0700"
      },
      "message": "ocfs2: continue recovery when a dead node is encountered\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "67a187412baa84dfff2d423961d86663b7fc7d3c",
      "tree": "bd1b0b6f2a0b90e830ceb831a7d83896ef765c8a",
      "parents": [
        "6a41321121ee2af33b8ac55c87657603df480b25"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:50:12 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:10 2006 -0700"
      },
      "message": "ocfs2: remove unneccesary spin_unlock() in dlm_remaster_locks()\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "6a41321121ee2af33b8ac55c87657603df480b25",
      "tree": "648abdd1bf2ede54a3e9759bd4b989587381dcc4",
      "parents": [
        "c8df412e1c746dd21094966d04b3a79aad0f4d08"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:49:20 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:09 2006 -0700"
      },
      "message": "ocfs2: dlm_remaster_locks() should never exit without completing\n\nWe cannot restart recovery. Once we begin to recover a node, keep the state\nof the recovery intact and follow through, regardless of any other node\ndeaths that may occur.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c8df412e1c746dd21094966d04b3a79aad0f4d08",
      "tree": "b662c0c5b9ff4e5a607d53adb92a8c38acce940e",
      "parents": [
        "36407488b1cbc4d84bc2bd14e03f3f9b768090d9"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:47:50 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:08 2006 -0700"
      },
      "message": "ocfs2: special case recovery lock in dlmlock_remote()\n\nIf the previous master of the recovery lock dies, let calc_usage take it\ndown completely and let the caller completely redo the dlmlock() call.\nOtherwise, there will never be an opportunity to re-master the lockres and\nrecovery wont be able to progress.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "36407488b1cbc4d84bc2bd14e03f3f9b768090d9",
      "tree": "c3b010ef79b59e531f34c7fdf7c8d3575c62a405",
      "parents": [
        "c87a9ae7059f718bf1bb87a702fcbef535e32111"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:32:27 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:08 2006 -0700"
      },
      "message": "ocfs2: pending mastery asserts and migrations should block each other\n\nUse the existing structure for blocking migrations when ASTs are pending to\nachieve the same result. If we can catch the assert before it goes on the\nwire, just cancel it and let the migration continue.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c87a9ae7059f718bf1bb87a702fcbef535e32111",
      "tree": "9e1a1604843b8dcde97ce392f2dc6bf50d8e70c0",
      "parents": [
        "2abaf97e62e51fdd09d5a46703b3b680f24bdd8b"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:30:49 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:07 2006 -0700"
      },
      "message": "ocfs2: temporarily disable automatic lock migration\n\nNow we never change the owner of a lock resource until unmount or node\ndeath. This will be re-enabled once some issues in the algorithm used have\nbeen resolved.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2abaf97e62e51fdd09d5a46703b3b680f24bdd8b",
      "tree": "0934722ce8d7a4372758c61acdda3b37d4f8a7a4",
      "parents": [
        "aa087b84977173395c0e3a1e0c1773314958f277"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 13:27:10 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:06 2006 -0700"
      },
      "message": "ocfs2: do not unconditionally purge the lockres in dlmlock_remote()\n\nIn dlmlock_remote(), do not call purge_lockres until the lock resource\nactually changes. otherwise, the mastery info on the lockres will go away\nunderneath the caller.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "aa087b84977173395c0e3a1e0c1773314958f277",
      "tree": "6041ab7fc9adf9f4ca89894a5416847a26187f49",
      "parents": [
        "f42a100b2272bc5cb44fb2aa03526b436b1d6833"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 12:02:07 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:05 2006 -0700"
      },
      "message": "ocfs2: increase backoff before waiting for recovery\n\nWhen mastering non-recovery lock resources, additional time was frequently\nneeded to allow the disk heartbeat to catch up with the network timeout. the\nrecovery lock resource is time critical and avoids this path.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "f42a100b2272bc5cb44fb2aa03526b436b1d6833",
      "tree": "37ca994cefc97bcfbf14491e1538fd2672df566a",
      "parents": [
        "6ff06a93916b3f95e83c346f7530cf2f5c68ae0c"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:53:33 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:05 2006 -0700"
      },
      "message": "ocfs2: have dlm_pre_master_reco_lockres() ignore dead nodes\n\nRecovery will spin in dlm_pre_master_reco_lockres if we do not ignore\ntimed-out network responses from dead nodes.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "6ff06a93916b3f95e83c346f7530cf2f5c68ae0c",
      "tree": "7708dbb53baf65d58aa5af259b5360abf0e11d14",
      "parents": [
        "e7e69eb38946ebef86e27442d01514fcf9c854ee"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:51:45 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:04 2006 -0700"
      },
      "message": "ocfs2: give the dlm dirty list a reference on the lockres\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e7e69eb38946ebef86e27442d01514fcf9c854ee",
      "tree": "a17cfb1edba8e3c897778808eec641a97c51005c",
      "parents": [
        "e4eb03681a8313168d99c2f93175331a898a2c16"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:49:52 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:03 2006 -0700"
      },
      "message": "ocfs2: teach dlm_restart_lock_mastery() to wait on recovery\n\nChange behavior of dlm_restart_lock_mastery() when a node goes down.  Dump\nall responses that have been collected and start over.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e4eb03681a8313168d99c2f93175331a898a2c16",
      "tree": "37d2f18b8a60f672a84330725c32bcdd2f768b49",
      "parents": [
        "ccd8b1f916bc5e4b2156f03ccd3546be7f65f6b3"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:46:59 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:02 2006 -0700"
      },
      "message": "ocfs2: gracefully handle stale create_lock messages.\n\nThis is an error on the sending side, so gracefully error out on the\nreceiving end.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ccd8b1f916bc5e4b2156f03ccd3546be7f65f6b3",
      "tree": "4d3467728b13c254e9544532f147f4f84446c1b4",
      "parents": [
        "588e00902b06528c476eed38019dba4a087def01"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:32:14 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:02 2006 -0700"
      },
      "message": "ocfs2: update lvb immediately during recovery\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "588e00902b06528c476eed38019dba4a087def01",
      "tree": "4858ca07112760940fe82d7f808eeb3fc0f54fd5",
      "parents": [
        "8b2198097ae6a5b54ed92345989ec343070f916b"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:22:06 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:01 2006 -0700"
      },
      "message": "ocfs2: do not send master requests to localhost\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8b2198097ae6a5b54ed92345989ec343070f916b",
      "tree": "625f267987dfdb06f8ddfdec684c85d6d19cc6fa",
      "parents": [
        "343e26a4007d14c2154c1d13d1209797dce5c535"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:16:45 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:43:00 2006 -0700"
      },
      "message": "ocfs2: purge lockres\u0027 sooner\n\nImmediately purge a lockress that the local node is not the master of.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "343e26a4007d14c2154c1d13d1209797dce5c535",
      "tree": "3b83264cc38dbd3151a80704db4c0ecda4c5cf6b",
      "parents": [
        "466d1a4591c4e1bc3affd5c0cf3df5ad20338fb9"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:15:04 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:59 2006 -0700"
      },
      "message": "ocfs2: dump mismatching migrated lvbs before BUG()\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "466d1a4591c4e1bc3affd5c0cf3df5ad20338fb9",
      "tree": "ef7eef15780bfdaf339967be320b6a74146dbec5",
      "parents": [
        "69d72b066cc5971318d9e29e34289b74cf8a9d22"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 11:11:13 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:58 2006 -0700"
      },
      "message": "ocfs2: make dlm recovery finalization 2 stage\n\nMakes it easier for the recovery process to deal with node death.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "69d72b066cc5971318d9e29e34289b74cf8a9d22",
      "tree": "f8d27fbce0fac31969ff09cdf3c8faa9c9abc56e",
      "parents": [
        "a9ee4c8a67b962db0208addf0e32935aa571af6b"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Mon May 01 10:57:51 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:58 2006 -0700"
      },
      "message": "ocfs2: dlm recovery / lockres reference count fix\n\nTake a reference on lockres structures while they are on the recovery list.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a9ee4c8a67b962db0208addf0e32935aa571af6b",
      "tree": "eec80824fba4b87dcf940533ab8dac87d25ed5f0",
      "parents": [
        "a7f90d83ea8dc8b0999ab7c1c0539af9a6ed69d2"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 19:26:15 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:57 2006 -0700"
      },
      "message": "ocfs2: better error handling during assert master message\n\nhandle errors during lock assert master by either killing self or other node\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a7f90d83ea8dc8b0999ab7c1c0539af9a6ed69d2",
      "tree": "cd9ec7e46c8ab6a863c1d152a755a78be8e31b73",
      "parents": [
        "c0a8520c7333dd62624683772f31864c7f9c46d9"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 19:24:21 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:56 2006 -0700"
      },
      "message": "ocfs2: dump lockres info before we BUG() on a bad reference\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c0a8520c7333dd62624683772f31864c7f9c46d9",
      "tree": "104c77f335821202518dcfb22ba76e7736e55187",
      "parents": [
        "aa85235427992b8d3040297d9174d69dd1d8a675"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 27 19:07:45 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:55 2006 -0700"
      },
      "message": "ocfs2: do LVB puts in place\n\nDon\u0027t wait until the AST will be fired to do the LVB copy into the lock\nresource.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "aa85235427992b8d3040297d9174d69dd1d8a675",
      "tree": "b5ff7ae2f76b8d0fd66c6094f6c563c299ad50e7",
      "parents": [
        "dc2ed195dda848c8e4b24f3f0e1952fa74f74f6b"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 19:04:49 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:55 2006 -0700"
      },
      "message": "ocfs2: mle ref count debugging\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "dc2ed195dda848c8e4b24f3f0e1952fa74f74f6b",
      "tree": "708a2ed9f07ab36658735943890ce38f0fa51ebd",
      "parents": [
        "2d1a868c563f07c07c681836d273d69efb7c5ad8"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 19:03:18 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:54 2006 -0700"
      },
      "message": "ocfs2: allow for an assert message during lock mastery\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2d1a868c563f07c07c681836d273d69efb7c5ad8",
      "tree": "d17fd8d6ce075d70b4f8813f6571af634c0d0ba0",
      "parents": [
        "41b8c8a101ba77f59d9a4b3cac6c846cb8a34840"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 19:01:35 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:53 2006 -0700"
      },
      "message": "ocfs2: take mle reference during migration\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "41b8c8a101ba77f59d9a4b3cac6c846cb8a34840",
      "tree": "26100fca5f5772f06055607b9c0868c24c4ca30e",
      "parents": [
        "da01ad05528bf6f6bcb286329b14225a71713325"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 19:00:26 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:52 2006 -0700"
      },
      "message": "ocfs2: properly initialize the mle structure\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "da01ad05528bf6f6bcb286329b14225a71713325",
      "tree": "0a3cf2161c9880cd6e6ffadf105878f0441bc35c",
      "parents": [
        "a2bf04774bf4aa0a75036c1e92e3d2fd1cce2aff"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:53:04 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:52 2006 -0700"
      },
      "message": "ocfs2: detach mle from heartbeat events\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a2bf04774bf4aa0a75036c1e92e3d2fd1cce2aff",
      "tree": "73be61253ed046cdc61f429bee645cc5731c2d12",
      "parents": [
        "958837197e6415009cba0f31bbb5aacdb936ef09"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:51:26 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:51 2006 -0700"
      },
      "message": "ocfs2: mle ref counting fixes\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "958837197e6415009cba0f31bbb5aacdb936ef09",
      "tree": "56c32cb8e4c3c419edaf1a7b1a44e2127930f406",
      "parents": [
        "d6dea6e9732f5319b723e14f7adbc5f99cd69aec"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:47:41 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:50 2006 -0700"
      },
      "message": "ocfs2: better mle debugging\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d6dea6e9732f5319b723e14f7adbc5f99cd69aec",
      "tree": "fdc506e919d510b38ca831f64844de3f5175764c",
      "parents": [
        "29c0fa0f56f20b4512f65b0f3e55bc8af50485b7"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:08:51 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:49 2006 -0700"
      },
      "message": "ocfs2: clean up recovery related messages\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "29c0fa0f56f20b4512f65b0f3e55bc8af50485b7",
      "tree": "da16efa4c6c70f6ea01f84f2eb3c2899cf00654c",
      "parents": [
        "c3187ce5e335cf8e06391236cc1ad7d1b1e193ed"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:06:58 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:49 2006 -0700"
      },
      "message": "ocfs2: handle network errors during recovery\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c3187ce5e335cf8e06391236cc1ad7d1b1e193ed",
      "tree": "2e7ec4cafda7a3c62b93eab72166f6c98811d64c",
      "parents": [
        "ab27eb6f47092923a92f7c164dcf9be3b76f3944"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:05:41 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:48 2006 -0700"
      },
      "message": "ocfs2: only recover one dead node at a time\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ab27eb6f47092923a92f7c164dcf9be3b76f3944",
      "tree": "2ac759bb499bb30c76f3b85e815c7c75da7281ef",
      "parents": [
        "8bc674cb4834fb25206b7f7f5e37fe571aa76b34"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:03:49 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:47 2006 -0700"
      },
      "message": "ocfs2: Better tracking for recovery state changes\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8bc674cb4834fb25206b7f7f5e37fe571aa76b34",
      "tree": "9c9ba3801669e66a30bac121846153879a19dfd6",
      "parents": [
        "aba9aac78817d88aa2b223f1aedf1e9815ae97b8"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:02:10 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:46 2006 -0700"
      },
      "message": "ocfs2: Fix empty lvb check\n\nThe check for an empty lvb should check the entire buffer not just the first\nbyte.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "aba9aac78817d88aa2b223f1aedf1e9815ae97b8",
      "tree": "c796e9d34514fa96eae26f360296720c504c0766",
      "parents": [
        "2580a580e029f9a59a66cd230b1fd7e2d9ee339d"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 18:00:21 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:45 2006 -0700"
      },
      "message": "ocfs2: fix inverted logic in dlm_is_node_dead\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2580a580e029f9a59a66cd230b1fd7e2d9ee339d",
      "tree": "320baf22e8a0ee1d03d256edadd37a49aef39ae1",
      "parents": [
        "8d79d088e88198d5456861ee9e6a8226dcd08799"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 17:59:46 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:45 2006 -0700"
      },
      "message": "ocfs2: recheck lockres master before sending an unlock request.\n\nRecovery may have happened and it may now be mastered locally.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8d79d088e88198d5456861ee9e6a8226dcd08799",
      "tree": "7d171192afc3bdd679d78a3841392ae5858bd3db",
      "parents": [
        "685f1adb3872d904e08e22fab699f34432d5068a"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Thu Apr 27 17:58:23 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:44 2006 -0700"
      },
      "message": "ocfs2: add a small delay after a failed migration\n\nOtherwise we risk starving other threads.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "685f1adb3872d904e08e22fab699f34432d5068a",
      "tree": "351bfb28a72601250f70553d8eef4edc542fcf31",
      "parents": [
        "c8f33b6e86af74ee7b800f57cac7b3c8559318fe"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Mar 23 11:23:29 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:43 2006 -0700"
      },
      "message": "ocfs2: silence a compile warning in dlm_alloc_pagevec()\n\nReported by Andrew Morton.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c8f33b6e86af74ee7b800f57cac7b3c8559318fe",
      "tree": "8806647e8f7a6525539d0a7ecdbe8f375b8f91a3",
      "parents": [
        "03d864c02c3ea803b1718940ac6953a257182d7a"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "Joel.Becker@oracle.com",
        "time": "Thu Mar 16 17:40:37 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:42 2006 -0700"
      },
      "message": "[PATCH] ocfs2: Alloc at least a page for the DLM hash\n\nThe OCFS2 DLM allocates a number of pages for a hash to lookup locks.\nThere was a bug where a PAGE_SIZE bigger than the hash size (eg, 64K\npages) would result in zero pages allocated.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "03d864c02c3ea803b1718940ac6953a257182d7a",
      "tree": "2678c34a75654693ee875d20194830429886ec58",
      "parents": [
        "95c4f581d6551de55cf5b8693db98b01ce07021b"
      ],
      "author": {
        "name": "Daniel Phillips",
        "email": "phillips@google.com",
        "time": "Fri Mar 10 18:08:16 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:42 2006 -0700"
      },
      "message": "ocfs2: allocate lockres hash pages in an array\n\nThis allows us to have a hash table greater than a single page which greatly\nimproves dlm performance on some tests.\n\nSigned-off-by: Daniel Phillips \u003cphillips@google.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "95c4f581d6551de55cf5b8693db98b01ce07021b",
      "tree": "d453b4b25c4bb66f58e2671fec8c36394875bef8",
      "parents": [
        "4198985f7ae119a23f83503a692dd822bd574080"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 10 13:44:00 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:41 2006 -0700"
      },
      "message": "ocfs2: inline dlm_lockres_get()\n\nIt\u0027s called on every lookup so this might help performance a bit.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4198985f7ae119a23f83503a692dd822bd574080",
      "tree": "83c810ea0c492296dae76b59547700db4161806f",
      "parents": [
        "a3d3329159ea76bae0b3b8680691a1c3ecf5801f"
      ],
      "author": {
        "name": "Daniel Phillips",
        "email": "phillips@google.com",
        "time": "Fri Mar 10 13:31:47 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:40 2006 -0700"
      },
      "message": "[PATCH] Clean up ocfs2 hash probe and make it faster\n\nSigned-Off-By: Daniel Phillips \u003cphillips@google.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a3d3329159ea76bae0b3b8680691a1c3ecf5801f",
      "tree": "a4521103c45190ff340f918d131649a20b414b27",
      "parents": [
        "65c491d833a06fd0d1383297590772c75d28155c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Mar 09 17:55:56 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:39 2006 -0700"
      },
      "message": "ocfs2: calculate lockid hash values outside of the spinlock\n\nFixes a performance bug - pointed out by Andrew.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "65c491d833a06fd0d1383297590772c75d28155c",
      "tree": "d9b4d9697525ef89a6e9c2489a005a584e471abf",
      "parents": [
        "da206c9e68cb93fcab43592d46276c02889c1250"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 06 15:36:17 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 26 14:42:39 2006 -0700"
      },
      "message": "ocfs2: move lockres qstr next to hlist_node structure\n\nGains us a bit of performance on loads which heavily hit the lockres hash.\nPatch suggested by Daniel Phillips \u003cphillips@google.com\u003e.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "da206c9e68cb93fcab43592d46276c02889c1250",
      "tree": "21264cc26fa0322d668b398808f10bd93558d25f",
      "parents": [
        "916d15445f4ad2a9018e5451760734f36083be77",
        "2e2d0dcc1bd7ca7c26ea5e29efb7f34bbd564f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 13:33:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 13:33:14 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  typo fixes\n  Clean up \u0027inline is not at beginning\u0027 warnings for usb storage\n  Storage class should be first\n  i386: Trivial typo fixes\n  ixj: make ixj_set_tone_off() static\n  spelling fixes\n  fix paniced-\u003epanicked typos\n  Spelling fixes for Documentation/atomic_ops.txt\n  move acknowledgment for Mark Adler to CREDITS\n  remove the bouncing email address of David Campbell\n"
    },
    {
      "commit": "81a07d7588d376c530d006e24d7981304ce96e16",
      "tree": "1608e094c88b9702c86cf2e6f65339aab9ea3f3f",
      "parents": [
        "8871e73fdbde07d0a41393f7ee30787b65387b36",
        "8501a2fbe762b21d2504ed3aca3b52be61b5e6e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:51:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:51:09 2006 -0700"
      },
      "message": "Merge branch \u0027x86-64\u0027\n\n* x86-64: (83 commits)\n  [PATCH] x86_64: x86_64 stack usage debugging\n  [PATCH] x86_64: (resend) x86_64 stack overflow debugging\n  [PATCH] x86_64: msi_apic.c build fix\n  [PATCH] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs\n  [PATCH] x86_64: Avoid broadcasting NMI IPIs\n  [PATCH] x86_64: fix apic error on bootup\n  [PATCH] x86_64: enlarge window for stack growth\n  [PATCH] x86_64: Minor string functions optimizations\n  [PATCH] x86_64: Move export symbols to their C functions\n  [PATCH] x86_64: Standardize i386/x86_64 handling of NMI_VECTOR\n  [PATCH] x86_64: Fix modular pc speaker\n  [PATCH] x86_64: remove sys32_ni_syscall()\n  [PATCH] x86_64: Do not use -ffunction-sections for modules\n  [PATCH] x86_64: Add cpu_relax to apic_wait_icr_idle\n  [PATCH] x86_64: adjust kstack_depth_to_print default\n  [PATCH] i386/x86-64: adjust /proc/interrupts column headings\n  [PATCH] x86_64: Fix race in cpu_local_* on preemptible kernels\n  [PATCH] x86_64: Fix fast check in safe_smp_processor_id\n  [PATCH] x86_64: x86_64 setup.c - printing cmp related boottime information\n  [PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status\n  ...\n\nManual resolve of trivial conflict in arch/i386/kernel/Makefile\n"
    },
    {
      "commit": "bebfa1013eee1d91b3242e5801cc8fbdfaf148ec",
      "tree": "d1abf916c29bbb5c312717f57798987268aff9a9",
      "parents": [
        "f201611fcecdfa825471dc425ee007997228fae4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Jun 26 13:56:52 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Add compat_printk and sysctl to turn off compat layer warnings\n\nSometimes e.g. with crashme the compat layer warnings can be noisy.\nAdd a way to turn them off by gating all output through compat_printk\nthat checks a global sysctl. The default is not changed.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8871e73fdbde07d0a41393f7ee30787b65387b36",
      "tree": "c54027e3ceb18f00db886871494d5e7b56e74b45",
      "parents": [
        "61a46dc9d1c10d07a2ed6b7d346b868803b52506",
        "749805dc10e955b0170573061f9522a6a21cbae0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:08:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:08:32 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC]: Add iomap interfaces.\n  [OPENPROM]: Rewrite driver to use in-kernel device tree.\n  [OPENPROMFS]: Rewrite using in-kernel device tree and seq_file.\n  [SPARC]: Add unique device_node IDs and a \".node\" property.\n  [SPARC]: Add of_set_property() interface.\n  [SPARC64]: Export auxio_register to modules.\n  [SPARC64]: Add missing interfaces to dma-mapping.h\n  [SPARC64]: Export _PAGE_IE to modules.\n  [SPARC64]: Allow floppy driver to build modular.\n  [SPARC]: Export x_bus_type to modules.\n  [RIOWATCHDOG]: Fix the build.\n  [CPWATCHDOG]: Fix the build.\n  [PARPORT] sunbpp: Fix typo.\n  [MTD] sun_uflash: Port to new EBUS device layer.\n"
    },
    {
      "commit": "5debfa6da5b06954bc79fe8deed0d1062c58dcec",
      "tree": "30cb592c5020cccd203f4ab466dea9eee3f626d5",
      "parents": [
        "dcf560c59330945a231d5e52f95dfedde4e32c9d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:27 2006 -0700"
      },
      "message": "[PATCH] coredump: shutdown current process first\n\nThis patch optimizes zap_threads() for the case when there are no -\u003emm\nusers except the current\u0027s thread group.  In that case we can avoid\n\u0027for_each_process()\u0027 loop.\n\nIt also adds a useful invariant: SIGNAL_GROUP_EXIT (if checked under\n-\u003esiglock) always implies that all threads (except may be current) have\npending SIGKILL.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dcf560c59330945a231d5e52f95dfedde4e32c9d",
      "tree": "069e34265ee3e6b3adbde1a75ed7a588eef23ef7",
      "parents": [
        "7b1c6154fa8bb937e0b1b4f2adbb315d70270f10"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:27 2006 -0700"
      },
      "message": "[PATCH] coredump: some code relocations\n\nThis is a preparation for the next patch.  No functional changes.\nBasically, this patch moves \u0027-\u003eflags \u0026 SIGNAL_GROUP_EXIT\u0027 check into\nzap_threads(), and \u0027complete(vfork_done)\u0027 into coredump_wait outside of\n-\u003emmap_sem protected area.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b1c6154fa8bb937e0b1b4f2adbb315d70270f10",
      "tree": "1d58e5e7da61330639ebe62671fb666596d1b00a",
      "parents": [
        "d5f70c00ad24cd1158d3678b44ff969b4c971d49"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:27 2006 -0700"
      },
      "message": "[PATCH] coredump: don\u0027t take tasklist_lock\n\nThis patch removes tasklist_lock from zap_threads().\nThis is safe wrt:\n\n\tdo_exit:\n\t\tThe caller holds mm-\u003emmap_sem. This means that task which\n\t\tshares the same -\u003emm can\u0027t pass exit_mm(), so it can\u0027t be\n\t\tunhashed from init_task.tasks or -\u003ethread_group lists.\n\n\tfork:\n\t\tNone of sub-threads can fork after zap_process(leader). All\n\t\tprocesses which were created before this point should be\n\t\tvisible to zap_threads() because copy_process() adds the new\n\t\tprocess to the tail of init_task.tasks list, and -\u003esiglock\n\t\tlock/unlock provides a memory barrier.\n\n\tde_thread:\n\t\tIt does list_replace_rcu(\u0026leader-\u003etasks, \u0026current-\u003etasks).\n\t\tSo zap_threads() will see either old or new leader, it does\n\t\tnot matter. However, it can change p-\u003esighand, so we should\n\t\tuse lock_task_sighand() in zap_process().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5f70c00ad24cd1158d3678b44ff969b4c971d49",
      "tree": "b4b71a71b413250fb24cb2d83cbbfd7507da9efc",
      "parents": [
        "281de339ceb822ca6c04d4373ecb9a45c1890ce4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:27 2006 -0700"
      },
      "message": "[PATCH] coredump: kill ptrace related stuff\n\nWith this patch zap_process() sets SIGNAL_GROUP_EXIT while sending SIGKILL to\nthe thread group.  This means that a TASK_TRACED task\n\n\t1. Will be awakened by signal_wake_up(1)\n\n\t2. Can\u0027t sleep again via ptrace_notify()\n\n\t3. Can\u0027t go to do_signal_stop() after return\n\t   from ptrace_stop() in get_signal_to_deliver()\n\nSo we can remove all ptrace related stuff from coredump path.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "281de339ceb822ca6c04d4373ecb9a45c1890ce4",
      "tree": "8791013a7d92078a9c00a1a67c80c9b0760a9954",
      "parents": [
        "aceecc041217b35df753d1ed6e25bd17c0c558d8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:27 2006 -0700"
      },
      "message": "[PATCH] coredump: speedup SIGKILL sending\n\nWith this patch a thread group is killed atomically under -\u003esiglock.  This is\nfaster because we can use sigaddset() instead of force_sig_info() and this is\nused in further patches.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aceecc041217b35df753d1ed6e25bd17c0c558d8",
      "tree": "d78a9961bd8daecc31fc4720868b6f2a9a93aa94",
      "parents": [
        "2ceb8693ef63ae3d154ce1a05d275f2bb20a5e4c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] coredump: optimize -\u003emm users traversal\n\nzap_threads() iterates over all threads to find those ones which share\ncurrent-\u003emm.  All threads in the thread group share the same -\u003emm, so we can\nskip entire thread group if it has another -\u003emm.\n\nThis patch shifts the killing of thread group into the newly added\nzap_process() function.  This looks as unnecessary complication, but it is\nused in further patches.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ceb8693ef63ae3d154ce1a05d275f2bb20a5e4c",
      "tree": "6e61f8c5513cb905d6326417b0e95f27d3623735",
      "parents": [
        "42c3e03ef6b298813557cdb997bd6db619cd65a2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] de_thread: fix lockless do_each_thread\n\nWe should keep the value of old_leader-\u003etasks.next in de_thread, otherwise\nwe can\u0027t do for_each_process/do_each_thread without tasklist_lock held.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42c3e03ef6b298813557cdb997bd6db619cd65a2",
      "tree": "c2fba776ccf7015d45651ff7d2aee89f06da6f42",
      "parents": [
        "c1df7fb88a011b39ea722ac00975c5b8a803261b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jun 26 00:26:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] SELinux: Add sockcreate node to procattr API\n\nBelow is a patch to add a new /proc/self/attr/sockcreate A process may write a\ncontext into this interface and all subsequent sockets created will be labeled\nwith that context.  This is the same idea as the fscreate interface where a\nprocess can specify the label of a file about to be created.  At this time one\nenvisioned user of this will be xinetd.  It will be able to better label\nsockets for the actual services.  At this time all sockets take the label of\nthe creating process, so all xinitd sockets would just be labeled the same.\n\nI tested this by creating a tcp sender and listener.  The sender was able to\nwrite to this new proc file and then create sockets with the specified label.\nI am able to be sure the new label was used since the avc denial messages\nkicked out by the kernel included both the new security permission\nsetsockcreate and all the socket denials were for the new label, not the label\nof the running process.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1df7fb88a011b39ea722ac00975c5b8a803261b",
      "tree": "d3cbbe5bde859897993ceb8969a080ae71166a67",
      "parents": [
        "a872ff0cb2218dc9688b990c5ccda064dc40946b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] cleanup next_tid()\n\nTry to make next_tid() a bit more readable and deletes unnecessary\n\"pid_alive(pos)\" check.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a872ff0cb2218dc9688b990c5ccda064dc40946b",
      "tree": "ff94ae63e668f0229fc7aeed220def7e9708db3a",
      "parents": [
        "cc288738c9ae3c64d3c50b86604044d1f6d22941"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] simplify/fix first_tid()\n\nfirst_tid:\n\n\t/* If nr exceeds the number of threads there is nothing todo */\n\tif (nr) {\n\t\tif (nr \u003e\u003d get_nr_threads(leader))\n\t\t\tgoto done;\n\t}\n\nThis is not reliable: sub-threads can exit after this check, so the\n\u0027for\u0027 loop below can overlap and proc_task_readdir() can return an\nalready filldir\u0027ed dirents.\n\n\tfor (; pos \u0026\u0026 pid_alive(pos); pos \u003d next_thread(pos)) {\n\t\tif (--nr \u003e 0)\n\t\t\tcontinue;\n\nOff-by-one error, will return \u0027leader\u0027 when nr \u003d\u003d 1.\n\nThis patch tries to fix these problems and simplify the code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc288738c9ae3c64d3c50b86604044d1f6d22941",
      "tree": "87058616bfa84572647fbe574fe733e81c1d17b6",
      "parents": [
        "df26c40e567356caeefe2861311e19c54444d917"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:26:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_task_readdir.\n\nThis is just like my previous removal of tasklist_lock from first_tgid, and\nnext_tgid.  It simply had to wait until it was rcu safe to walk the thread\nlist.\n\nThis should be the last instance of the tasklist_lock in proc.  So user\nprocesses should not be able to influence the tasklist lock hold times.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df26c40e567356caeefe2861311e19c54444d917",
      "tree": "415527677e85e8b612b916f6fda1645a6207d8e2",
      "parents": [
        "778c1144771f0064b6f51bee865cceb0d996f2f9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Cleanup proc_fd_access_allowed\n\nIn process of getting proc_fd_access_allowed to work it has developed a few\nwarts.  In particular the special case that always allows introspection and\nthe special case to allow inspection of kernel threads.\n\nThe special case for introspection is needed for /proc/self/mem.\n\nThe special case for kernel threads really should be overridable\nby security modules.\n\nSo consolidate these checks into ptrace.c:may_attach().\n\nThe check to always allow introspection is trivial.\n\nThe check to allow access to kernel threads, and zombies is a little\ntrickier.  mem_read and mem_write already verify an mm exists so it isn\u0027t\nneeded twice.  proc_fd_access_allowed only doesn\u0027t want a check to verify\ntask-\u003emm exits, s it prevents all access to kernel threads.  So just move\nthe task-\u003emm check into ptrace_attach where it is needed for practical\nreasons.\n\nI did a quick audit and none of the security modules in the kernel seem to\ncare if they are passed a task without an mm into security_ptrace.  So the\nabove move should be safe and it allows security modules to come up with\nmore restrictive policy.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "778c1144771f0064b6f51bee865cceb0d996f2f9",
      "tree": "1204e6d84cc5e7e75374544102839e85cfb9eba0",
      "parents": [
        "5b0c1dd38b66e2dd0cf655aa845e341b50b93ddd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Use sane permission checks on the /proc/\u003cpid\u003e/fd/ symlinks\n\nSince 2.2 we have been doing a chroot check to see if it is appropriate to\nreturn a read or follow one of these magic symlinks.  The chroot check was\nasking a question about the visibility of files to the calling process and\nit was actually checking the destination process, and not the files\nthemselves.  That test was clearly bogus.\n\nIn my first pass through I simply fixed the test to check the visibility of\nthe files themselves.  That naive approach to fixing the permissions was\ntoo strict and resulted in cases where a task could not even see all of\nit\u0027s file descriptors.\n\nWhat has disturbed me about relaxing this check is that file descriptors\nare per-process private things, and they are occasionaly used a user space\ncapability tokens.  Looking a little farther into the symlink path on /proc\nI did find userid checks and a check for capability (CAP_DAC_OVERRIDE) so\nthere were permissions checking this.\n\nBut I was still concerned about privacy.  Besides /proc there is only one\nother way to find out this kind of information, and that is ptrace.  ptrace\nhas been around for a long time and it has a well established security\nmodel.\n\nSo after thinking about it I finally realized that the permission checks\nthat make sense are the permission checks applied to ptrace_attach.  The\nchecks are simple per process, and won\u0027t cause nasty surprises for people\ncoming from less capable unices.\n\nUnfortunately there is one case that the current ptrace_attach test does\nnot cover: Zombies and kernel threads.  Single stepping those kinds of\nprocesses is impossible.  Being able to see which file descriptors are open\non these tasks is important to lsof, fuser and friends.  So for these\nspecial processes I made the rule you can\u0027t find out unless you have\nCAP_SYS_PTRACE.\n\nThese proc permission checks should now conform to the principle of least\nsurprise.  As well as using much less code to implement :)\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b0c1dd38b66e2dd0cf655aa845e341b50b93ddd",
      "tree": "e8d3341591958d9c3e11400a2f16287a6dd00c46",
      "parents": [
        "13b41b09491e5d75e8027dca1ee78f5e073bc4c0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: optimize proc_check_dentry_visible\n\nThe code doesn\u0027t need to sleep to when making this check so I can just do the\ncomparison and not worry about the reference counts.\n\nTODO: While looking at this I realized that my original cleanup did not push\nthe permission check far enough down into the stack.  The call of\nproc_check_dentry_visible needs to move out of the generic proc\nreadlink/follow link code and into the individual get_link instances.\nOtherwise the shared resources checks are not quite correct (shared\nfiles_struct does not require a shared fs_struct), and there are races with\nunshare.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13b41b09491e5d75e8027dca1ee78f5e073bc4c0",
      "tree": "3f08183a4f59075fc3015165183b8ef17cb562a6",
      "parents": [
        "99f895518368252ba862cc15ce4eb98ebbe1bec6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Use struct pid not struct task_ref\n\nIncrementally update my proc-dont-lock-task_structs-indefinitely patches so\nthat they work with struct pid instead of struct task_ref.\n\nMostly this is a straight 1-1 substitution.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99f895518368252ba862cc15ce4eb98ebbe1bec6",
      "tree": "a9dcc01963221d1fd6a7e357b95d361ebfe91c6d",
      "parents": [
        "8578cea7509cbdec25b31d08b48a92fcc3b1a9e3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: don\u0027t lock task_structs indefinitely\n\nEvery inode in /proc holds a reference to a struct task_struct.  If a\ndirectory or file is opened and remains open after the the task exits this\npinning continues.  With 8K stacks on a 32bit machine the amount pinned per\nfile descriptor is about 10K.\n\nNormally I would figure a reasonable per user process limit is about 100\nprocesses.  With 80 processes, with a 1000 file descriptors each I can trigger\nthe 00M killer on a 32bit kernel, because I have pinned about 800MB of useless\ndata.\n\nThis patch replaces the struct task_struct pointer with a pointer to a struct\ntask_ref which has a struct task_struct pointer.  The so the pinning of dead\ntasks does not happen.\n\nThe code now has to contend with the fact that the task may now exit at any\ntime.  Which is a little but not muh more complicated.\n\nWith this change it takes about 1000 processes each opening up 1000 file\ndescriptors before I can trigger the OOM killer.  Much better.\n\n[mlp@google.com: task_mmu small fixes]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Albert Cahalan \u003cacahalan@gmail.com\u003e\nSigned-off-by: Prasanna Meda \u003cmlp@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8578cea7509cbdec25b31d08b48a92fcc3b1a9e3",
      "tree": "8de6c9bcd4108c3311fab9e66c3be5132e6f854d",
      "parents": [
        "9cc8cbc7f8b7bc3db48bf6d59a731af728e786ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: make PROC_NUMBUF the buffer size for holding integers as strings\n\nCurrently in /proc at several different places we define buffers to hold a\nprocess id, or a file descriptor .  In most of them we use either a hard coded\nnumber or a different define.  Modify them all to use PROC_NUMBUF, so the code\nhas a chance of being maintained.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9cc8cbc7f8b7bc3db48bf6d59a731af728e786ce",
      "tree": "fb94d7ee120c14d7a1b56005e8cd67bcba4083e6",
      "parents": [
        "de7587343bfebc186995ad294e3de0da382eb9bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] simply fix first_tgid\n\nLike the bug Oleg spotted in first_tid there was also a small off by one\nerror in first_tgid, when a seek was done on the /proc directory.  This\nfixes that and changes the code structure to make it a little more obvious\nwhat is going on.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de7587343bfebc186995ad294e3de0da382eb9bc",
      "tree": "db5d696d19c8255bd58929516be79409743c6081",
      "parents": [
        "454cc105ef690f2a0ba7c6b194d55666b4e918ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_pid_lookup() and proc_task_lookup()\n\nSince we no longer need the tasklist_lock for get_task_struct the lookup\nmethods no longer need the tasklist_lock.\n\nThis just depends on my previous patch that makes get_task_struct() rcu\nsafe.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454cc105ef690f2a0ba7c6b194d55666b4e918ce",
      "tree": "b3e4fef90f42ddd16afc324fcff6371e44f63255",
      "parents": [
        "0bc58a910220be3446eedc8e77fd45c0a16d8f25"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Remove tasklist_lock from proc_pid_readdir\n\nWe don\u0027t need the tasklist_lock to safely iterate through processes\nanymore.\n\nThis depends on my previous to task patches that make get_task_struct rcu\nsafe, and that make next_task() rcu safe.  I haven\u0027t gotten\nfirst_tid/next_tid yet only because next_thread is missing an\nrcu_dereference.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bc58a910220be3446eedc8e77fd45c0a16d8f25",
      "tree": "70ffacd6e2e22471034b053e441f305a9507a052",
      "parents": [
        "cd6a3ce9ec040c0b56ea92a81ff710417798c559"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: refactor reading directories of tasks\n\nThere are a couple of problems this patch addresses.\n- /proc/\u003ctgid\u003e/task currently does not work correctly if you stop reading\n  in the middle of a directory.\n\n- /proc/ currently requires a full pass through the task list with\n  the tasklist lock held, to determine there are no more processes to read.\n\n- The hand rolled integer to string conversion does not properly running\n  out of buffer space.\n\n- We seem to be batching reading of pids from the tasklist without reason,\n  and complicating the logic of the code.\n\nThis patch addresses that by changing how tasks are processed.  A\nfirst_\u003ctask_type\u003e function is built that handles restarts, and a\nnext_\u003ctask_type\u003e function is built that just advances to the next task.\n\nfirst_\u003ctask_type\u003e when it detects a restart usually uses find_task_by_pid.  If\nthat doesn\u0027t work because there has been a seek on the directory, or we have\nalready given a complete directory listing, it first checks the number tasks\nof that type, and only if we are under that count does it walk through all of\nthe tasks to find the one we are interested in.\n\nThe code that fills in the directory is simpler because there is only a single\nfor loop.\n\nThe hand rolled integer to string conversion is replaced by snprintf which\nshould handle the the out of buffer case correctly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd6a3ce9ec040c0b56ea92a81ff710417798c559",
      "tree": "350c0b4bb63a971c9409be8459a45b690ef4ac67",
      "parents": [
        "48e6484d49020dba3578ad117b461e8a391e8f0f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: Close the race of a process dying durning lookup\n\nproc_lookup and task exiting are not synchronized, although some of the\nprevious code may have suggested that.  Every time before we reuse a dentry\nnamei.c calls d_op-\u003ederevalidate which prevents us from reusing a stale dcache\nentry.  Unfortunately it does not prevent us from returning a stale dcache\nentry.  This race has been explicitly plugged in proc_pid_lookup but there is\nnothing to confine it to just that proc lookup function.\n\nSo to prevent the race I call revalidate explictily in all of the proc lookup\nfunctions after I call d_add, and report an error if the revalidate does not\nsucceed.\n\nYears ago Al Viro did something similar but those changes got lost in the\nchurn.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48e6484d49020dba3578ad117b461e8a391e8f0f",
      "tree": "7824ca84bfe71c3fe2c09a1fedc31106fec4f500",
      "parents": [
        "662795deb854b31501e0ffb42b7f0cce802c134a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Rewrite the proc dentry flush on exit optimization\n\nTo keep the dcache from filling up with dead /proc entries we flush them on\nprocess exit.  However over the years that code has gotten hairy with a\ndentry_pointer and a lock in task_struct and misdocumented as a correctness\nfeature.\n\nI have rewritten this code to look and see if we have a corresponding entry in\nthe dcache and if so flush it on process exit.  This removes the extra fields\nin the task_struct and allows me to trivially handle the case of a\n/proc/\u003ctgid\u003e/task/\u003cpid\u003e entry as well as the current /proc/\u003cpid\u003e entries.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "662795deb854b31501e0ffb42b7f0cce802c134a",
      "tree": "d4849ad5ca7383ca9d0c9b6d46db83097d5dba85",
      "parents": [
        "6e66b52bf587f0dd9a8e0a581b9570e5c1969e33"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Move proc_maps_operations into task_mmu.c\n\nAll of the functions for proc_maps_operations are already defined in\ntask_mmu.c so move the operations structure to keep the functionality\ntogether.\n\nSince task_nommu.c implements a dummy version of /proc/\u003cpid\u003e/maps give it a\nsimplified version of proc_maps_operations that it can modify to best suit its\nneeds.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e66b52bf587f0dd9a8e0a581b9570e5c1969e33",
      "tree": "18b630e89490f7e01ee45f07a427fded50a1c6cf",
      "parents": [
        "0f2fe20f55c85f26efaf14feeb69c7c2eb3f7a75"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Fix the link count for /proc/\u003cpid\u003e/task\n\nUse getattr to get an accurate link count when needed.  This is cheaper and\nmore accurate than trying to derive it by walking the thread list of a\nprocess.\n\nEspecially as it happens when needed stat instead of at readdir time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f2fe20f55c85f26efaf14feeb69c7c2eb3f7a75",
      "tree": "93649d0579bed2ed43e69f03c06b325bdb0c312e",
      "parents": [
        "22c2c5d75e6ad4b9ac41269476b32ba8c9fe263f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Properly filter out files that are not visible to a process\n\nLong ago and far away in 2.2 we started checking to ensure the files we\ndisplayed in /proc were visible to the current process.  It was an\nunsophisticated time and no one was worried about functions full of FIXMES in\na stable kernel.  As time passed the function became sacred and was enshrined\nin the shrine of how things have always been.  The fixes came in but only to\nkeep the function working no one really remembering or documenting why we did\nthings that way.\n\nThe intent and the functionality make a lot of sense.  Don\u0027t let /proc be an\naccess point for files a process can see no other way.  The implementation\nhowever is completely wrong.\n\nWe are currently checking the root directories of the two processes, we are\nnot checking the actual file descriptors themselves.\n\nWe are strangely checking with a permission method instead of just when we use\nthe data.\n\nThis patch fixes the logic to actually check the file descriptors and make a\nnote that implementing a permission method for this part of /proc almost\ncertainly indicates a bug in the reasoning.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22c2c5d75e6ad4b9ac41269476b32ba8c9fe263f",
      "tree": "568754afe4d00da3ecaee4a960021e596d0e4beb",
      "parents": [
        "68602066c3327fa340899609d715781eda423751"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Kill proc_mem_inode_operations\n\nThe inode operations only exist to support the proc_permission function.\nCurrently mem_read and mem_write have all the same permission checks as\nptrace.  The fs check makes no sense in this context, and we can trivially get\naround it by calling ptrace.\n\nSo simply the code by killing the strange weird case.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68602066c3327fa340899609d715781eda423751",
      "tree": "fdd1db5b08755bf2c353364b56a778f62e5009f4",
      "parents": [
        "aed7a6c476d90660ac5af860158407ae9fe61c68"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Remove bogus proc_task_permission\n\nFirst we can access every /proc/\u003ctgid\u003e/task/\u003cpid\u003e directory as /proc/\u003cpid\u003e so\nproc_task_permission is not usefully limiting visibility.\n\nSecond having related filesystems information should have nothing to do with\nprocess visibility.  kill does not implement any checks like that.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aed7a6c476d90660ac5af860158407ae9fe61c68",
      "tree": "b8b92412f457598a2348de0eb304b9b4ec204157",
      "parents": [
        "87bfbf679ffb1e95dd9ada694f66aafc4bfa5959"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Replace proc_inode.type with proc_inode.fd\n\nThe sole renaming use of proc_inode.type is to discover the file descriptor\nnumber, so just store the file descriptor number and don\u0027t wory about\nprocessing this field.  This removes any /proc limits on the maximum number of\nfile descriptors, and clears the path to make the hard coded /proc inode\nnumbers go away.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "87bfbf679ffb1e95dd9ada694f66aafc4bfa5959",
      "tree": "f4f549435f64bd1c42594dcb4d27d9de92e379f6",
      "parents": [
        "167965495153ba9829d0a34b6800dbf5d94de8c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Simplify the ownership rules for /proc\n\nCurrently in /proc if the task is dumpable all of files are owned by the tasks\neffective users.  Otherwise the files are owned by root.  Unless it is the\n/proc/\u003ctgid\u003e/ or /proc/\u003ctgid\u003e/task/\u003cpid\u003e directory in that case we always make\nthe directory owned by the effective user.\n\nHowever the special case for directories is pointless except as a way to read\nthe effective user, because the permissions on both of those directories are\nworld readable, and executable.\n\n/proc/\u003ctgid\u003e/status provides a much better way to read a processes effecitve\nuserid, so it is silly to try to provide that on the directory.\n\nSo this patch simplifies the code by removing a pointless special case and\ngets us one step closer to being able to remove the hard coded /proc inode\nnumbers.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "167965495153ba9829d0a34b6800dbf5d94de8c8",
      "tree": "ee923581fc2fb1a9bcae7920a8a362fed7b55705",
      "parents": [
        "ff9724a3f7a69f7b443c05981f84e28017c2fc5a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Remove unnecessary and misleading assignments from proc_pid_make_inode\n\nThe removed fields are already set by proc_alloc_inode.  Initializing them in\nproc_alloc_inode implies they need it for proper cleanup.  At least ei-\u003epde\nwas not set on all paths making it look like proc_alloc_inode was buggy.  So\njust remove the redundant assignments.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff9724a3f7a69f7b443c05981f84e28017c2fc5a",
      "tree": "2c3fae763eb68d18645b4820e2189dc5d0ceabf5",
      "parents": [
        "5634708b5fce807bdf2091cfafc2fb24d791f0c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Remove useless BKL in proc_pid_readlink\n\nWe already call everything except do_proc_readlink outside of the BKL in\nproc_pid_followlink, and there appears to be nothing in do_proc_readlink that\nneeds any special protection.\n\nSo remove this leftover from one of the BKL cleanup efforts.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5634708b5fce807bdf2091cfafc2fb24d791f0c8",
      "tree": "dc383be7cd284c9364d90147bdea981b3d9cb5d4",
      "parents": [
        "f05e15b59467d97c30fbffed80db9e00b73d640b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] proc: Fix the .. inode number on /proc/\u003cpid\u003e/fd\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "f05e15b59467d97c30fbffed80db9e00b73d640b"
}
