)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "fb86b1f07120b66769a39c445da5c4300069dd44",
      "tree": "4d97d78e2c703b289801a91e3a480fa1620914a8",
      "parents": [
        "fc881fa0d59596c02f8707b5572567c369d4789a"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 11:59:05 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: Define the contents of the slot_map file.\n\nThe slot map file is merely an array of __le16.  Wrap it in a structure for\ncleaner reference.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "fc881fa0d59596c02f8707b5572567c369d4789a",
      "tree": "1925db8ac3262ebd343d85ec5e9de799d2e3afd9",
      "parents": [
        "1c8d9a6a330f46b3a6ddd204a2580131d5f0d6b7"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:04:48 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: De-magic the in-memory slot map.\n\nThe in-memory slot map uses the same magic as the on-disk one.  There is\na special value to mark a slot as invalid.  It relies on the size of\ncertain types and so on.\n\nWrite a new in-memory map that keeps validity as a separate field.  Outside\nof the I/O functions, OCFS2_INVALID_SLOT now means what it is supposed to.\nIt also is no longer tied to the type size.\n\nThis also means that only the I/O functions refer to 16bit quantities.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "1c8d9a6a330f46b3a6ddd204a2580131d5f0d6b7",
      "tree": "a61d5fe0a7809a09c0967e66f52b8ce1685fe5f4",
      "parents": [
        "553abd046af609191a91af7289d87d477adc659f"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 11:59:07 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:02 2008 -0700"
      },
      "message": "ocfs2: slot_map I/O based on max_slots.\n\nThe slot map code assumed a slot_map file has one block allocated.\nThis changes the code to I/O as many blocks as will cover max_slots.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "553abd046af609191a91af7289d87d477adc659f",
      "tree": "cff21f65d49c0041993095a051edf76840c2af28",
      "parents": [
        "d85b20e4b300edfd290f21fc2d790ba16d2f225b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:03:57 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:02 2008 -0700"
      },
      "message": "ocfs2: Change the recovery map to an array of node numbers.\n\nThe old recovery map was a bitmap of node numbers.  This was sufficient\nfor the maximum node number of 254.  Going forward, we want node numbers\nto be UINT32.  Thus, we need a new recovery map.\n\nNote that we can\u0027t keep track of slots here.  We must write down the\nnode number to recovery *before* we get the locks needed to convert a\nnode number into a slot number.\n\nThe recovery map is now an array of unsigned ints, max_slots in size.\nIt moves to journal.c with the rest of recovery.\n\nBecause it needs to be initialized, we move all of recovery initialization\ninto a new function, ocfs2_recovery_init().  This actually cleans up\nocfs2_initialize_super() a little as well.  Following on, recovery cleaup\nbecomes part of ocfs2_recovery_exit().\n\nA number of node map functions are rendered obsolete and are removed.\n\nFinally, waiting on recovery is wrapped in a function rather than naked\nchecks on the recovery_event.  This is a cleanup from Mark.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d85b20e4b300edfd290f21fc2d790ba16d2f225b",
      "tree": "a505db4d378420e5bbd1d8c18a0d97a0498e5ceb",
      "parents": [
        "8e8a4603b5422c9145880e73b23bc4c2c4de0098"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:01:05 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:02 2008 -0700"
      },
      "message": "ocfs2: Make ocfs2_slot_info private.\n\nJust use osb_lock around the ocfs2_slot_info data.  This allows us to\ntake the ocfs2_slot_info structure private in slot_info.c.  All access\nis now via accessors.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8e8a4603b5422c9145880e73b23bc4c2c4de0098",
      "tree": "4d388ae74ed9e5f8cfec19ff20d07d81ca742592",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Feb 01 11:59:09 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:02 2008 -0700"
      },
      "message": "ocfs2: Move slot map access into slot_map.c\n\njournal.c and dlmglue.c would refresh the slot map by hand.  Instead, have\nthe update and clear functions do the work inside slot_map.c.  The eventual\nresult is to make ocfs2_slot_info defined privately in slot_map.c\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "253ba4e79edc695b2925bd2ef34de06ff4d4070c",
      "tree": "259667140ca702d6a218cc54f4df275fbbda747b",
      "parents": [
        "188da98800893691e47eea9335a234378e32aceb",
        "65e67f5165c8a156b34ee7adf65d5ed3b16a910d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:39:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6: (87 commits)\n  [XFS] Fix merge failure\n  [XFS] The forward declarations for the xfs_ioctl() helpers and the\n  [XFS] Update XFS documentation for noikeep/ikeep.\n  [XFS] Update XFS Documentation for ikeep and ihashsize\n  [XFS] Remove unused HAVE_SPLICE macro.\n  [XFS] Remove CONFIG_XFS_SECURITY.\n  [XFS] xfs_bmap_compute_maxlevels should be based on di_forkoff\n  [XFS] Always use di_forkoff when checking for attr space.\n  [XFS] Ensure the inode is joined in xfs_itruncate_finish\n  [XFS] Remove periodic logging of in-core superblock counters.\n  [XFS] fix logic error in xfs_alloc_ag_vextent_near()\n  [XFS] Don\u0027t error out on good I/Os.\n  [XFS] Catch log unmount failures.\n  [XFS] Sanitise xfs_log_force error checking.\n  [XFS] Check for errors when changing buffer pointers.\n  [XFS] Don\u0027t allow silent errors in xfs_inactive().\n  [XFS] Catch errors from xfs_imap().\n  [XFS] xfs_bulkstat_one_dinode() never returns an error.\n  [XFS] xfs_iflush_fork() never returns an error.\n  [XFS] Catch unwritten extent conversion errors.\n  ...\n"
    },
    {
      "commit": "188da98800893691e47eea9335a234378e32aceb",
      "tree": "57dbf491d23676e011b4946ec1867a6d55a02eef",
      "parents": [
        "07fe944e87d79f8d7e1b090913fe9f2ace78f41d",
        "273b8385e5817a4765f82257004c5ec661a6a5b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:39:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:39:24 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (58 commits)\n  ide: remove ide_init_default_irq() macro\n  ide: move default IDE ports setup to ide_generic host driver\n  ide: remove obsoleted \"idex\u003dnoprobe\" kernel parameter (take 2)\n  ide: remove needless hwif-\u003eirq check from ide_hwif_configure()\n  ide: init hwif-\u003e{io_ports,irq} explicitly in legacy VLB host drivers\n  ide: limit legacy VLB host drivers to alpha, x86 and mips\n  cmd640: init hwif-\u003e{io_ports,irq} explicitly\n  cmd640: cleanup setup_device_ptrs()\n  ide: add ide-4drives host driver (take 3)\n  ide: remove ppc ifdef from init_ide_data()\n  ide: remove ide_default_io_ctl() macro\n  ide: remove CONFIG_IDE_ARCH_OBSOLETE_INIT\n  ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2)\n  ppc/pmac: remove no longer needed IDE quirk\n  ppc: don\u0027t include \u003clinux/ide.h\u003e\n  ppc: remove ppc_ide_md\n  ppc/pplus: remove ppc_ide_md.ide_init_hwif hook\n  ppc/sandpoint: remove ppc_ide_md hooks\n  ppc/lopec: remove ppc_ide_md hooks\n  ppc/mpc8xx: remove ppc_ide_md hooks\n  ...\n"
    },
    {
      "commit": "07fe944e87d79f8d7e1b090913fe9f2ace78f41d",
      "tree": "b20a3576d61d4dc3d89cf47515a786b31fd997d6",
      "parents": [
        "8019aa946af5218bc4446c21e43cc19c9401ac68",
        "636bdeaa1243327501edfd2a597ed7443eb4239a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:55 2008 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  dmaengine: ack to flags: make use of the unused bits in the \u0027ack\u0027 field\n  iop-adma: remove the workaround for missed interrupts on iop3xx\n  async_tx: kill -\u003edevice_dependency_added\n  async_tx: fix multiple dependency submission\n  fsldma: Split the MPC83xx event from MPC85xx and refine irq codes.\n  fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() running always.\n"
    },
    {
      "commit": "8019aa946af5218bc4446c21e43cc19c9401ac68",
      "tree": "6681b73a560f5a4e4a4e8f97b3833a087a488439",
      "parents": [
        "73e3e6481f56b3b5b618671a8d32b19a35f84316",
        "48feb3c419508487becfb9ea3afcc54c3eac6d80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:06 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (79 commits)\n  ata-acpi: don\u0027t call _GTF for disabled drive\n  sata_mv add temporary 3 second init delay for SiliconImage PMs\n  sata_mv remove redundant edma init code\n  sata_mv add basic port multiplier support\n  sata_mv fix SOC flags, enable NCQ on SOC\n  sata_mv disable hotplug for now\n  sata_mv cosmetics\n  sata_mv hardreset rework\n  [libata] improve Kconfig help text for new PMP, SFF options\n  libata: make EH fail gracefully if no reset method is available\n  libata: Be a bit more slack about early devices\n  libata: cable logic\n  libata: move link onlineness check out of softreset methods\n  libata: kill dead code paths in reset path\n  pata_scc: fix build breakage\n  libata: make PMP support optional\n  libata: implement PMP helpers\n  libata: separate PMP support code from core code\n  libata: make SFF support optional\n  libata: don\u0027t use ap-\u003eioaddr in non-SFF drivers\n  ...\n"
    },
    {
      "commit": "73e3e6481f56b3b5b618671a8d32b19a35f84316",
      "tree": "44addba339ca1279a82d6d702e92e6cc2c183810",
      "parents": [
        "4adeaaf51ebcc3f629f5512b96aebb5089388bca",
        "6993fc5bbc5d63ccd55985b39c34417e430e75e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: make clocksource watchdog cycle through online CPUs\n  Documentation: move timer related documentation to a single place\n  clockevents: optimise tick_nohz_stop_sched_tick() a bit\n  locking: remove unused double_spin_lock()\n  hrtimers: simplify lockdep handling\n  timers: simplify lockdep handling\n  posix-timers: fix shadowed variables\n  timer_list: add annotations to workqueue.c\n  hrtimer: use nanosleep specific restart_block fields\n  hrtimer: add nanosleep specific restart_block member\n"
    },
    {
      "commit": "4adeaaf51ebcc3f629f5512b96aebb5089388bca",
      "tree": "ce582d13c76b985d659b46b678d280f915bd8427",
      "parents": [
        "9732b6112343df2872518ec6701c8ef729310a05",
        "15732a1cb5f9078d460a254449eb59391e531ffc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:19 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  jfs: replace __inline with inline\n  jfs: le*_add_cpu conversion\n"
    },
    {
      "commit": "9732b6112343df2872518ec6701c8ef729310a05",
      "tree": "9e3dcc461845038da4730c2062eee546348ca445",
      "parents": [
        "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
        "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:\n  kgdb: always use icache flush for sw breakpoints\n  kgdb: fix SMP NMI kgdb_handle_exception exit race\n  kgdb: documentation fixes\n  kgdb: allow static kgdbts boot configuration\n  kgdb: add documentation\n  kgdb: Kconfig fix\n  kgdb: add kgdb internal test suite\n  kgdb: fix several kgdb regressions\n  kgdb: kgdboc pl011 I/O module\n  kgdb: fix optional arch functions and probe_kernel_*\n  kgdb: add x86 HW breakpoints\n  kgdb: print breakpoint removed on exception\n  kgdb: clocksource watchdog\n  kgdb: fix NMI hangs\n  kgdb: fix kgdboc dynamic module configuration\n  kgdb: document parameters\n  x86: kgdb support\n  consoles: polling support, kgdboc\n  kgdb: core\n  uaccess: add probe_kernel_write()\n"
    },
    {
      "commit": "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
      "tree": "0c3ffda953b82750638a06507591ad587b565ff2",
      "parents": [
        "d7bb545d86825e635cab33a1dd81ca0ad7b92887",
        "77ad386e596c6b0930cc2e09e3cce485e3ee7f72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:51 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (613 commits)\n  x86: standalone trampoline code\n  x86: move suspend wakeup code to C\n  x86: coding style fixes to arch/x86/kernel/acpi/sleep.c\n  x86: setup_trampoline() - fix section mismatch warning\n  x86: section mismatch fixes, #1\n  x86: fix paranoia about using BIOS quickboot mechanism.\n  x86: print out buggy mptable\n  x86: use cpu_online()\n  x86: use cpumask_of_cpu()\n  x86: remove unnecessary tmp local variable\n  x86: remove unnecessary memset()\n  x86: use ioapic_read_entry() and ioapic_write_entry()\n  x86: avoid redundant loop in io_apic_level_ack_pending()\n  x86: remove superfluous initialisation in boot code.\n  x86: merge mpparse_{32,64}.c\n  x86: unify mp_register_gsi\n  x86: unify mp_config_acpi_legacy_irqs\n  x86: unify mp_register_ioapic\n  x86: unify uniq_io_apic_id\n  x86: unify smp_scan_config\n  ...\n"
    },
    {
      "commit": "d7bb545d86825e635cab33a1dd81ca0ad7b92887",
      "tree": "34da4139ef06ceab6549aea3906639c7413978c8",
      "parents": [
        "75e98b34155264d943aa53edce465e87f3ccbadf",
        "2342e51ba2b52a7f5b78227e6faa4603ed3632a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Remove DEBUG_SEMAPHORE from Kconfig\n  Improve semaphore documentation\n  Simplify semaphore implementation\n  Add down_timeout and change ACPI to use it\n  Introduce down_killable()\n  Generic semaphore implementation\n  Add semaphore.h to kernel_lock.c\n  Fix quota.h includes\n"
    },
    {
      "commit": "75e98b34155264d943aa53edce465e87f3ccbadf",
      "tree": "08d100a14ab9f5314c393286ce8c5436ef387d75",
      "parents": [
        "30bc94566e396b432b72e2f3518e19225dc2672d",
        "0a22ab92f51478796d5f3997f4f5922409c98b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:20:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:20:06 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (104 commits)\n  IB/iser: Don\u0027t change itt endianness\n  IB/mlx4: Update module version and release date\n  IPoIB: Handle case when P_Key is deleted and re-added at same index\n  IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event\n  IB/mlx4: Fix incorrect comment\n  IB/mlx4: Fix race when detaching a QP from a multicast group\n  IB/ehca: Support all ibv_devinfo values in query_device() and query_port()\n  RDMA/nes: Free IRQ before killing tasklet\n  IB/mthca: Update module version and release date\n  IB/mlx4: Update QP state if query QP succeeds\n  IB/mthca: Update QP state if query QP succeeds\n  RDMA/amso1100: Add check for NULL reply_msg in c2_intr()\n  IB/mlx4: Add support for resizing CQs\n  IB/mlx4: Add support for modifying CQ moderation parameters\n  IPoIB: Support modifying IPoIB CQ event moderation\n  IB/core: Add support for modify CQ\n  IPoIB: Add basic ethtool support\n  mlx4_core: Increase max number of QPs to 128K\n  RDMA/amso1100: Add support for \"send with invalidate\" work requests\n  IB/core: Add support for \"send with invalidate\" work requests\n  ...\n"
    },
    {
      "commit": "30bc94566e396b432b72e2f3518e19225dc2672d",
      "tree": "50eba6ade66fbed5106a40aa68ab36926b7beb6b",
      "parents": [
        "4cba84b5d61af81f1f329f4d05170427a9819c39",
        "5f46ce14bd432cf52bf91079270af164ca48f821"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:40 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  security: enhance DEFAULT_MMAP_MIN_ADDR description\n  SELinux: add netport.[ch]\n  SELinux: Add network port SID cache\n  SELinux: turn mount options strings into defines\n  selinux/ss/services.c should #include \u003clinux/selinux.h\u003e\n  selinux: introduce permissive types\n  selinux: remove ptrace_sid\n  SELinux: requesting no permissions in avc_has_perm_noaudit is a BUG()\n  security: code cleanup\n  security: replace remaining __FUNCTION__ occurrences\n  SELinux: create new open permission\n  selinux: selinux/netlabel.c should #include \"netlabel.h\"\n  SELinux: unify printk messages\n  SELinux: remove unused backpointers from security objects\n  SELinux: Correct the NetLabel locking for the sk_security_struct\n"
    },
    {
      "commit": "4cba84b5d61af81f1f329f4d05170427a9819c39",
      "tree": "aa6f917cd82ff524dc27b2c628ac6d4b88b0fcf6",
      "parents": [
        "7d939fbdfee49e5c06bd27214d25f726fb87a25a",
        "ca68305bf3c76c4a7cd1c77d5423219f39164df8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (36 commits)\n  [S390] Remove code duplication from monreader / dcssblk.\n  [S390] kernel: show last breaking-event-address on oops\n  [S390] lowcore: Change type of lowcores softirq_pending to __u32.\n  [S390] zcrypt: Comments and kernel-doc cleanup\n  [S390] uaccess: Always access the correct address space.\n  [S390] Fix a lot of sparse warnings.\n  [S390] Convert s390 to GENERIC_CLOCKEVENTS.\n  [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n  [S390] Convert monitor calls to function calls.\n  [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters\n  [S390] replace remaining __FUNCTION__ occurrences\n  [S390] remove redundant display of free swap space in show_mem()\n  [S390] qdio: remove outdated developerworks link.\n  [S390] Add debug_register_mode() function to debug feature API\n  [S390] crypto: use more descriptive function names for init/exit routines.\n  [S390] switch sched_clock to store-clock-extended.\n  [S390] zcrypt: add support for large random numbers\n  [S390] hw_random: allow rng_dev_read() to return hardware errors.\n  [S390] Vertical cpu management.\n  [S390] cpu topology support for s390.\n  ...\n"
    },
    {
      "commit": "7d939fbdfee49e5c06bd27214d25f726fb87a25a",
      "tree": "8366a5e7ec36b3b0162fd54ec4b434a2b840e7ba",
      "parents": [
        "18c98b65279c00c3c983a4525161207f1aa6a04b",
        "0f389ec63077521166f071e1e970aed36147fd45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:00 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: No need for per node slab counters if !SLUB_DEBUG\n  slub: Move map/flag clearing to __free_slab\n  slub: Fixes to per cpu stat output in sysfs\n  slub: Deal with config variable dependencies\n  slub: Reduce #ifdef ZONE_DMA by moving kmalloc_caches_dma near dma logic\n  slub: Initialize per-cpu stats\n"
    },
    {
      "commit": "18c98b65279c00c3c983a4525161207f1aa6a04b",
      "tree": "21ddeaf029407a08a81843bf35aeb338b2d67dd7",
      "parents": [
        "0e04388f0189fa1f6812a8e1cb6172136eada87e"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 17 18:44:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:17:57 2008 -0700"
      },
      "message": "ptrace_signal subroutine\n\nThis breaks out the ptrace handling from get_signal_to_deliver into a\nnew subroutine.  The actual code there doesn\u0027t change, and it gets\ninlined into nearly identical compiled code.  This makes the function\nsubstantially shorter and thus easier to read, and it nicely isolates\nthe ptrace magic.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e04388f0189fa1f6812a8e1cb6172136eada87e",
      "tree": "4e0bf422e8ed6b61b840ac45dadaca84b954f7ad",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 17 11:37:15 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:17:57 2008 -0700"
      },
      "message": "cgroup: fix a race condition in manipulating tsk-\u003ecg_list\n\nWhen I ran a test program to fork mass processes and at the same time\n\u0027cat /cgroup/tasks\u0027, I got the following oops:\n\n  ------------[ cut here ]------------\n  kernel BUG at lib/list_debug.c:72!\n  invalid opcode: 0000 [#1] SMP\n  Pid: 4178, comm: a.out Not tainted (2.6.25-rc9 #72)\n  ...\n  Call Trace:\n   [\u003cc044a5f9\u003e] ? cgroup_exit+0x55/0x94\n   [\u003cc0427acf\u003e] ? do_exit+0x217/0x5ba\n   [\u003cc0427ed7\u003e] ? do_group_exit+0.65/0x7c\n   [\u003cc0427efd\u003e] ? sys_exit_group+0xf/0x11\n   [\u003cc0404842\u003e] ? syscall_call+0x7/0xb\n   [\u003cc05e0000\u003e] ? init_cyrix+0x2fa/0x479\n  ...\n  EIP: [\u003cc04df671\u003e] list_del+0x35/0x53 SS:ESP 0068:ebc7df4\n  ---[ end trace caffb7332252612b ]---\n  Fixing recursive fault but reboot is needed!\n\nAfter digging into the code and debugging, I finlly found out a race\nsituation:\n\n\t\t\t\tdo_exit()\n\t\t\t\t  -\u003ecgroup_exit()\n\t\t\t\t    -\u003eif (!list_empty(\u0026tsk-\u003ecg_list))\n\t\t\t\t        list_del(\u0026tsk-\u003ecg_list);\n\n  cgroup_iter_start()\n    -\u003ecgroup_enable_task_cg_list()\n      -\u003elist_add(\u0026tsk-\u003ecg_list, ..);\n\nIn this case the list won\u0027t be deleted though the process has exited.\n\nWe got two bug reports in the past, which seem to be the same bug as\nthis one:\n\thttp://lkml.org/lkml/2008/3/5/332\n\thttp://lkml.org/lkml/2007/10/17/224\n\nActually sometimes I got oops on list_del, sometimes oops on list_add.\nAnd I can change my test program a bit to trigger other oops.\n\nThe patch has been tested both on x86_32 and x86_64.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f46ce14bd432cf52bf91079270af164ca48f821",
      "tree": "ae8129b0ba3743b67ba69af83c7c8aa6950e4f15",
      "parents": [
        "27cc2a6e572e1a86a08a02918517558f175f6974"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Wed Apr 16 19:36:36 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:18 2008 +1000"
      },
      "message": "security: enhance DEFAULT_MMAP_MIN_ADDR description\n\nGot burned by setting the proposed default of 65536\nacross all Debian archs.\n\nThus proposing to be more specific on which archs you may\nset this. Also propose a value for arm and friends that\ndoesn\u0027t break sshd.\n\nReword to mention working archs ia64 and ppc64 too.\n\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nCc: Martin Michlmayr \u003ctbm@cyrius.com\u003e\nCc: Gordon Farquharson \u003cgordonfarquharson@gmail.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "27cc2a6e572e1a86a08a02918517558f175f6974",
      "tree": "fdd3d6cbea9807421527ffc4d6fa893f6a182c58",
      "parents": [
        "3e11217263d0521e212cb8a017fbc2a1514db78f"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Apr 14 15:09:53 2008 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:17 2008 +1000"
      },
      "message": "SELinux: add netport.[ch]\n\nThank you, git.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "3e11217263d0521e212cb8a017fbc2a1514db78f",
      "tree": "d3b399c3d907cd90afd27003000fd9d99212f44b",
      "parents": [
        "832cbd9aa1293cba57d06571f5fc8f0917c672af"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Thu Apr 10 10:48:14 2008 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:16 2008 +1000"
      },
      "message": "SELinux: Add network port SID cache\n\nMuch like we added a network node cache, this patch adds a network port\ncache. The design is taken almost completely from the network node cache\nwhich in turn was taken from the network interface cache.  The basic idea is\nto cache entries in a hash table based on protocol/port information.  The\nhash function only takes the port number into account since the number of\ndifferent protocols in use at any one time is expected to be relatively\nsmall.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "832cbd9aa1293cba57d06571f5fc8f0917c672af",
      "tree": "85b1b550c71acde04294b69c08176adbaaf8641b",
      "parents": [
        "0e55a004b58847c53e48d846b9a4570b1587c382"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Apr 01 13:24:09 2008 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:13 2008 +1000"
      },
      "message": "SELinux: turn mount options strings into defines\n\nConvert the strings used for mount options into #defines rather than\nretyping the string throughout the SELinux code.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "0e55a004b58847c53e48d846b9a4570b1587c382",
      "tree": "1eb79c0a971ecd6db645aea3f2f9037ed7c49343",
      "parents": [
        "64dbf07474d011540ca479a2e87fe998f570d6e3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Mar 31 01:54:02 2008 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:12 2008 +1000"
      },
      "message": "selinux/ss/services.c should #include \u003clinux/selinux.h\u003e\n\nEvery file should include the headers containing the externs for its global\ncode.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "64dbf07474d011540ca479a2e87fe998f570d6e3",
      "tree": "364ae3f3a29f06246dd2097674586fe508c4445f",
      "parents": [
        "0356357c5158c71d4cbf20196b2f784435dd916c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Mar 31 12:17:33 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:11 2008 +1000"
      },
      "message": "selinux: introduce permissive types\n\nIntroduce the concept of a permissive type.  A new ebitmap is introduced to\nthe policy database which indicates if a given type has the permissive bit\nset or not.  This bit is tested for the scontext of any denial.  The bit is\nmeaningless on types which only appear as the target of a decision and never\nthe source.  A domain running with a permissive type will be allowed to\nperform any action similarly to when the system is globally set permissive.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "0356357c5158c71d4cbf20196b2f784435dd916c",
      "tree": "e680a4d0346286d2c318bb20914cceabc0596af1",
      "parents": [
        "eda4f69ca5a532b425db5a6c2c6bc50717b9b5fe"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Mar 26 15:46:39 2008 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:10 2008 +1000"
      },
      "message": "selinux: remove ptrace_sid\n\nThis changes checks related to ptrace to get rid of the ptrace_sid tracking.\nIt\u0027s good to disentangle the security model from the ptrace implementation\ninternals.  It\u0027s sufficient to check against the SID of the ptracer at the\ntime a tracee attempts a transition.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "eda4f69ca5a532b425db5a6c2c6bc50717b9b5fe",
      "tree": "09b74e5637218c64588e523d6d264fae0b9cb771",
      "parents": [
        "f0115e6c8980ea9125a17858291c90ecd990bc1c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Mar 11 14:19:34 2008 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:09 2008 +1000"
      },
      "message": "SELinux: requesting no permissions in avc_has_perm_noaudit is a BUG()\n\nThis patch turns the case where we have a call into avc_has_perm with no\nrequested permissions into a BUG_ON.  All callers to this should be in\nthe kernel and thus should be a function we need to fix if we ever hit\nthis.  The /selinux/access permission checking it done directly in the\nsecurity server and not through the avc, so those requests which we\ncannot control from userspace should not be able to trigger this BUG_ON.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f0115e6c8980ea9125a17858291c90ecd990bc1c",
      "tree": "f9b665c465b6813c421fc60660068197d178c53a",
      "parents": [
        "dd6f953adb5c4deb9cd7b6a5054e7d5eafe4ed71"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Mar 06 10:05:08 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:08 2008 +1000"
      },
      "message": "security: code cleanup\n\nERROR: \"(foo*)\" should be \"(foo *)\"\n#168: FILE: security/selinux/hooks.c:2656:\n+\t\t       \"%s, rc\u003d%d\\n\", __func__, (char*)value, -rc);\n\ntotal: 1 errors, 0 warnings, 195 lines checked\n\n./patches/security-replace-remaining-__function__-occurences.patch has style problems, please review.  If any of these errors\nare false positives report them to the maintainer, see\nCHECKPATCH in MAINTAINERS.\n\nPlease run checkpatch prior to sending patches\n\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "dd6f953adb5c4deb9cd7b6a5054e7d5eafe4ed71",
      "tree": "0ed459ca8da43b7e0486c8f0a840845a731920bf",
      "parents": [
        "b0c636b99997c8594da6a46e166ce4fcf6956fda"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Mar 06 10:03:59 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:07 2008 +1000"
      },
      "message": "security: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b0c636b99997c8594da6a46e166ce4fcf6956fda",
      "tree": "16308f0324846cd8c19180b6a45793268dd16f50",
      "parents": [
        "d4ee4231a3a8731576ef0e0a7e1225e4fde1e659"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Feb 28 12:58:40 2008 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:06 2008 +1000"
      },
      "message": "SELinux: create new open permission\n\nAdds a new open permission inside SELinux when \u0027opening\u0027 a file.  The idea\nis that opening a file and reading/writing to that file are not the same\nthing.  Its different if a program had its stdout redirected to /tmp/output\nthan if the program tried to directly open /tmp/output. This should allow\npolicy writers to more liberally give read/write permissions across the\npolicy while still blocking many design and programing flaws SELinux is so\ngood at catching today.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d4ee4231a3a8731576ef0e0a7e1225e4fde1e659",
      "tree": "c7d265135f1cbfabf7eaa8bb31bcc56120d2e022",
      "parents": [
        "454d972c24e6efce3d7b07a97f1ad18b14845de9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 27 23:20:42 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:06 2008 +1000"
      },
      "message": "selinux: selinux/netlabel.c should #include \"netlabel.h\"\n\nEvery file should include the headers containing the externs for its\nglobal code.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "454d972c24e6efce3d7b07a97f1ad18b14845de9",
      "tree": "05cd06c8389ca0cdc2f493d7fb680678a0691d27",
      "parents": [
        "98e9894650455426f67c2157db4f39bd14fac2f6"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Feb 26 20:42:02 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:05 2008 +1000"
      },
      "message": "SELinux: unify printk messages\n\nReplace \"security:\" prefixes in printk messages with \"SELinux\"\nto help users identify the source of the messages.  Also fix a\ncouple of minor formatting issues.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "98e9894650455426f67c2157db4f39bd14fac2f6",
      "tree": "bee5205f20c4d1faa6ec80f05d708eecad2959b3",
      "parents": [
        "f74af6e816c940c678c235d49486fe40d7e49ce9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Feb 26 09:52:58 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:04 2008 +1000"
      },
      "message": "SELinux: remove unused backpointers from security objects\n\nRemove unused backpoiters from security objects.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f74af6e816c940c678c235d49486fe40d7e49ce9",
      "tree": "06f2fa54bd7ceabac2ad29a6ab0aca1deb87c032",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Mon Feb 25 11:40:33 2008 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Apr 18 20:26:03 2008 +1000"
      },
      "message": "SELinux: Correct the NetLabel locking for the sk_security_struct\n\nThe RCU/spinlock locking approach for the nlbl_state in the sk_security_struct\nwas almost certainly overkill.  This patch removes both the RCU and spinlock\nlocking, relying on the existing socket locks to handle the case of multiple\nwriters.  This change also makes several code reductions possible.\n\nLess locking, less code - it\u0027s a Good Thing.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "62be1f71677c53d5e51223807a06ac9052f49b0f",
      "tree": "954b987466f9616934364b716d7fb93dcba12b46",
      "parents": [
        "16c5f06f15ad4e5a5d6e90b78ffb1ac14319e445"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Thu Apr 17 17:25:37 2008 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 18 08:36:09 2008 +0100"
      },
      "message": "[GFS2] fix assertion in log_refund()\n\nsince unsigned, unused \u003e\u003d 0 is always true.\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "65e67f5165c8a156b34ee7adf65d5ed3b16a910d",
      "tree": "6b2e82205ae59b2304d38880c15e62a229d70691",
      "parents": [
        "3b2816be271b8b364294a5b48721a3e68af46cfa"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:59:45 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:59:45 2008 +1000"
      },
      "message": "[XFS] Fix merge failure\n"
    }
  ],
  "next": "3b2816be271b8b364294a5b48721a3e68af46cfa"
}
