)]}'
{
  "log": [
    {
      "commit": "00a41db522c77af33ea5ee9837d4f043ce150249",
      "tree": "97e145d00adadcaf00f7d0997b7089c8a7d53894",
      "parents": [
        "da19cbcf71cde3c09587b5924d113f0c7f1fd23a"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Mon Feb 11 09:23:18 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:19 2008 -0700"
      },
      "message": "driver core: register_memory/unregister_memory clean ups and bugfix\n\nregister_memory()/unregister_memory() never gets called with\n\"root\". unregister_memory() is accessing kobject_name of\nthe object just freed up. Since no one uses the code,\nlets take the code out. And also, make register_memory() static.\n\nAnother bug fix - before calling unregister_memory()\nremove_memory_block() gets a ref on kobject. unregister_memory()\nneed to drop that ref before calling sysdev_unregister().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "da19cbcf71cde3c09587b5924d113f0c7f1fd23a",
      "tree": "f1731d6a0f8606afcc283c5540055d8e56bb7309",
      "parents": [
        "610ad5064cb90aec35f5837bbde3d316fe02aca7"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Mon Feb 04 23:35:47 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:19 2008 -0700"
      },
      "message": "driver core: memory: semaphore to mutex\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "610ad5064cb90aec35f5837bbde3d316fe02aca7",
      "tree": "7c254ffa06ebd33b5a5b40dc28147eeba615d374",
      "parents": [
        "b54f2863a26d2b7c002d96abcde149940733c8e6"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Fri Apr 11 11:07:39 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:18 2008 -0700"
      },
      "message": "UIO: hold a reference to the device\u0027s owner while the device is open\n\nOtherwise the device might just disappear while /dev/uioX is being used\nwhich results in an Oops.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nSigned-off-by: Hans J Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b54f2863a26d2b7c002d96abcde149940733c8e6",
      "tree": "57c4a90df4eb46fed352c9b4b2814280fc84caed",
      "parents": [
        "a2a6024692ec86a9c1452ecf14da7ede0704911a"
      ],
      "author": {
        "name": "Ben Nizette",
        "email": "bn@niasdigital.com",
        "time": "Thu Mar 13 22:27:30 2008 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:18 2008 -0700"
      },
      "message": "UIO: Implement a UIO interface for the SMX Cryptengine\n\nThis patch implements a UIO interface for the SMX Cryptengine.\n\nThe Cryptengine found on the Nias Digital SMX board is best suited\nfor a UIO interface.  It is not wired in to the cryptographic API\nas the engine handles it\u0027s own keys, algorithms, everything.  All\nthat we know about is that if there\u0027s room in the buffer, you can\nwrite data to it and when there\u0027s data ready, you read it out again.\n\nThere isn\u0027t necessarily even any direct correlation between data\ngoing in and data coming out again, the engine may consume or\ngenerate data all on its own.\n\nThis driver is for proprietary hardware but we\u0027re always told to\nsubmit the drivers anyway; here you are.  :-)\n\nThis is version 4 of this patch and addresses all issues raised by\nHans-Jürgen Koch and Paul Mundt in their reviews.  Slightly altered\nis Paul\u0027s suggestion to use DRV_NAME and DRV_VERSION as the UIO\nversion and name.  While at the moment they are the same, there\nis no reason for them to stay that way.  Nevertheless we now at\nleast provide a MODULE_VERSION macro to keep modinfo happy.\n\nSigned-off-by: Ben Nizette \u003cbn@niasdigital.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Hans J Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2a6024692ec86a9c1452ecf14da7ede0704911a",
      "tree": "3b0ca1f1cf947becd2047df5c92d6c872681127f",
      "parents": [
        "2dc034a85d4164b90fa883a1226afb971174bcc5"
      ],
      "author": {
        "name": "Hans-Jürgen Koch",
        "email": "hjk@linutronix.de",
        "time": "Sun Feb 03 01:48:28 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:18 2008 -0700"
      },
      "message": "UIO: Remove needless PCI_DEVICE_ID definition from uio_cif.c\n\nMeanwhile, PCI_DEVICE_ID_PLX_9030 is defined in pci_ids.h, no need to\ndefine it again in the driver.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nCC: Benedikt Spranger \u003cb.spranger@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "2dc034a85d4164b90fa883a1226afb971174bcc5",
      "tree": "9f0f2191e762eac000dad0aa0a9e1ebdf95522da",
      "parents": [
        "0732460b3ad484c037dad8961bc4300610dd7613"
      ],
      "author": {
        "name": "Hans-Jürgen Koch",
        "email": "hjk@linutronix.de",
        "time": "Tue Feb 19 21:07:19 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:18 2008 -0700"
      },
      "message": "UIO: arch/arm/Kconfig: Make UIO available on ARM architecture\n\nSource drivers/uio/Kconfig to make UIO available in menuconfig if ARCH\u003darm.\n\nSigned-off-by: Hans J Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0732460b3ad484c037dad8961bc4300610dd7613",
      "tree": "c684b20d0a752080ac9239236905eba92efca8b7",
      "parents": [
        "ae210f188614bb3d1ee3f19c64e28e3cdd44877c"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sat Feb 02 17:51:36 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:17 2008 -0700"
      },
      "message": "uio: mark pci_device_id hilscher_pci_ids[] __devinitdata\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ae210f188614bb3d1ee3f19c64e28e3cdd44877c",
      "tree": "53c9c95cf10bef0f36231a1406baa156c1a1f6f0",
      "parents": [
        "c1ebdae514a356c71c09035f5141d94aab5e8fe4"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sat Feb 02 17:51:35 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:17 2008 -0700"
      },
      "message": "uio: Kconfig improvements\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c1ebdae514a356c71c09035f5141d94aab5e8fe4",
      "tree": "28a3a22b01e7b28b0e247a073711923169ddd528",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 26 09:36:38 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:17 2008 -0700"
      },
      "message": "kobject: catch kobjects that are not initialized\n\nAdd warnings to kobject_put() to catch kobjects that are cleaned up but\nwere never initialized to begin with.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3925e6fc1f774048404fdd910b0345b06c699eb4",
      "tree": "c9a58417d9492f39f7fe81d4721d674c34dd8be2",
      "parents": [
        "334d094504c2fe1c44211ecb49146ae6bca8c321",
        "7cea51be4e91edad05bd834f3235b45c57783f0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  security: fix up documentation for security_module_enable\n  Security: Introduce security\u003d boot parameter\n  Audit: Final renamings and cleanup\n  SELinux: use new audit hooks, remove redundant exports\n  Audit: internally use the new LSM audit hooks\n  LSM/Audit: Introduce generic Audit LSM hooks\n  SELinux: remove redundant exports\n  Netlink: Use generic LSM hook\n  Audit: use new LSM hooks instead of SELinux exports\n  SELinux: setup new inode/ipc getsecid hooks\n  LSM: Introduce inode_getsecid and ipc_getsecid hooks\n"
    },
    {
      "commit": "334d094504c2fe1c44211ecb49146ae6bca8c321",
      "tree": "d3c0f68e4b9f8e3d2ccc39e7dfe5de0534a5fad9",
      "parents": [
        "d1a4be630fb068f251d64b62919f143c49ca8057",
        "d1643d24c61b725bef399cc1cf2944b4c9c23177"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)\n  [NET]: Fix and allocate less memory for -\u003epriv\u0027less netdevices\n  [IPV6]: Fix dangling references on error in fib6_add().\n  [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found\n  [PKT_SCHED]: Fix datalen check in tcf_simp_init().\n  [INET]: Uninline the __inet_inherit_port call.\n  [INET]: Drop the inet_inherit_port() call.\n  SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.\n  [netdrvr] forcedeth: internal simplifications; changelog removal\n  phylib: factor out get_phy_id from within get_phy_device\n  PHY: add BCM5464 support to broadcom PHY driver\n  cxgb3: Fix __must_check warning with dev_dbg.\n  tc35815: Statistics cleanup\n  natsemi: fix MMIO for PPC 44x platforms\n  [TIPC]: Cleanup of TIPC reference table code\n  [TIPC]: Optimized initialization of TIPC reference table\n  [TIPC]: Remove inlining of reference table locking routines\n  e1000: convert uint16_t style integers to u16\n  ixgb: convert uint16_t style integers to u16\n  sb1000.c: make const arrays static\n  sb1000.c: stop inlining largish static functions\n  ...\n"
    },
    {
      "commit": "7cea51be4e91edad05bd834f3235b45c57783f0d",
      "tree": "55843bf8ab3afc3e33a99e86391668d48355d614",
      "parents": [
        "076c54c5bcaed2081c0cba94a6f77c4d470236ad"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Mar 07 12:23:49 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 10:00:59 2008 +1000"
      },
      "message": "security: fix up documentation for security_module_enable\n\nsecurity_module_enable() can only be called during kernel init.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "076c54c5bcaed2081c0cba94a6f77c4d470236ad",
      "tree": "5e8f05cab20a49922618bb3af697a6b46e610eee",
      "parents": [
        "04305e4aff8b0533dc05f9f6f1a34d0796bd985f"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Thu Mar 06 18:09:10 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 10:00:51 2008 +1000"
      },
      "message": "Security: Introduce security\u003d boot parameter\n\nAdd the security\u003d boot parameter. This is done to avoid LSM\nregistration clashes in case of more than one bult-in module.\n\nUser can choose a security module to enable at boot. If no\nsecurity\u003d boot parameter is specified, only the first LSM\nasking for registration will be loaded. An invalid security\nmodule name will be treated as if no module has been chosen.\n\nLSM modules must check now if they are allowed to register\nby calling security_module_enable(ops) first. Modify SELinux\nand SMACK to do so.\n\nDo not let SMACK register smackfs if it was not chosen on\nboot. Smackfs assumes that smack hooks are registered and\nthe initial task security setup (swapper-\u003esecurity) is done.\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "04305e4aff8b0533dc05f9f6f1a34d0796bd985f",
      "tree": "9938264917b4b9e6e147b883d88fca94c6788b76",
      "parents": [
        "9d57a7f9e23dc30783d245280fc9907cf2c87837"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "message": "Audit: Final renamings and cleanup\n\nRename the se_str and se_rule audit fields elements to\nlsm_str and lsm_rule to avoid confusion.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9d57a7f9e23dc30783d245280fc9907cf2c87837",
      "tree": "508b81e213f5dca1097ccf0ece8ba092b168607b",
      "parents": [
        "d7a96f3a1ae279a2129653d6cb18d722f2f00f91"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:03:14 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:53:46 2008 +1000"
      },
      "message": "SELinux: use new audit hooks, remove redundant exports\n\nSetup the new Audit LSM hooks for SELinux.\nRemove the now redundant exported SELinux Audit interface.\n\nAudit: Export \u0027audit_krule\u0027 and \u0027audit_field\u0027 to the public\nsince their internals are needed by the implementation of the\nnew LSM hook \u0027audit_rule_known\u0027.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d7a96f3a1ae279a2129653d6cb18d722f2f00f91",
      "tree": "fc38736f303133f80912f1640f2d4fac0027fe04",
      "parents": [
        "03d37d25e0f91b28c4b6d002be6221f1af4b19d8"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:01:11 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:37 2008 +1000"
      },
      "message": "Audit: internally use the new LSM audit hooks\n\nConvert Audit to use the new LSM Audit hooks instead of\nthe exported SELinux interface.\n\nBasically, use:\nsecurity_audit_rule_init\nsecuirty_audit_rule_free\nsecurity_audit_rule_known\nsecurity_audit_rule_match\n\ninstad of (respectively) :\nselinux_audit_rule_init\nselinux_audit_rule_free\naudit_rule_has_selinux\nselinux_audit_rule_match\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "03d37d25e0f91b28c4b6d002be6221f1af4b19d8",
      "tree": "de56538f7b6e7623d7cee2b0fcdc8f9764957252",
      "parents": [
        "6b89a74be0fbbc6cc639d5cf7dcf8e6ee0f120a7"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:00:05 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:36 2008 +1000"
      },
      "message": "LSM/Audit: Introduce generic Audit LSM hooks\n\nIntroduce a generic Audit interface for security modules\nby adding the following new LSM hooks:\n\naudit_rule_init(field, op, rulestr, lsmrule)\naudit_rule_known(krule)\naudit_rule_match(secid, field, op, rule, actx)\naudit_rule_free(rule)\n\nThose hooks are only available if CONFIG_AUDIT is enabled.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "6b89a74be0fbbc6cc639d5cf7dcf8e6ee0f120a7",
      "tree": "c56574f86d518feb898e934e428dbae999236b5a",
      "parents": [
        "0ce784ca729dce8c9076a6339a15530ca13212f2"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:58:32 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:36 2008 +1000"
      },
      "message": "SELinux: remove redundant exports\n\nRemove the following exported SELinux interfaces:\nselinux_get_inode_sid(inode, sid)\nselinux_get_ipc_sid(ipcp, sid)\nselinux_get_task_sid(tsk, sid)\nselinux_sid_to_string(sid, ctx, len)\n\nThey can be substitued with the following generic equivalents\nrespectively:\nnew LSM hook, inode_getsecid(inode, secid)\nnew LSM hook, ipc_getsecid*(ipcp, secid)\nLSM hook, task_getsecid(tsk, secid)\nLSM hook, sid_to_secctx(sid, ctx, len)\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "0ce784ca729dce8c9076a6339a15530ca13212f2",
      "tree": "37efdaaa08c1a5cec7ff91be2287358f5ca79ede",
      "parents": [
        "2a862b32f3da5a2120043921ad301322ad526084"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:56:22 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:35 2008 +1000"
      },
      "message": "Netlink: Use generic LSM hook\n\nDon\u0027t use SELinux exported selinux_get_task_sid symbol.\nUse the generic LSM equivalent instead.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "2a862b32f3da5a2120043921ad301322ad526084",
      "tree": "bb97054b2f648504f670e3eaed2626b547c4d081",
      "parents": [
        "713a04aeaba35bb95d442cdeb52055498519be25"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:54:38 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:34 2008 +1000"
      },
      "message": "Audit: use new LSM hooks instead of SELinux exports\n\nStop using the following exported SELinux interfaces:\nselinux_get_inode_sid(inode, sid)\nselinux_get_ipc_sid(ipcp, sid)\nselinux_get_task_sid(tsk, sid)\nselinux_sid_to_string(sid, ctx, len)\nkfree(ctx)\n\nand use following generic LSM equivalents respectively:\nsecurity_inode_getsecid(inode, secid)\nsecurity_ipc_getsecid*(ipcp, secid)\nsecurity_task_getsecid(tsk, secid)\nsecurity_sid_to_secctx(sid, ctx, len)\nsecurity_release_secctx(ctx, len)\n\nCall security_release_secctx only if security_secid_to_secctx\nsucceeded.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "713a04aeaba35bb95d442cdeb52055498519be25",
      "tree": "a9d995cdc850d159189886e29f44d4ee88516eba",
      "parents": [
        "8a076191f373abaeb4aa5f6755d22e49db98940f"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:52:30 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:33 2008 +1000"
      },
      "message": "SELinux: setup new inode/ipc getsecid hooks\n\nSetup the new inode_getsecid and ipc_getsecid() LSM hooks\nfor SELinux.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "8a076191f373abaeb4aa5f6755d22e49db98940f",
      "tree": "1311a11332abb0828999a7347a07509a68dffb5f",
      "parents": [
        "d1a4be630fb068f251d64b62919f143c49ca8057"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:51:09 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:32 2008 +1000"
      },
      "message": "LSM: Introduce inode_getsecid and ipc_getsecid hooks\n\nIntroduce inode_getsecid(inode, secid) and ipc_getsecid(ipcp, secid)\nLSM hooks. These hooks will be used instead of similar exported\nSELinux interfaces.\n\nLet {inode,ipc,task}_getsecid hooks set the secid to 0 by default\nif CONFIG_SECURITY is not defined or if the hook is set to\nNULL (dummy). This is done to notify the caller that no valid\nsecid exists.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "d1643d24c61b725bef399cc1cf2944b4c9c23177",
      "tree": "ad629b19f6331058001ef46fe6a45dd53122b7d8",
      "parents": [
        "3c051235a7f115c34e675c9cf55820bd3435f860"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Apr 18 15:43:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 18 15:43:32 2008 -0700"
      },
      "message": "[NET]: Fix and allocate less memory for -\u003epriv\u0027less netdevices\n\nThis patch effectively reverts commit d0498d9ae1a5cebac363e38907266d5cd2eedf89\naka \"[NET]: Do not allocate unneeded memory for dev-\u003epriv alignment.\"\nIt was found to be buggy because of final unconditional +\u003d NETDEV_ALIGN_CONST\nremoval.\n\nFor example, for sizeof(struct net_device) being 2048 bytes, \"alloc_size\"\nwas also 2048 bytes, but allocator with debugging options turned on started\ngiving out !32-byte aligned memory resulting in redzones overwrites.\n\nPatch does small optimization in -\u003epriv\u0027less case: bumping size to next\n32-byte boundary was always done to ensure -\u003epriv will also be aligned.\nBut, no -\u003epriv, no need to do that.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1a4be630fb068f251d64b62919f143c49ca8057",
      "tree": "fbd9727874d3377e2c2d0699fabb6c12427408a9",
      "parents": [
        "2cca775baecbfede2fec20c99add709232311fe7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 18 21:32:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 18 23:40:49 2008 +0200"
      },
      "message": "x86 PAT: fix mmap() of holes\n\ndo not return a -EINVAL when mmap()-ing PCI holes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "2cca775baecbfede2fec20c99add709232311fe7",
      "tree": "b0eefe80881d263ba7976174144ae4e9cf238425",
      "parents": [
        "eddeb0e2d863e3941d8768e70cb50c6120e61fa0",
        "94795b61e84994a3b058f92d041d1fb3d869c7d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits)\n  [SCSI] iscsi: bidi support for iscsi_tcp\n  [SCSI] iscsi: bidi support at the generic libiscsi level\n  [SCSI] iscsi: extended cdb support\n  [SCSI] zfcp: Fix error handling for blocked unit for send FCP command\n  [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock\n  [SCSI] zfcp: fix 31 bit compile warnings\n  [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n  [SCSI] bsg: remove minor in struct bsg_device\n  [SCSI] bsg: use better helper list functions\n  [SCSI] bsg: replace kobject_get with blk_get_queue\n  [SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n  [SCSI] qla1280: remove version check\n  [SCSI] libsas: fix endianness bug in sas_ata\n  [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next)\n  [SCSI] aacraid: Do not describe check_reset parameter with its value\n  [SCSI] aacraid: Fix down_interruptible() to check the return value\n  [SCSI] sun3_scsi_vme: add MODULE_LICENSE\n  [SCSI] st: rename flush_write_buffer()\n  [SCSI] tgt: use KMEM_CACHE macro\n  [SCSI] initio: fix big endian problems for auto request sense\n  ...\n"
    },
    {
      "commit": "eddeb0e2d863e3941d8768e70cb50c6120e61fa0",
      "tree": "e30f2b6654e6eb397f9d7fb23a08d717cc19b12d",
      "parents": [
        "855d854a33fca71cf68bad258bd5e66e5b265d10",
        "db8be076cad4b843aa743ef462c75022cddd9c63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:24:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:24:29 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (43 commits)\n  firewire: cleanups\n  firewire: fix synchronization of gap counts\n  firewire: wait until PHY configuration packet was transmitted (fix bus reset loop)\n  firewire: remove unused struct member\n  firewire: use bitwise and to get reg in handle_registers\n  firewire: replace more hex values with defined csr constants\n  firewire: reread config ROM when device reset the bus\n  firewire: replace static ROM cache by allocated cache\n  firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more)\n  firewire: fw-ohci: extend logging of bus generations and node ID\n  firewire: fw-ohci: conditionally log busReset interrupts\n  firewire: fw-ohci: don\u0027t append to AT context when it\u0027s not active\n  firewire: fw-ohci: log regAccessFail events\n  firewire: fw-ohci: make sure HCControl register LPS bit is set\n  firewire: fw-ohci: missing PPC PMac feature calls in failure path\n  firewire: fw-ohci: untangle a mixed unsigned/signed expression\n  firewire: debug interrupt events\n  firewire: fw-ohci: catch self_id_count \u003d\u003d 0\n  firewire: fw-ohci: add self ID error check\n  firewire: fw-ohci: refactor probe, remove, suspend, resume\n  ...\n"
    },
    {
      "commit": "855d854a33fca71cf68bad258bd5e66e5b265d10",
      "tree": "fcb5cac022d38af474c5243182a3c6f91de0b2ec",
      "parents": [
        "e675349e2bdbfb661fa0d8ff2441b4cf48fb7e48"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 13:18:48 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:20:42 2008 -0700"
      },
      "message": "libata: fix boot panic with SATAPI devices on non-SFF HBAs\n\nThe kernel now panics reliably on boot if you have a SATAPI device\nconnected.\n\nThe problem was introduced by the libata merge trying to pull out all\nthe SFF code into a separate module.  Unfortunately, if you\u0027re a satapi\ndevice you usually need to call atapi_request_sense, which has a bare\ninvocation of a SFF callback which is NULL on non-SFF HBAs.  Fix this by\nmaking the call conditional.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e675349e2bdbfb661fa0d8ff2441b4cf48fb7e48",
      "tree": "7443e324c951f375945905dc436b012c98a00e05",
      "parents": [
        "ef38ff9d372d4fe69e415370939a0f1fb5783af1",
        "2309e9e040fe29469fb85a384636c455b62fe525"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:15:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:15:22 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (64 commits)\n  ocfs2/net: Add debug interface to o2net\n  ocfs2: Only build ocfs2/dlm with the o2cb stack module\n  ocfs2/cluster: Get rid of arguments to the timeout routines\n  ocfs2: Put tree in MAINTAINERS\n  ocfs2: Use BUG_ON\n  ocfs2: Convert ocfs2 over to unlocked_ioctl\n  ocfs2: Improve rename locking\n  fs/ocfs2/aops.c: test for IS_ERR rather than 0\n  ocfs2: Add inode stealing for ocfs2_reserve_new_inode\n  ocfs2: Add ac_alloc_slot in ocfs2_alloc_context\n  ocfs2: Add a new parameter for ocfs2_reserve_suballoc_bits\n  ocfs2: Enable cross extent block merge.\n  ocfs2: Add support for cross extent block\n  ocfs2: Move /sys/o2cb to /sys/fs/o2cb\n  sysfs: Allow removal of symlinks in the sysfs root\n  ocfs2:  Reconnect after idle time out.\n  ocfs2/dlm: Cleanup lockres print\n  ocfs2/dlm: Fix lockname in lockres print function\n  ocfs2/dlm: Move dlm_print_one_mle() from dlmmaster.c to dlmdebug.c\n  ocfs2/dlm: Dumps the purgelist into a debugfs file\n  ...\n"
    },
    {
      "commit": "ef38ff9d372d4fe69e415370939a0f1fb5783af1",
      "tree": "fcf38cbbd55298606a695adaf7f2ea97f3185c19",
      "parents": [
        "fda31d7d4b5a9c663ac3ed1ba244018a88deecaf",
        "62be1f71677c53d5e51223807a06ac9052f49b0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:02:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:02:46 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (49 commits)\n  [GFS2] fix assertion in log_refund()\n  [GFS2] fix GFP_KERNEL misuses\n  [GFS2] test for IS_ERR rather than 0\n  [GFS2] Invalidate cache at correct point\n  [GFS2] fs/gfs2/recovery.c: suppress warnings\n  [GFS2] Faster gfs2_bitfit algorithm\n  [GFS2] Streamline quota lock/check for no-quota case\n  [GFS2] Remove drop of module ref where not needed\n  [GFS2] gfs2_adjust_quota has broken unstuffing code\n  [GFS2] possible null pointer dereference fixup\n  [GFS2] Need to ensure that sector_t is 64bits for GFS2\n  [GFS2] re-support special inode\n  [GFS2] remove gfs2_dev_iops\n  [GFS2] fix file_system_type leak on gfs2meta mount\n  [GFS2] Allow bmap to allocate extents\n  [GFS2] Fix a page lock / glock deadlock\n  [GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops\n  [GFS2] gfs2/ops_file.c should #include \"ops_inode.h\"\n  [GFS2] be*_add_cpu conversion\n  [GFS2] Fix bug where we called drop_bh incorrectly\n  ...\n"
    },
    {
      "commit": "fda31d7d4b5a9c663ac3ed1ba244018a88deecaf",
      "tree": "9cbb4028b1529c229aa3b0dcb7a2641018c343d5",
      "parents": [
        "4786b4ee22de6304e841b12ee22b849230d7fba3"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Apr 18 09:54:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:02:12 2008 -0700"
      },
      "message": "x86: kgdb build fix\n\nTF_MASK is no longer defined, use X86_EFLAGS_TF.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94795b61e84994a3b058f92d041d1fb3d869c7d5",
      "tree": "bd4f45ea2c3715a64234774c8e0a61ad38e8087e",
      "parents": [
        "c07d444407de63b2f414a8be9428f88cadba503f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Apr 18 10:11:53 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:53:24 2008 -0500"
      },
      "message": "[SCSI] iscsi: bidi support for iscsi_tcp\n\naccess the right scsi_in() and/or scsi_out() side of things.\nalso for resid\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nReviewed-by: Pete Wyckoff \u003cpw@osc.edu\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c07d444407de63b2f414a8be9428f88cadba503f",
      "tree": "4eabbd7adb9130392beb306cc9f1633258749851",
      "parents": [
        "38d1c069db8c87eb6cb10ca1ede9d9b673531ddd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Apr 18 10:11:52 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:53:00 2008 -0500"
      },
      "message": "[SCSI] iscsi: bidi support at the generic libiscsi level\n\n- prepare the additional bidi_read rlength header.\n- access the right scsi_in() and/or scsi_out() side of things.\n  also for resid.\n- Handle BIDI underflow overflow from target\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nReviewed-by: Pete Wyckoff \u003cpw@osc.edu\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "38d1c069db8c87eb6cb10ca1ede9d9b673531ddd",
      "tree": "b5e823e2225620f0db342e70e107831e505b9276",
      "parents": [
        "57b7658aed76f1763416878ead9be4ffa288b7a3"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Apr 18 10:11:51 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:51:19 2008 -0500"
      },
      "message": "[SCSI] iscsi: extended cdb support\n\nSupport for extended CDBs in iscsi.\nAll we need is to check if command spills over 16 bytes then allocate\nan iscsi-extended-header for the leftovers.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nReviewed-by: Pete Wyckoff \u003cpw@osc.edu\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "57b7658aed76f1763416878ead9be4ffa288b7a3",
      "tree": "db71d536ac49b2bd63e43d1fc840f33e909fac7e",
      "parents": [
        "6071d7ec36054e78f02f7d5a66c3784aeb65ce92"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Apr 18 12:51:57 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:50:41 2008 -0500"
      },
      "message": "[SCSI] zfcp: Fix error handling for blocked unit for send FCP command\n\nIn the case the unit is blocked, zfcp_unit_get has not been called\nyet, so the error handling path should not call zfcp_unit_put.\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "6071d7ec36054e78f02f7d5a66c3784aeb65ce92",
      "tree": "136e9ecfbd0ffb15029170bf210a4ff0579e4a2c",
      "parents": [
        "1f6f7129ebac007629b28764bfa5147817682692"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Apr 18 12:51:56 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:50:30 2008 -0500"
      },
      "message": "[SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock\n\nThe testcase\n# chchp -v 0 0.da \u0026\u0026 sleep 59 \u0026\u0026 chchp -v 1 0.da\nresults in this deadlock situation:\n\nSTACK TRACE FOR TASK: 0x7e9a2048 (zfcperp0.0.c613)\n0 schedule+816 [0x356b3c]\n1 schedule_timeout+172 [0x357340]\n2 wait_for_common+192 [0x3565fc]\n3 flush_cpu_workqueue+116 [0x52af0]\n4 flush_workqueue+116 [0x533b8]\n5 fc_remote_port_add+64 [0x1c83ec]\n6 zfcp_erp_thread+4534 [0x26585a]\n7 kernel_thread_starter+6 [0x195d2]\n\nSTACK TRACE FOR TASK: 0x7f8ec048 (fc_wq_0)\n0 schedule+816 [0x356b3c]\n1 zfcp_erp_wait+104 [0x264568]\n2 zfcp_scsi_slave_destroy+64 [0x261b24]\n3 __scsi_remove_device+154 [0x1c24ba]\n4 scsi_remove_device+62 [0x1c2512]\n5 __scsi_remove_target+198 [0x1c25ea]\n6 __remove_child+58 [0x1c26d6]\n7 device_for_each_child+66 [0x1ab566]\n8 scsi_remove_target+98 [0x1c268a]\n9 run_workqueue+200 [0x5272c]\n10 worker_thread+146 [0x52882]\n11 kthread+140 [0x58360]\n12 kernel_thread_starter+6 [0x195d2]\n\nRemove the zfcp_erp_wait call that is not required here to prevent the\ndeadlock situation.\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "1f6f7129ebac007629b28764bfa5147817682692",
      "tree": "4e0420ff91ed617a97e48b0db81d334e5ba80935",
      "parents": [
        "99773aab0377ee5bcaf37b7cd2577c3465422dab"
      ],
      "author": {
        "name": "Martin Peschke",
        "email": "mp3@de.ibm.com",
        "time": "Fri Apr 18 12:51:55 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:50:17 2008 -0500"
      },
      "message": "[SCSI] zfcp: fix 31 bit compile warnings\n\ndrivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_rscn’:\ndrivers/s390/scsi/zfcp_aux.c:1379: warning: cast from pointer to integer of\ndifferent size\ndrivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_plogi’:\ndrivers/s390/scsi/zfcp_aux.c:1432: warning: cast from pointer to integer of\ndifferent size\ndrivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_logo’:\ndrivers/s390/scsi/zfcp_aux.c:1457: warning: cast from pointer to integer of\ndifferent size\n..\n\nJust passing pointers rids us of these warnings and improves readability.\n\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "99773aab0377ee5bcaf37b7cd2577c3465422dab",
      "tree": "17f6246e20ed3d33d66fe105b20322cccb6c19a9",
      "parents": [
        "842ea771c38a3f0f78bdb1b4d47881e6a210fc15"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:42 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:43 2008 -0500"
      },
      "message": "[SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n\nBefore bsg_complete_all_commands is called, BSG_F_BLOCK bit is always\nset.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "842ea771c38a3f0f78bdb1b4d47881e6a210fc15",
      "tree": "9cf19d7f833922ddada7cf3ccbeec617ac77eda1",
      "parents": [
        "43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:41 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:26 2008 -0500"
      },
      "message": "[SCSI] bsg: remove minor in struct bsg_device\n\nminor in struct bsg_device is used as identifier to find the\ncorresponding struct bsg_device_class. However, request_queuse can be\nused as identifier for that and the minor in struct bsg_device is\nunnecessary.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234",
      "tree": "9c7f042739e3d16c6704be508adff6a7fe1f9c52",
      "parents": [
        "c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:40 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:08 2008 -0500"
      },
      "message": "[SCSI] bsg: use better helper list functions\n\nThis replace hlist_for_each and list_entry with hlist_for_each_entry\nand list_first_entry respectively.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42",
      "tree": "c012845d2203b81afd4b2dade9dc9f0d453da906",
      "parents": [
        "d45ac4fa8f277e1ec5acfb67ce5d6406555760cf"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:39 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:47:49 2008 -0500"
      },
      "message": "[SCSI] bsg: replace kobject_get with blk_get_queue\n\nBoth takes a ref to a queue. But blk_get_queue checks QUEUE_FLAG_DEAD\nand is more appropriate interface here.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d45ac4fa8f277e1ec5acfb67ce5d6406555760cf",
      "tree": "f620055da979b1af58bfdac16f35f90cd67e6f13",
      "parents": [
        "0e4ff797d7f2f2bb860b8f31dc5d1f2273b2f05a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:38 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:47:19 2008 -0500"
      },
      "message": "[SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n\nbsg_register_queue() takes a ref to struct device that a caller\npasses. For example, bsg takes a ref to the sdev_gendev for scsi\ndevices. However, bsg doesn\u0027t inrease the refcount in fops-\u003eopen. So\nwhile an application opens a bsg device, the scsi device that the bsg\ndevice holds can go away (bsg also takes a ref to a queue, but it\ndoesn\u0027t prevent the device from going away).\n\nWith this patch, bsg increases the refcount of struct device in\nfops-\u003eopen and decreases it in fops-\u003erelease.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "4786b4ee22de6304e841b12ee22b849230d7fba3",
      "tree": "08793b8fbcd63204d5d3355ac755745adcfef170",
      "parents": [
        "253ba4e79edc695b2925bd2ef34de06ff4d4070c",
        "71b264f85ff50c14fe945ffff06ae0d5e9a9124e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 09:44:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 09:44:55 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (27 commits)\n  [IA64] kdump: Add crash_save_vmcoreinfo for INIT\n  [IA64] Fix NUMA configuration issue\n  [IA64] Itanium Spec updates\n  [IA64] Untangle sync_icache_dcache() page size determination\n  [IA64] arch/ia64/kernel/: use time_* macros\n  [IA64] remove redundant display of free swap space in show_mem()\n  [IA64] make IOMMU respect the segment boundary limits\n  [IA64] kprobes: kprobe-booster for ia64\n  [IA64] fix getpid and set_tid_address fast system calls for pid namespaces\n  [IA64] Replace explicit jiffies tests with time_* macros.\n  [IA64] use goto to jump out do/while_each_thread\n  [IA64] Fix unlock ordering in smp_callin\n  [IA64] pgd_offset() constfication.\n  [IA64] kdump: crash.c coding style fix\n  [IA64] kdump: add kdump_on_fatal_mca\n  [IA64] Minimize per_cpu reservations.\n  [IA64] Correct pernodesize calculation.\n  [IA64] Kernel parameter for max number of concurrent global TLB purges\n  [IA64] Multiple outstanding ptc.g instruction support\n  [IA64] Implement smp_call_function_mask for ia64\n  ...\n"
    },
    {
      "commit": "2309e9e040fe29469fb85a384636c455b62fe525",
      "tree": "e3ecf7af432e1504a0c785525bc4247305916173",
      "parents": [
        "93b06edb5127315473d87e075b2b1d1acf74659c"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Apr 14 10:46:19 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:20 2008 -0700"
      },
      "message": "ocfs2/net: Add debug interface to o2net\n\nThis patch exposes o2net information via debugfs. The information includes\nthe list of sockets (sock_containers) as well as the list of outstanding\nmessages (send_tracking). Useful for o2dlm debugging.\n\n(This patch is derived from an earlier one written by Zach Brown that\nexposed the same information via /proc.)\n\n[Mark: checkpatch fixes]\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "93b06edb5127315473d87e075b2b1d1acf74659c",
      "tree": "bc11bd21d571b130cd446bed0db729f2264a9dc6",
      "parents": [
        "409753bf6da4a2db038027471abaf324e063db2f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 04 12:45:55 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:12 2008 -0700"
      },
      "message": "ocfs2: Only build ocfs2/dlm with the o2cb stack module\n\nfs/ocfs2/dlm/ocfs2_dlm.ko and fs/ocfs2/dlm/ocfs2_dlmfs.ko get built if\nCONFIG_FS_OCFS2 is specified. This isn\u0027t quite how it should happen any more\n- the \"o2cb\" dlm modules should only be built if CONFIG_FS_OCFS2_O2CB is\nset, so update the dlm Makefile accordingly.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "409753bf6da4a2db038027471abaf324e063db2f",
      "tree": "3f59dcf8949aa09585837138fcd8dd76b97fcd23",
      "parents": [
        "dda47bce91b8624ef0806f7f8157ffc91e153c9d"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Mar 28 16:44:13 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:12 2008 -0700"
      },
      "message": "ocfs2/cluster: Get rid of arguments to the timeout routines\n\nWe keep seeing bug reports related to NULL pointer derefs in\no2net_set_nn_state(). When I originally wrote up the configurable timeout\npatch, I had tried to plan for multiple clusters. This was silly.\n\nThe timeout routines all use o2nm_single_cluster so there\u0027s no point in\npassing an argument at all. This patch removes the arguments and kills those\nbugs dead.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dda47bce91b8624ef0806f7f8157ffc91e153c9d",
      "tree": "f77bac371658d7d41b1f0a8d9e6f4e756c1e5a3d",
      "parents": [
        "b1f3550fa1471b691ad6c2f35b5b22e93eaa5855"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Sat Mar 22 22:08:07 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Put tree in MAINTAINERS\n\nThe ocfs2 MAINTAINERS entry should have the git tree URL.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b1f3550fa1471b691ad6c2f35b5b22e93eaa5855",
      "tree": "0d481a71d202883df116c55fdac4a4a60c4ca091",
      "parents": [
        "c9ec14884d69a303eef4faae42bd3c4e25b19941"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Mar 04 15:21:05 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Use BUG_ON\n\nif (...) BUG(); should be replaced with BUG_ON(...) when the test has no\nside-effects to allow a definition of BUG_ON that drops the code completely.\n\nThe semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@ disable unlikely @ expression E,f; @@\n\n(\n  if (\u003c... f(...) ...\u003e) { BUG(); }\n|\n- if (unlikely(E)) { BUG(); }\n+ BUG_ON(E);\n)\n\n@@ expression E,f; @@\n\n(\n  if (\u003c... f(...) ...\u003e) { BUG(); }\n|\n- if (E) { BUG(); }\n+ BUG_ON(E);\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c9ec14884d69a303eef4faae42bd3c4e25b19941",
      "tree": "50ed19faff3fbaaab8dfa872b506501a24826df3",
      "parents": [
        "5dabd69515765156605b09261abf969236a77803"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Jan 27 03:17:17 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Convert ocfs2 over to unlocked_ioctl\n\nAs far as I can see there is nothing in ocfs2_ioctl that requires the BKL,\nso use unlocked_ioctl\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "5dabd69515765156605b09261abf969236a77803",
      "tree": "4a44a7554c9513f012c4140793d1620001809999",
      "parents": [
        "58dadcdbc2584db050969f9781727fc5a3f618db"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Feb 21 18:00:00 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Improve rename locking\n\nocfs2_rename() was being too aggressive with the rename lock - we only need\nit for certain forms of directory rename.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "58dadcdbc2584db050969f9781727fc5a3f618db",
      "tree": "40df8466e7409be77131ee6d61a66649f57f4425",
      "parents": [
        "4d0ddb2ce25db2254d468233d942276ecf40bff8"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Mar 28 14:43:10 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "fs/ocfs2/aops.c: test for IS_ERR rather than 0\n\nThe function ocfs2_start_trans always returns either a valid pointer or a\nvalue made with ERR_PTR, so its result should be tested with IS_ERR, not\nwith a test for 0.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4d0ddb2ce25db2254d468233d942276ecf40bff8",
      "tree": "6a114da03bb9911de637146f2b24866f1ae96718",
      "parents": [
        "a4a4891164d4f6f383cc17e7c90828a7ca6a1146"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Mar 05 16:11:46 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2: Add inode stealing for ocfs2_reserve_new_inode\n\nInode allocation is modified to look in other nodes allocators during\nextreme out of space situations. We retry our own slot when space is freed\nback to the global bitmap, or whenever we\u0027ve allocated more than 1024 inodes\nfrom another slot.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a4a4891164d4f6f383cc17e7c90828a7ca6a1146",
      "tree": "a0a881ae3f1910d5f4e4aa9824f93781616ef99f",
      "parents": [
        "ffda89a3bf3b968bdc268584c6bc1da5c173cf12"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Mar 03 17:12:30 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2: Add ac_alloc_slot in ocfs2_alloc_context\n\nIn inode stealing, we no longer restrict the allocation to\nhappen in the local node. So it is neccessary for us to add\na new member in ocfs2_alloc_context to indicate which slot\nwe are using for allocation. We also modify the process of\nlocal alloc so that this member can be used there also.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ffda89a3bf3b968bdc268584c6bc1da5c173cf12",
      "tree": "02ac05f5d3177a402b21bd3aaceea1d6935ecc63",
      "parents": [
        "ad5a4d7093a76fa245e277e6f0f0e168a08aeff7"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Mar 03 17:12:09 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2: Add a new parameter for ocfs2_reserve_suballoc_bits\n\nIn some cases(Inode stealing from other nodes), we may not want\nocfs2_reserve_suballoc_bits to allocate new groups from the\nglobal_bitmap since it may already be full. So add a new parameter\nfor this.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ad5a4d7093a76fa245e277e6f0f0e168a08aeff7",
      "tree": "b81571bdf7e62a386a732aaa878346f515c37054",
      "parents": [
        "677b975282e48d1818df4181336307377d56b04e"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Jan 30 14:21:32 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2: Enable cross extent block merge.\n\nIn ocfs2_figure_merge_contig_type, we judge whether there exists\na cross extent block merge and enable it by setting CONTIG_LEFT\nand CONTIG_RIGHT accordingly.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "677b975282e48d1818df4181336307377d56b04e",
      "tree": "eb4014d515d3dd23bf70d9cace666f2c85864141",
      "parents": [
        "52f7c21b613f80cb425d115c9e5b4ed958a133c0"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Jan 30 14:21:05 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2: Add support for cross extent block\n\nIn ocfs2_merge_rec_left, when we find the merge extent is \"CONTIG_RIGHT\"\nwith the first extent record of the next extent block, we will merge it to\nthe next extent block and change all the related extent blocks accordingly.\n\nIn ocfs2_merge_rec_right, when we find the merge extent is \"CONTIG_LEFT\"\nwith the last extent record of the previous extent block, we will merge\nit to the prevoius extent block and change all the related extent blocks\naccordingly.\n\nAs for CONTIG_LEFTRIGHT, we will handle CONTIG_RIGHT first so that when\nthe index is zero, the merge process will be more efficient and easier.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "52f7c21b613f80cb425d115c9e5b4ed958a133c0",
      "tree": "c153942e3fb645dd5f7435d9d08b0d27a8aed517",
      "parents": [
        "a839c5afcdc345aecb35b0d3bcd0e09b571329c3"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Jan 29 17:08:26 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2: Move /sys/o2cb to /sys/fs/o2cb\n\n/sys/fs is where we really want file system specific sysfs objects.\n\nOcfs2-tools has been updated to look in /sys/fs/o2cb. We can maintain\nbackwards compatibility with old ocfs2-tools by using a sysfs symlink. After\nsome time (2 years), the symlink can be safely removed. This patch also adds\ndocumentation to make it easier for people to figure out what /sys/fs/o2cb\nis used for.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a839c5afcdc345aecb35b0d3bcd0e09b571329c3",
      "tree": "58fda1dc26c12edc365e7cd2fe12f8dfc7554dd2",
      "parents": [
        "5cc3bf2786f63cceb191c3c02ddd83c6f38a7d64"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Jan 29 14:35:18 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "sysfs: Allow removal of symlinks in the sysfs root\n\nAllow callers of sysfs_remove_link() to pass a NULL kobj, in which case\nsysfs_root will be used as the parent directory. This allows us to tear down\ntop level symlinks created via sysfs_create_link(), which already has\nsimilar handling of a NULL parent object.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5cc3bf2786f63cceb191c3c02ddd83c6f38a7d64",
      "tree": "a9d7f6fa7d251cff67d6b177835ff1f43d23ab2d",
      "parents": [
        "8f50eb978935431ccbf89b0344efd4ce6a924875"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Mar 05 15:50:12 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2:  Reconnect after idle time out.\n\nCurrently, o2net connects to a node on hb_up and disconnects on\nhb_down and net timeout.\n\nIt disconnects on net timeout is ok, but it should attempt to\nreconnect back. This is because sometimes nodes get overloaded\nenough that the network connection breaks but the disk hb does not.\nAnd if we get into that situation, we either fence (unnecessarily)\nor wait for its disk hb to die (and sometimes hang in the process).\n\nSo in this updated scheme, when the network disconnects, we keep\nattempting to reconnect till we succeed or we get a disk hb down\nevent.\n\nIf the other node is really dead, then we will eventually get a\nnode down event. If not, we should be able to connect again and\ncontinue.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8f50eb978935431ccbf89b0344efd4ce6a924875",
      "tree": "4da4761d5df570fdefdde65b6105bda86f19c77e",
      "parents": [
        "c834cdb15702dd0147875b352cc7d4df93d7d900"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Mar 14 11:18:24 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Cleanup lockres print\n\nA previous patch added KERN_NOTICE to printks printing the lockres that\ncluttered the output. This patch removes the log level. For people concerned\nwith syslog clutter, please note we now use this facility to print lockres\nonly during an error.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c834cdb15702dd0147875b352cc7d4df93d7d900",
      "tree": "a6f52ecac73779c5679e3731c304901ff7d2b8d1",
      "parents": [
        "e5a0334cbd65e27f8dfd9985aa805874fe59e879"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:29 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Fix lockname in lockres print function\n\n__dlm_print_one_lock_resource was printing lockname incorrectly.\nAlso, we now use printk directly instead of mlog as the latter prints\nthe line context which is not useful for this print.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e5a0334cbd65e27f8dfd9985aa805874fe59e879",
      "tree": "adc51fd08d763c93cbe737e6bb3107b46df4c391",
      "parents": [
        "7209300a9b987e017cae2ef9d7ef55b0fdd71869"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:28 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Move dlm_print_one_mle() from dlmmaster.c to dlmdebug.c\n\nThis patch helps in consolidating debugging related functions in dlmdebug.c.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "7209300a9b987e017cae2ef9d7ef55b0fdd71869",
      "tree": "928002c58079dc53846248c7c91c293432dfdf8c",
      "parents": [
        "d0129aceaecc2b1f5171b8e8036eb469b6e0fe81"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:27 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Dumps the purgelist into a debugfs file\n\nThis patch dumps all the lockres\u0027 on the purgelist it can fit in one page\ninto a debugfs file. Useful for debugging.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d0129aceaecc2b1f5171b8e8036eb469b6e0fe81",
      "tree": "30a949c91d66f9b7e97e4fe85186aac958075e67",
      "parents": [
        "751155a953e1fe558d3d3c3db7087712ffc15c3e"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:26 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Dumps the mles into a debugfs file\n\nThis patch dumps all mles it can fit in one page into a debugfs file.\nUseful for debugging.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "751155a953e1fe558d3d3c3db7087712ffc15c3e",
      "tree": "b06e8ffcea48016d339c5fb47a948d40c2c84be9",
      "parents": [
        "4e3d24ed1a1285fe3289653aacc965642706bacb"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:25 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Move struct dlm_master_list_entry to dlmcommon.h\n\nThis patch moves some mle related definitions from dlmmaster.c\nto dlmcommon.h. Future patches need these definitions to dump mle\ndebugging information.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.beckeroracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4e3d24ed1a1285fe3289653aacc965642706bacb",
      "tree": "91a65866f2b56da281e0863d107e726d59b39788",
      "parents": [
        "007dce53a29ccffc000ab5373d188f73881390fd"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:24 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:09 2008 -0700"
      },
      "message": "ocfs2/dlm: Dumps the lockres\u0027 into a debugfs file\n\nThis patch dumps all the lockres\u0027 alongwith all the locks into\na debugfs file. Useful for debugging.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "007dce53a29ccffc000ab5373d188f73881390fd",
      "tree": "84ce6e26cc3bed0cb2e041b1a4aabca3449498ff",
      "parents": [
        "6325b4a22b8f5e40ea9353288b3d6a32181f9718"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:23 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:08 2008 -0700"
      },
      "message": "ocfs2/dlm: Dump the dlm state in a debugfs file\n\nThis patch dumps the dlm state (dlm_ctxt) into a debugfs file.\nUseful for debugging.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "6325b4a22b8f5e40ea9353288b3d6a32181f9718",
      "tree": "3a76692cc5c1c7dfa9d7341ea8b07cb7eb4dadd0",
      "parents": [
        "29576f8bb54045be944ba809d4fca1ad77c94165"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:22 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:08 2008 -0700"
      },
      "message": "ocfs2/dlm: Create debugfs dirs\n\nThis patch creates the debugfs directories that will hold the\nfiles to be used to dump the dlm state.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "29576f8bb54045be944ba809d4fca1ad77c94165",
      "tree": "9fd56f286df824a819e8fe44316076f55bfb2030",
      "parents": [
        "724bdca9b8449d9ee5f779dc27ee3d906a04508c"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:21 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:08 2008 -0700"
      },
      "message": "ocfs2/dlm: Link all lockres\u0027 to a tracking list\n\nThis patch links all the lockres\u0027 to a tracking list in dlm_ctxt.\nWe will use this in an upcoming patch that will walk the entire\nlist and to dump the lockres states to a debugfs file.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "724bdca9b8449d9ee5f779dc27ee3d906a04508c",
      "tree": "c12d1028d862a58ce7a01024ba9b1f04ab157e3b",
      "parents": [
        "12eb0035d6f0466038ef2c6e5f6f9296b9b74d91"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:20 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:08 2008 -0700"
      },
      "message": "ocfs2/dlm: Create slabcaches for lock and lockres\n\nThis patch makes the o2dlm allocate memory for lockres, lockname and lock\nstructures from slabcaches rather than kmalloc. This allows us to not only\nmake these allocs more efficient but also allows us to track the memory being\nconsumed by these structures.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "12eb0035d6f0466038ef2c6e5f6f9296b9b74d91",
      "tree": "db601dd2405f8beecf776338376079ed5841106b",
      "parents": [
        "53f67e33865927049b20839ce15ce0fb5b7ebe2d"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Mar 10 15:16:19 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:08 2008 -0700"
      },
      "message": "ocfs2/dlm: Rename slabcache dlm_mle_cache to o2dlm_mle\n\nThis patch renames dlm_mle_slabcache to prevent namespace clashes with fs/dlm.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "53f67e33865927049b20839ce15ce0fb5b7ebe2d",
      "tree": "65aa271a1195c677b1846a09f53af176b2e16a49",
      "parents": [
        "9341d22942d63d6a1e4cc90f246980dbb7e1ca94"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Mar 31 16:22:55 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: Document /sys/fs/ocfs2\n\nAdd ABI documentation for these files:\n\n\t/sys/fs/ocfs2/max_locking_protocol\n\t/sys/fs/ocfs2/loaded_cluster_plugins\n\t/sys/fs/ocfs2/active_cluster_plugin\n\t/sys/fs/ocfs2/cluster_stack\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9341d22942d63d6a1e4cc90f246980dbb7e1ca94",
      "tree": "b06edc1bdf80acbcf501f1a8df53198102c6ac07",
      "parents": [
        "b92eccdd28e1e3870a5b2aa625282c9ae8e35cec"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Mar 04 17:58:56 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: Allow selection of cluster plug-ins.\n\nocfs2 now supports plug-ins for the classic O2CB stack as well as\nuserspace cluster stacks in conjunction with fs/dlm.  This allows zero,\none, or both of the plug-ins to be selected in Kconfig.  For local mounts\n(non-clustered), neither plug-in is needed.  Both plugins can be loaded\nat one time, the runtime will select the one needed for the cluster\nsystme in use.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b92eccdd28e1e3870a5b2aa625282c9ae8e35cec",
      "tree": "2b8b1c8036804fa5312951daf126e181a87a9296",
      "parents": [
        "8f318311faf57481452895448e6ffaec7c38a146"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Nov 28 14:53:30 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: Add kbuild for ocfs2_stack_user.ko\n\nAdd ocfs2_stack_user.ko to the Makefile so that it builds.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8f318311faf57481452895448e6ffaec7c38a146",
      "tree": "af367ab2dc2b155ebf8c642d17b5cead1fe637d7",
      "parents": [
        "cf4d8d75d8aba537a19b313a9364fd08ddbd5622"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Mar 04 16:09:39 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: Change mlog_bug_on to BUG_ON in ocfs2_lockid.h\n\nThe masklog code is in the o2cb stack, but ocfs2_lockid.h now needs to\nbe included by the user stack.  The BUG() in ocfs2_lock_type_string()\ndoes not need masklog support, so change it to a regular BUG_ON().\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "cf4d8d75d8aba537a19b313a9364fd08ddbd5622",
      "tree": "8d07679a7a28375784b0ae9461ccea3d42aaafe5",
      "parents": [
        "d4b95eef4dc4a59bcd42bdf783638a2eaa57b4c8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 20 14:29:27 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: add fsdlm to stackglue\n\nAdd code to use fs/dlm.\n\n[ Modified to be part of the stack_user module -- Joel ]\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d4b95eef4dc4a59bcd42bdf783638a2eaa57b4c8",
      "tree": "b09a20940c6089bf7b8c297fa618bd03183857e6",
      "parents": [
        "3cfd4ab6b6b4bee2035b62e1c293801c3d257502"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Feb 20 15:39:44 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: Add the \u0027set version\u0027 message to the ocfs2_control device.\n\nThe \"SETV\" message sets the filesystem locking protocol version as\nnegotiated by the client.  The client negotiates based on the maximum\nversion advertised in /sys/fs/ocfs2/max_locking_protocol.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "3cfd4ab6b6b4bee2035b62e1c293801c3d257502",
      "tree": "c1bc209a90a73be354f912dc385ddaa5b2b53752",
      "parents": [
        "de870ef02295c9f5601dbf2efdc1be6df44b187b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Feb 20 14:44:34 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:06 2008 -0700"
      },
      "message": "ocfs2: Add the local node id to the handshake.\n\nThis is the second part of the ocfs2_control handshake.  After\nnegotiating the ocfs2_control protocol, the daemon tells the filesystem\nwhat the local node id is via the SETN message.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "de870ef02295c9f5601dbf2efdc1be6df44b187b",
      "tree": "83f53dc9d12a57dbb5cec4bf838673b0bdb8da92",
      "parents": [
        "462c7e6a257e547eebe1648396cf7c45e684091b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Feb 18 17:07:09 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:06 2008 -0700"
      },
      "message": "ocfs2: Introduce the DOWN message to ocfs2_control\n\nWhen the control daemon sees a node go down, it sends a DOWN message\nthrough the ocfs2_control device.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "462c7e6a257e547eebe1648396cf7c45e684091b",
      "tree": "d7785bd3a40d9ce5964b426cca6a1451bc5979a4",
      "parents": [
        "6427a727557d9c964b7b162ae11bb156e2c501d5"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Feb 18 19:40:12 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:06 2008 -0700"
      },
      "message": "ocfs2: Start the ocfs2_control handshake.\n\nWhen a control daemon opens the ocfs2_control device, it must perform a\nhandshake to tell the filesystem it is something capable of monitoring\ncluster status.  Only after the handshake is complete will the filesystem\nallow mounts.\n\nThis is the first part of the handshake.  The daemon reads all supported\nocfs2_control protocols, then writes in the protocol it will use.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "6427a727557d9c964b7b162ae11bb156e2c501d5",
      "tree": "767767f88890db68718d474e6f4502c6f580e26b",
      "parents": [
        "8adf0536c9fb578a8542dcf81104d3438a5287e4"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Feb 18 19:23:28 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:06 2008 -0700"
      },
      "message": "ocfs2: Add the ocfs2_control misc device.\n\nThe ocfs2_control misc device is how a userspace control daemon (controld)\ntalks to the filesystem.  Introduce the bare-bones filesystem ops.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8adf0536c9fb578a8542dcf81104d3438a5287e4",
      "tree": "6114a79f12b292792b638dc39e1b0b004c26ee8e",
      "parents": [
        "9c6c877c04ce17d76a35d2173d3a3840d6b796a2"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Nov 28 14:38:40 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:06 2008 -0700"
      },
      "message": "ocfs2: Add the user stack module.\n\nAdd a skeleton for the stack_user module.  It\u0027s just the barebones module\ncode.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9c6c877c04ce17d76a35d2173d3a3840d6b796a2",
      "tree": "db8bd7a104f17ddc28b0e642f39cbd059aca0fb7",
      "parents": [
        "b61817e1166c5e19c08baf05196477cc345e1b1a"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 15:17:30 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Add the \u0027cluster_stack\u0027 sysfs file.\n\nUserspace can now query and specify the cluster stack in use via the\n/sys/fs/ocfs2/cluster_stack file.  By default, it is \u0027o2cb\u0027, which is\nthe classic stack.  Thus, old tools that do not know how to modify this\nfile will work just fine.  The stack cannot be modified if there is a\nlive filesystem.\n\nocfs2_cluster_connect() now takes the expected cluster stack as an\nargument.  This way, the filesystem and the stack glue ensure they are\nspeaking to the same backend.\n\nIf the stack is \u0027o2cb\u0027, the o2cb stack plugin is used.  For any other\nvalue, the fsdlm stack plugin is selected.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b61817e1166c5e19c08baf05196477cc345e1b1a",
      "tree": "8da1c387086313aecdbb8f96fd0ab33417860620",
      "parents": [
        "74ae4e104dfc57017783fc07d5f2f9129062207f"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 15:08:23 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Add the USERSPACE_STACK incompat bit.\n\nThe filesystem gains the USERSPACE_STACK incomat bit and the\ns_cluster_info field on the superblock.  When a userspace stack is in\nuse, the name of the stack is stored on-disk for mount-time\nverification.\n\nThe \"cluster_stack\" option is added to mount(2) processing.  The mount\nprocess needs to pass the matching stack name.  If the passed name and\nthe on-disk name do not match, the mount is failed.\n\nWhen using the classic o2cb stack, the incompat bit is *not* set and no\nmount option is used other than the usual heartbeat\u003dlocal.  Thus, the\nfilesystem is compatible with older tools.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "74ae4e104dfc57017783fc07d5f2f9129062207f",
      "tree": "4b33a403e1c23acb5bcb756d9cab17f3609e79ed",
      "parents": [
        "286eaa95c5c5915a6b72cc3f0a2534161fd7928b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jan 31 23:56:17 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Create stack glue sysfs files.\n\nIntroduce a set of sysfs files that describe the current stack glue\nstate.  The files live under /sys/fs/ocfs2.  The locking_protocol file\ndisplays the version of ocfs2\u0027s locking code.  The\nloaded_cluster_plugins file displays all of the currently loaded stack\nplugins.  When filesystems are mounted, the active_cluster_plugin file\nwill display the plugin in use.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "286eaa95c5c5915a6b72cc3f0a2534161fd7928b",
      "tree": "dce03b619389cc5b5e2508b30ca3e1411401cf4e",
      "parents": [
        "e3dad42bf993a0f24eb6e46152356c9b119c15e8"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 15:03:57 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Break out stackglue into modules.\n\nWe define the ocfs2_stack_plugin structure to represent a stack driver.\nThe o2cb stack code is split into stack_o2cb.c.  This becomes the\nocfs2_stack_o2cb.ko module.\n\nThe stackglue generic functions are similarly split into the\nocfs2_stackglue.ko module.  This module now provides an interface to\nregister drivers.  The ocfs2_stack_o2cb driver registers itself.  As\npart of this interface, ocfs2_stackglue can load drivers on demand.\nThis is accomplished in ocfs2_cluster_connect().\n\nocfs2_cluster_disconnect() is now notified when a _hangup() is pending.\nIf a hangup is pending, it will not release the driver module and will\nlet _hangup() do that.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e3dad42bf993a0f24eb6e46152356c9b119c15e8",
      "tree": "df0419dc5e4387db7e6a6e0118bb5b9d01d8c0b2",
      "parents": [
        "553aa7e408eac402c00b67ddfa7aec13fe1f3a33"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 15:02:36 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Create ocfs2_stack_operations and split out the o2cb stack.\n\nDefine the ocfs2_stack_operations structure.  Build o2cb_stack_ops from\nall of the o2cb-specific stack functions.  Change the generic stack glue\nfunctions to call the stack_ops instead of the o2cb functions directly.\n\nThe o2cb functions are moved to stack_o2cb.c.  The headers are cleaned up\nto where only needed headers are included.\n\nIn this code, stackglue.c and stack_o2cb.c refer to some shared\nextern variables.  When they become modules, that will change.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "553aa7e408eac402c00b67ddfa7aec13fe1f3a33",
      "tree": "e11fd9dea8baa79e65a9baa261e2da8f467d167a",
      "parents": [
        "63e0c48ae6986a5bbb8e8dd9210c0e6ca79f2e50"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 14:51:03 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Split o2cb code from generic stack functions.\n\nSplit off the o2cb-specific funtionality from the generic stack glue\ncalls.  This is a precurser to wrapping the o2cb functionality in an\noperations vector.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "63e0c48ae6986a5bbb8e8dd9210c0e6ca79f2e50",
      "tree": "761be605ec94525d51ad09074bc70a2f9ddb2537",
      "parents": [
        "cf0acdcd640e9466059e69951c557e90b4bee45a"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Jan 30 16:58:36 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Clean up stackglue initialization\n\nThe stack glue initialization function needs a better name so that it can be\nused cleanly when stackglue becomes a module.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "cf0acdcd640e9466059e69951c557e90b4bee45a",
      "tree": "c54bccbed204770005265176500ae0549d4ca31a",
      "parents": [
        "1693a5c0117f8ccd010a666f97aaf0f14fb0a0e4"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 29 16:59:55 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: Abstract out a debugging function for underlying dlms.\n\ndlmglue.c was still referencing a raw o2dlm lksb in one instance.  Let\u0027s\ncreate a generic ocfs2_dlm_dump_lksb() function.  This allows underlying\nDLMs to print whatever they want about their lock.\n\nWe then move the o2dlm dump into stackglue.c where it belongs.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "1693a5c0117f8ccd010a666f97aaf0f14fb0a0e4",
      "tree": "189560d59df3eebfe756698d24219008d9662606",
      "parents": [
        "de551246e7bc5558371c3427889a8db1b8cc60f4"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 16:52:53 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: handle async EAGAIN from NOQUEUE request\n\nWhen using fsdlm, -EAGAIN is returned in the async callback for NOQUEUE\nrequests. Fix up dlmglue to expect this.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "de551246e7bc5558371c3427889a8db1b8cc60f4",
      "tree": "31ae24280b8c3517434a894c32e9aa5faae2a173",
      "parents": [
        "0abd6d1803b01c741430af270026d1d95a103d9c"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 14:45:08 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: Remove CANCELGRANT from the view of dlmglue.\n\no2dlm has the non-standard behavior of providing a cancel callback\n(unlock_ast) even when the cancel has failed (the locking operation\nsucceeded without canceling).  This is called CANCELGRANT after the\nstatus code sent to the callback.  fs/dlm does not provide this\ncallback, so dlmglue must be changed to live without it.\no2dlm_unlock_ast_wrapper() in stackglue now ignores CANCELGRANT calls.\n\nBecause dlmglue no longer sees CANCELGRANT, ocfs2_unlock_ast() no longer\nneeds to check for it.  ocfs2_locking_ast() must catch that a cancel was\ntried and clear the cancel state.\n\nMaking these changes opens up a locking race.  dlmglue uses the the\nOCFS2_LOCK_BUSY flag to ensure only one thread is calling the dlm at any\none time.  But dlmglue must unlock the lockres before calling into the\ndlm.  In the small window of time between unlocking the lockres and\ncalling the dlm, the downconvert thread can try to cancel the lock.  The\ndownconvert thread is checking the OCFS2_LOCK_BUSY flag - it doesn\u0027t\nknow that ocfs2_dlm_lock() has not yet been called.\n\nBecause ocfs2_dlm_lock() has not yet been called, the cancel operation\nwill just be a no-op.  There\u0027s nothing to cancel.  With CANCELGRANT,\ndlmglue uses the CANCELGRANT callback to clear up the cancel state.\nWhen it comes around again, it will retry the cancel.  Eventually, the\nfirst thread will have called into ocfs2_dlm_lock(), and either the\nlock or the cancel will succeed.  The downconvert thread can then do its\ndownconvert.\n\nWithout CANCELGRANT, there is nothing to clean up the cancellation\nstate.  The downconvert thread does not know to retry its operations.\nMore importantly, the original lock may be blocking on the other node\nthat is trying to cancel us.  With neither able to make progress, the\nast is never called and the cancellation state is never cleaned up that\nway.  dlmglue is deadlocked.\n\nThe OCFS2_LOCK_PENDING flag is introduced to remedy this window.  It is\nset at the same time OCFS2_LOCK_BUSY is.  Thus, the downconvert thread\ncan check whether the lock is cancelable.  If not, it just loops around\nto try again.  Once ocfs2_dlm_lock() is called, the thread then clears\nOCFS2_LOCK_PENDING and wakes the downconvert thread.  Now, if the\ndownconvert thread finds the lock BUSY, it can safely try to cancel it.\nWhether the cancel works or not, the state will be properly set and the\nlock processing can continue.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "0abd6d1803b01c741430af270026d1d95a103d9c",
      "tree": "c1aca3d286990be6f9043e28ad0bacaf3443ef54",
      "parents": [
        "6953b4c008628b945bfe0cee97f6e78a98773859"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Jan 29 16:59:56 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: Fill node number during cluster stack init\n\nIt doesn\u0027t make sense to query for a node number before connecting to the\ncluster stack. This should be safe to do because node_num is only just\nprinted,\nand we\u0027re actually only moving the setting of node num a small amount\nfurther in the mount process.\n\n[ Disconnect when node query fails -- Joel ]\n\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "6953b4c008628b945bfe0cee97f6e78a98773859",
      "tree": "de00a19f59466d9e83b00112696afa5b02abbd9c",
      "parents": [
        "19fdb624dc8ccb663f6e48b3a3a3fa4e4e567fc1"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 29 16:59:56 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: Move o2hb functionality into the stack glue.\n\nThe last bit of classic stack used directly in ocfs2 code is o2hb.\nSpecifically, the check for heartbeat during mount and the call to\nocfs2_hb_ctl during unmount.\n\nWe create an extra API, ocfs2_cluster_hangup(), to encapsulate the call\nto ocfs2_hb_ctl.  Other stacks will just leave hangup() empty.\n\nThe check for heartbeat is moved into ocfs2_cluster_connect().  It will\nbe matched by a similar check for other stacks.\n\nWith this change, only stackglue.c includes cluster/ headers.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "19fdb624dc8ccb663f6e48b3a3a3fa4e4e567fc1",
      "tree": "b50e358686ca63789af4af07526e0d21f2806bfb",
      "parents": [
        "4670c46ded9a18268d1265417ff4ac72145a7917"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Jan 30 15:38:24 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: Abstract out node number queries.\n\nocfs2 asks the cluster stack for the local node\u0027s node number for two\nreasons; to fill the slot map and to print it. While the slot map isn\u0027t\nnecessary for userspace cluster stacks, the printing is very nice for\ndebugging. Thus we add ocfs2_cluster_this_node() as a generic API to get\nthis value. It is anticipated that the slot map will not be used under a\nuserspace cluster stack, so validity checks of the node num only need to\nexist in the slot map code. Otherwise, it just gets used and printed as an\nopaque value.\n\n[ Fixed up some \"int\" versus \"unsigned int\" issues and made osb-\u003enode_num\n  truly opaque. --Mark ]\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4670c46ded9a18268d1265417ff4ac72145a7917",
      "tree": "4f70822ddee389a9c8ed572b215a3355c20db3a1",
      "parents": [
        "8f2c9c1b16bf6ed0903b29c49d56fa0109a390e4"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 14:39:35 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: Introduce the new ocfs2_cluster_connect/disconnect() API.\n\nThis step introduces a cluster stack agnostic API for initializing and\nexiting.  fs/ocfs2/dlmglue.c no longer uses o2cb/o2dlm knowledge to\nconnect to the stack.  It is all handled in stackglue.c.\n\nheartbeat.c no longer needs to know how it gets called.\nocfs2_do_node_down() is now a clean recovery trigger.\n\nThe big gotcha is the ordering of initializations and de-initializations done\nunderneath ocfs2_cluster_connect().  ocfs2_dlm_init() used to do all\no2dlm initialization in one block.  Thus, the o2dlm functionality of\nocfs2_cluster_connect() is very straightforward.  ocfs2_dlm_shutdown(),\nhowever, did a few things between de-registration of the eviction\ncallback and actually shutting down the domain.  Now de-registration and\nshutdown of the domain are wrapped within the single\nocfs2_cluster_disconnect() call.  I\u0027ve checked the code paths to make\nsure we can safely tear down things in ocfs2_dlm_shutdown() before\ncalling ocfs2_cluster_disconnect().  The filesystem has already set\nitself to ignore the callback.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8f2c9c1b16bf6ed0903b29c49d56fa0109a390e4",
      "tree": "8564370d96cbfb3a0125f17c93ee3587efef1ed1",
      "parents": [
        "7431cd7e8dd0e46e9b12bd6a1ac1286f4b420371"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:16:57 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:04 2008 -0700"
      },
      "message": "ocfs2: Create the lock status block union.\n\nWrap the lock status block (lksb) in a union.  Later we will add a union\nelement for the fs/dlm lksb.  Create accessors for the status and lvb\nfields.\n\nOther than a debugging function, dlmglue.c does not directly reference\nthe o2dlm locking path anymore.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "7431cd7e8dd0e46e9b12bd6a1ac1286f4b420371",
      "tree": "748d55c349f12ee504635748c64ee14026eda556",
      "parents": [
        "bd3e76105d4478ab89951a52d1a35250d24a9f16"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:15:37 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: Use -errno instead of dlm_status for ocfs2_dlm_lock/unlock() API.\n\nChange the ocfs2_dlm_lock/unlock() functions to return -errno values.\nThis is the first step towards elminiating dlm_status in\nfs/ocfs2/dlmglue.c.  The change also passes -errno values to\n-\u003eunlock_ast().\n\n[ Fix a return code in dlmglue.c and change the error translation table into\n  an array of ints. --Mark ]\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "bd3e76105d4478ab89951a52d1a35250d24a9f16",
      "tree": "3a024471d62491f0160031663e0db23f42be37b8",
      "parents": [
        "24ef1815e5e13e50196eb1ab8ddc0d783443bdf8"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:14:57 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: Use global DLM_ constants in generic code.\n\nThe ocfs2 generic code should use the values in \u003clinux/dlmconstants.h\u003e.\nstackglue.c will convert them to o2dlm values.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "24ef1815e5e13e50196eb1ab8ddc0d783443bdf8",
      "tree": "4c44e87b1a80d4745416c9973258c40db8433829",
      "parents": [
        "386a2ef8576e966076c293f6496b9e3d7e3d9035"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 29 17:37:32 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: Separate out dlm lock functions.\n\nThis is the first in a series of patches to isolate ocfs2 from the\nunderlying cluster stack. Here we wrap the dlm locking functions with\nocfs2-specific calls. Because ocfs2 always uses the same dlm lock status\ncallbacks, we can eliminate the callbacks from the filesystem visible\nfunctions.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "386a2ef8576e966076c293f6496b9e3d7e3d9035",
      "tree": "08b6cae47060497359a6ab78134a1bf8e38012cc",
      "parents": [
        "fb86b1f07120b66769a39c445da5c4300069dd44"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:06:54 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: New slot map format\n\nThe old slot map had a few limitations:\n\n- It was limited to one block, so the maximum slot count was 255.\n- Each slot was signed 16bits, limiting node numbers to INT16_MAX.\n- An empty slot was marked by the magic 0xFFFF (-1).\n\nThe new slot map format provides 32bit node numbers (UINT32_MAX), a\nseparate space to mark a slot in use, and extra room to grow.  The slot\nmap is now bounded by i_size, not a block.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    }
  ],
  "next": "fb86b1f07120b66769a39c445da5c4300069dd44"
}
