)]}'
{
  "log": [
    {
      "commit": "fc0ecff698165ae8e178efa086e0dd1f385206b1",
      "tree": "fc6274f0862bdd6749172201170b2f6a7ce4c4ff",
      "parents": [
        "54bc485522afdac33de5504da2ea8cdcc690674e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Feb 10 01:45:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:31 2007 -0800"
      },
      "message": "[PATCH] remove invalidate_inode_pages()\n\nConvert all calls to invalidate_inode_pages() into open-coded calls to\ninvalidate_mapping_pages().\n\nLeave the invalidate_inode_pages() wrapper in place for now, marked as\ndeprecated.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8adb9cef7e406a9a82881695097c702bc98422f",
      "tree": "3a8ac99c4247ebba99da8dafb5ddc77f2cc61f4e",
      "parents": [
        "23c887522e912ca494950796a95df8dd210f4b01"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:45:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:28 2007 -0800"
      },
      "message": "[PATCH] ext2: skip pages past number of blocks in ext2_find_entry\n\nThis one was pointed out on the MOKB site:\nhttp://kernelfun.blogspot.com/2006/11/mokb-09-11-2006-linux-26x-ext2checkpage.html\n\nIf a directory\u0027s i_size is corrupted, ext2_find_entry() will keep\nprocessing pages until the i_size is reached, even if there are no more\nblocks associated with the directory inode.  This patch puts in some\nminimal sanity-checking so that we don\u0027t keep checking pages (and issuing\nerrors) if we know there can be no more data to read, based on the block\ncount of the directory inode.\n\nThis is somewhat similar in approach to the ext3 patch I sent earlier this\nyear.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c376222960ae91d5ffb9197ee36771aaed1d9f90",
      "tree": "7f431c42529fec77433d33490bd9f2a8c47ba091",
      "parents": [
        "1b135431abf5ea92e61bf4e91d93726c7b96da5f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:27 2007 -0800"
      },
      "message": "[PATCH] Transform kmem_cache_alloc()+memset(0) -\u003e kmem_cache_zalloc().\n\nReplace appropriate pairs of \"kmem_cache_alloc()\" + \"memset(0)\" with the\ncorresponding \"kmem_cache_zalloc()\" call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a3b0a490d49ada8bbf3f426be1a0ace4dcd0a55",
      "tree": "3816f425c64a7b551894f098b6f5b5f238339ed0",
      "parents": [
        "068135e63518314d4efd711142f674ad0841599e"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Sat Feb 10 01:44:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:26 2007 -0800"
      },
      "message": "[PATCH] igrab() should check for I_CLEAR\n\nWhen igrab() is calling __iget() on an inode it should check if\nclear_inode() has been called on the inode already.  Otherwise there is a\nrace window between clear_inode() and destroy_inode() where igrab() calls\n__iget() which leads to already free inodes on the inode lists.\n\nSigned-off-by: Vandana Rungta \u003cvandana@novell.com\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37756ced1f145aec18917812c3b8a96dbb47990d",
      "tree": "a293813e3dce24a161c2cf029c4139086a23d978",
      "parents": [
        "4ba4d4c0c52201009232fe9e781a281054a24e75"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Feb 10 01:44:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:25 2007 -0800"
      },
      "message": "[PATCH] avoid one conditional branch in touch_atime()\n\nI added IS_NOATIME(inode) macro definition in include/linux/fs.h, true if\nthe inode superblock is marked readonly or noatime.\n\nThis new macro is then used in touch_atime() instead of separatly testing\nMS_RDONLY and MS_NOATIME\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46626296314e5679c9aaca36979a50ac20692e0b",
      "tree": "81caa0fead3e86d54ad4d234984765f749fb52e4",
      "parents": [
        "767193253bbac889e176f90b6f17b7015f986551"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Sat Feb 10 01:43:17 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:19 2007 -0800"
      },
      "message": "[PATCH] convert ramfs to use __set_page_dirty_no_writeback\n\nAs pointed out by Hugh, ramfs would also benefit from using the new\nset_page_dirty aop method for memory backed file systems.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65e458d43dff872ee560e721fb0fdb367bb5adb0",
      "tree": "e903ec97a4a6c0ee952108b696387ef098a6a80c",
      "parents": [
        "05a0416be2b88d859efcbc4a4290555a04d169a1"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Feb 10 01:43:05 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:18 2007 -0800"
      },
      "message": "[PATCH] Drop get_zone_counts()\n\nValues are available via ZVC sums.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e10a4437cb37c85f2df95432025b392d98aac2aa",
      "tree": "f8a560ecf6e75f582c0f025385d5e350a21d9fd6",
      "parents": [
        "7c5cae368a6c44eac0e817ae130301b65ff446dc"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:42:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:17 2007 -0800"
      },
      "message": "[PATCH] Remove final references to deprecated \"MAP_ANON\" page protection flag\n\nRemove the last vestiges of the long-deprecated \"MAP_ANON\" page protection\nflag: use \"MAP_ANONYMOUS\" instead.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72613e5f44adf2fe2684a5f1c1b62c2ee9984f40",
      "tree": "14cb1a018093cd1b5a0924850d36106cc0cd40d9",
      "parents": [
        "c051b01129560ea02ea2cebdf00db0721cc9a618"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Wed Feb 07 12:03:08 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 10:45:33 2007 -0800"
      },
      "message": "[PATCH] uclinux: correctly remap bin_fmtflat exe allocated mem regions\n\nremap() the region we get from mmap() to mark the fact that we are\nusing all of the available slack space. Any slack space is used\nto form a simple brk region, and potentially more stack space than\nrequested at load time.\n\nAny searches of the vma chain may well fail looking for\nstack (and especially arg) addresses if the remaping is not done.\nThe simplest example is /proc/\u003cpid\u003e/cmdline, since the args\nare pretty much always at the top of the data/bss/stack region.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "835d90c4218dffe6f9e7ac1ed79795197a4970c4",
      "tree": "4802f76f7cf874ff23cd4b33e733903d1f1b0127",
      "parents": [
        "da6e1a32fb8d7539a27f699c8671f64d7fefd0cc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Feb 08 14:20:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:47 2007 -0800"
      },
      "message": "[PATCH] v9fs_vfs_mkdir(): fix a double free\n\nFix a double free of \"dfid\" introduced by commit\nda977b2c7eb4d6312f063a7b486f2aad99809710 and spotted by the Coverity\nchecker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6649a3863232eb2e2f15ea6c622bd8ceacf96d76",
      "tree": "c3b77d20afd1e7215186244375f6cdcaad94d4b2",
      "parents": [
        "f336953bfdee8d5e7f69cb8e080704546541f04b"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Thu Feb 08 14:20:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:46 2007 -0800"
      },
      "message": "[PATCH] hugetlb: preserve hugetlb pte dirty state\n\n__unmap_hugepage_range() is buggy that it does not preserve dirty state of\nhuge_pte when unmapping hugepage range.  It causes data corruption in the\nevent of dop_caches being used by sys admin.  For example, an application\ncreates a hugetlb file, modify pages, then unmap it.  While leaving the\nhugetlb file alive, comes along sys admin doing a \"echo 3 \u003e\n/proc/sys/vm/drop_caches\".\n\ndrop_pagecache_sb() will happily free all pages that aren\u0027t marked dirty if\nthere are no active mapping.  Later when application remaps the hugetlb\nfile back and all data are gone, triggering catastrophic flip over on\napplication.\n\nNot only that, the internal resv_huge_pages count will also get all messed\nup.  Fix it up by marking page dirty appropriately.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: \"Nish Aravamudan\" \u003cnish.aravamudan@gmail.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f336953bfdee8d5e7f69cb8e080704546541f04b",
      "tree": "03c86a0c0ce782edb4cf077fddea08f29dbdae84",
      "parents": [
        "cbb9450234fb28f60fea36520cd710a988ac5812"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Thu Feb 08 14:20:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:46 2007 -0800"
      },
      "message": "[PATCH] ufs: restore back support of openstep\n\nThis is a fix of regression, which triggered by ~2.6.16.\n\nPatch with name ufs-directory-and-page-cache-from-blocks-to-pages.patch: in\nadditional to conversation from block to page cache mechanism added new\nchecks of directory integrity, one of them that directory entry do not\nacross directory chunks.\n\nBut some kinds of UFS: OpenStep UFS and Apple UFS (looks like these are the\nsame filesystems) have different directory chunk size, then common\nUFSes(BSD and Solaris UFS).\n\nSo this patch adds ability to works with variable size of directory chunks,\nand set it for ufstype\u003dopenstep to right size.\n\nTested on darwin ufs.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58addbffdde731da25a2f9eaa1353fc434f3f3c4",
      "tree": "875b23f974e17a7221c878ad47bc33313a56377a",
      "parents": [
        "9340b0d356ee52783121af398fa6a332e19e37e2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Feb 09 16:38:45 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:14:06 2007 -0800"
      },
      "message": "[PATCH] dlm: use kern_recvmsg()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9783e1df7a6bd1e4dc5e2cafcdc29b65a47473d6",
      "tree": "9216a285bfe23aa799ca6efa01a3f4063d798e64",
      "parents": [
        "4387ff75f29412a234d394b0276c2b239d3d3844",
        "dc2e2f33bbf07344995357314fd8887f6564dba7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 15:25:18 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 15:25:18 2007 -0800"
      },
      "message": "Merge branch \u0027HEAD\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nConflicts:\n\n\tcrypto/Kconfig\n"
    },
    {
      "commit": "5986a2ec35836a878350c54af4bd91b1de6abc59",
      "tree": "2efe068e124071ca30a5f1886402b890d7ba429e",
      "parents": [
        "43187902cbfafe73ede0144166b741fb0f7d04e1",
        "ff05d1c4643dd4260eb699396043d7e8009c0de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 08 10:37:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 08 10:37:22 2007 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/mfasheh/ocfs2: (22 commits)\n  configfs: Zero terminate data in configfs attribute writes.\n  [PATCH] ocfs2 heartbeat: clean up bio submission code\n  ocfs2: introduce sc-\u003esc_send_lock to protect outbound outbound messages\n  [PATCH] ocfs2: drop INET from Kconfig, not needed\n  ocfs2_dlm: Add timeout to dlm join domain\n  ocfs2_dlm: Silence some messages during join domain\n  ocfs2_dlm: disallow a domain join if node maps mismatch\n  ocfs2_dlm: Ensure correct ordering of set/clear refmap bit on lockres\n  ocfs2: Binds listener to the configured ip address\n  ocfs2_dlm: Calling post handler function in assert master handler\n  ocfs2: Added post handler callable function in o2net message handler\n  ocfs2_dlm: Cookies in locks not being printed correctly in error messages\n  ocfs2_dlm: Silence a failed convert\n  ocfs2_dlm: wake up sleepers on the lockres waitqueue\n  ocfs2_dlm: Dlm dispatch was stopping too early\n  ocfs2_dlm: Drop inflight refmap even if no locks found on the lockres\n  ocfs2_dlm: Flush dlm workqueue before starting to migrate\n  ocfs2_dlm: Fix migrate lockres handler queue scanning\n  ocfs2_dlm: Make dlmunlock() wait for migration to complete\n  ocfs2_dlm: Fixes race between migrate and dirty\n  ...\n"
    },
    {
      "commit": "ff05d1c4643dd4260eb699396043d7e8009c0de4",
      "tree": "fe3c601c3c8a2498c434a2d2c08e0192b4233299",
      "parents": [
        "b559292e066f6d570cd5aa5dbd41de61dd04bdce"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 23 17:00:45 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:17:08 2007 -0800"
      },
      "message": "configfs: Zero terminate data in configfs attribute writes.\n\nAttributes in configfs are text files.  As such, most handlers expect to be\nable to call functions like simple_strtoul() without checking the bounds\nof the buffer.  Change the call to zero terminate the buffer before calling\nthe client\u0027s -\u003estore() method.  This does reduce the attribute size from\nPAGE_SIZE to PAGE_SIZE-1.\n\nAlso, change get_zeroed_page() to alloc_page(), as we are handling the\ntermination.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b559292e066f6d570cd5aa5dbd41de61dd04bdce",
      "tree": "d8221b5f54ad9b8cef694de687013614dccf5966",
      "parents": [
        "925037bcba7691db2403684141a276930ad184f3"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jan 11 10:58:10 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:15:58 2007 -0800"
      },
      "message": "[PATCH] ocfs2 heartbeat: clean up bio submission code\n\nAs was already pointed out Mathieu Avila on Thu, 07 Sep 2006 03:15:25 -0700\nthat OCFS2 is expecting bio_add_page() to add pages to BIOs in an easily\npredictable manner.\n\nThat is not true, especially for devices with own merge_bvec_fn().\n\nTherefore OCFS2\u0027s heartbeat code is very likely to fail on such devices.\n\nMove the bio_put() call into the bio\u0027s bi_end_io() function. This makes the\nwhole idea of trying to predict the behaviour of bio_add_page() unnecessary.\nRemoved compute_max_sectors() and o2hb_compute_request_limits().\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "925037bcba7691db2403684141a276930ad184f3",
      "tree": "5a928f3d3f8488d1094a4ced8f39228c9d5a8ca9",
      "parents": [
        "f71aa8a55a0ae1a0d06c6079265d16502a678e8e"
      ],
      "author": {
        "name": "Zhen Wei",
        "email": "zwei@novell.com",
        "time": "Tue Jan 23 17:19:59 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:15:11 2007 -0800"
      },
      "message": "ocfs2: introduce sc-\u003esc_send_lock to protect outbound outbound messages\n\nWhen there is a lot of multithreaded I/O usage, two threads can collide\nwhile sending out a message to the other nodes. This is due to the lack of\nlocking between threads while sending out the messages.\n\nWhen a connected TCP send(), sendto(), or sendmsg() arrives in the Linux\nkernel, it eventually comes through tcp_sendmsg(). tcp_sendmsg() protects\nitself by acquiring a lock at invocation by calling lock_sock().\ntcp_sendmsg() then loops over the buffers in the iovec, allocating\nassociated sk_buff\u0027s and cache pages for use in the actual send. As it does\nso, it pushes the data out to tcp for actual transmission. However, if one\nof those allocation fails (because a large number of large sends is being\nprocessed, for example), it must wait for memory to become available. It\ndoes so by jumping to wait_for_sndbuf or wait_for_memory, both of which\neventually cause a call to sk_stream_wait_memory(). sk_stream_wait_memory()\ncontains a code path that calls sk_wait_event(). Finally, sk_wait_event()\ncontains the call to release_sock().\n\nThe following patch adds a lock to the socket container in order to\nproperly serialize outbound requests.\n\nFrom: Zhen Wei \u003czwei@novell.com\u003e\nAcked-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "f71aa8a55a0ae1a0d06c6079265d16502a678e8e",
      "tree": "adb5b97c984fd96eada350a7b90986b711f50348",
      "parents": [
        "0dd82141b236ce36253e3056c6068ee3d5732196"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jan 25 14:51:50 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:14:27 2007 -0800"
      },
      "message": "[PATCH] ocfs2: drop INET from Kconfig, not needed\n\nOCFS2: drop \u0027depends on INET\u0027 since local mounts are now allowed.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0dd82141b236ce36253e3056c6068ee3d5732196",
      "tree": "51c4c4746ffa390d4dba6a342aeaa526a35cb4eb",
      "parents": [
        "e4968476a9bc5a6b30076076b4f3ce3e692e0d79"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jan 29 15:44:27 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:10:39 2007 -0800"
      },
      "message": "ocfs2_dlm: Add timeout to dlm join domain\n\nCurrently the ocfs2 dlm has no timeout during dlm join domain. While this is\nnot a problem in normal operation, this does become an issue if, say, the\nother node is refusing to let the node join the domain because of a stuck\nrecovery. This patch adds a 90 sec timeout.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e4968476a9bc5a6b30076076b4f3ce3e692e0d79",
      "tree": "b448f5e10e069785c2a76ebde2f264523c694009",
      "parents": [
        "1faf289454b9eeb6e463da3eee47f7009668370d"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jan 29 15:37:02 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:10:14 2007 -0800"
      },
      "message": "ocfs2_dlm: Silence some messages during join domain\n\nThese messages can easily be activated using the mlog infrastructure\nand don\u0027t need to be enabled by default.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1faf289454b9eeb6e463da3eee47f7009668370d",
      "tree": "fe77643771a985a20c3782fb2a952cf9c05937a5",
      "parents": [
        "f3f854648de64c4b6f13f6f13113bc9525c621e5"
      ],
      "author": {
        "name": "Srinivas Eeda",
        "email": "srinivas.eeda@oracle.com",
        "time": "Mon Jan 29 15:31:35 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:09:14 2007 -0800"
      },
      "message": "ocfs2_dlm: disallow a domain join if node maps mismatch\n\nThere is a small window where a joining node may not see the node(s) that\njust died but are still part of the domain. To fix this, we must disallow\njoin requests if the joining node has a different node map.\n\nA new field node_map is added to dlm_query_join_request to send the current\nnodes nodemap along with join request. On the receiving end the nodes that\nare part of the cluster verifies if this new node sees all the nodes that\nare still part of the cluster. They disallow the join if the maps mismatch.\n\nSigned-off-by: Srinivas Eeda \u003csrinivas.eeda@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "f3f854648de64c4b6f13f6f13113bc9525c621e5",
      "tree": "aeacd37bd30e2f416cb5eef88d2e2bc00b457f88",
      "parents": [
        "ab81afd30bc154bb1e8749e5aeeffe9b93c90834"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jan 29 15:19:16 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:08:13 2007 -0800"
      },
      "message": "ocfs2_dlm: Ensure correct ordering of set/clear refmap bit on lockres\n\nEventhough the set refmap bit message is sent before the clear refmap\nmessage, currently there is no guarentee that the set message will be\nhandled before the clear. This patch prevents the clear refmap to be\nprocessed while the node is sending assert master messages to other\nnodes. (The set refmap message is sent as a response to the assert\nmaster request).\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ab81afd30bc154bb1e8749e5aeeffe9b93c90834",
      "tree": "715a7d94833a1c54cf206cfd1beab76dedabba74",
      "parents": [
        "3b8118cffad224415c6f6f35abe7ca2a1d79c05a"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jan 29 14:57:14 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:07:49 2007 -0800"
      },
      "message": "ocfs2: Binds listener to the configured ip address\n\nThis patch binds the o2net listener to the configured ip address\ninstead of INADDR_ANY for security. Fixes oss.oracle.com bugzilla#814.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3b8118cffad224415c6f6f35abe7ca2a1d79c05a",
      "tree": "2896f977f25b1c874472bdabb90d72c755f95573",
      "parents": [
        "d74c9803a90d733f5fb7270475aa6d14b45796c6"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 17:05:53 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:07:24 2007 -0800"
      },
      "message": "ocfs2_dlm: Calling post handler function in assert master handler\n\nThis patch prevents the dlm from sending the clear refmap message\nbefore the set refmap. We use the newly created post function handler\nroutine to accomplish the task.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d74c9803a90d733f5fb7270475aa6d14b45796c6",
      "tree": "7f402437667103773cfe7d76b56a621183e84094",
      "parents": [
        "74aa25856c693d20a886cdb31a004aaca411d135"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 17:04:25 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:06:56 2007 -0800"
      },
      "message": "ocfs2: Added post handler callable function in o2net message handler\n\nCurrently o2net allows one handler function per message type. This\npatch adds the ability to call another function to be called after\nthe handler has returned the message to the other node.\n\nHandlers are now given the option of returning a context (in the form of a\nvoid **) which will be passed back into the post message handler function.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "74aa25856c693d20a886cdb31a004aaca411d135",
      "tree": "ea833f164771279a3141668e537e316c21027387",
      "parents": [
        "90aaaf1c235a70daee04e897e9501415b766de69"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 15:11:36 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:06:24 2007 -0800"
      },
      "message": "ocfs2_dlm: Cookies in locks not being printed correctly in error messages\n\nThe dlm encodes the node number and a sequence number in the lock cookie.\nIt also stores the cookie in the lockres in the big endian format to avoid\nswapping 8 bytes on each lock request. The bug here was that it was assuming\nthe cookie to be in the cpu format when decoding it for printing the error\nmessage. This patch swaps the bytes before the print.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "90aaaf1c235a70daee04e897e9501415b766de69",
      "tree": "3974399d697581c2c0277ee10a667979fab07dde",
      "parents": [
        "a6fa36402aba96362311318200d710ea1719e59b"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 15:01:45 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:05:48 2007 -0800"
      },
      "message": "ocfs2_dlm: Silence a failed convert\n\nWhen the lockres is in migrate or recovery state, all convert requests\nare denied with the appropriate error status that is handled on the\nrequester node. This patch silences the erroneous error message printed\non the master node.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a6fa36402aba96362311318200d710ea1719e59b",
      "tree": "59c52d0437c99f55a89dfa08dc25508b2414bbcb",
      "parents": [
        "28b72d9c92ed43e01e4094f57bcad1814b002779"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 14:59:12 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:05:19 2007 -0800"
      },
      "message": "ocfs2_dlm: wake up sleepers on the lockres waitqueue\n\nThe dlm was not waking up threads waiting on the lockres wait queue,\nwaiting for the lockres to be no longer be in the DLM_LOCK_RES_IN_PROGRESS\nand the DLM_LOCK_RES_MIGRATING states.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "28b72d9c92ed43e01e4094f57bcad1814b002779",
      "tree": "11439adde553b15fcdb9f927bc8f60d4d0fe281f",
      "parents": [
        "50635f15b324cbf45a58f103e6b4c7e42502b683"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 14:57:50 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:04:27 2007 -0800"
      },
      "message": "ocfs2_dlm: Dlm dispatch was stopping too early\n\ndlm_dispatch_work was not processing the queued up tasks at\nthe first sign of the node leaving the domain leading to not\nonly incompleted tasks but also a mismatch in the dlm refcnt.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "50635f15b324cbf45a58f103e6b4c7e42502b683",
      "tree": "3290a045d567312773ffbe96c8b3220f06658dc5",
      "parents": [
        "1cd04dbe3364be71b93e3aaf4545daa1e261aaa1"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 14:54:39 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:03:42 2007 -0800"
      },
      "message": "ocfs2_dlm: Drop inflight refmap even if no locks found on the lockres\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1cd04dbe3364be71b93e3aaf4545daa1e261aaa1",
      "tree": "e155456258e0700303bf2bca0326124ddbc2c327",
      "parents": [
        "e17e75ecb86b8ce9b51b219b5348517561031f80"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Wed Jan 17 14:53:37 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:03:02 2007 -0800"
      },
      "message": "ocfs2_dlm: Flush dlm workqueue before starting to migrate\n\nThis is to prevent the condition in which a previously queued\nup assert master asserts after we start the migration. Now\nmigration ensures the workqueue is flushed before proceeding\nwith migrating the lock to another node. This condition is\ntypically encountered during parallel umounts.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e17e75ecb86b8ce9b51b219b5348517561031f80",
      "tree": "358001a91077fc9e62bd8def833f622d93c365cf",
      "parents": [
        "71ac1062435ba2d58bf64817b47a6e44f316752e"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Fri Jan 05 15:04:49 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:02:40 2007 -0800"
      },
      "message": "ocfs2_dlm: Fix migrate lockres handler queue scanning\n\nThe migrate lockres handler was only searching for its lock on\nmigrated lockres on the expected queue. This could be problematic\nas the new master could have also issued a convert request\nduring the migration and thus moved the lock to the convert queue.\nWe now search for the lock on all three queues.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003cSunil.Mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "71ac1062435ba2d58bf64817b47a6e44f316752e",
      "tree": "d28d47f38aafebe54d926d13c20588d92e1ef466",
      "parents": [
        "ddc09c8ddac8d0f170ba8caa8128801f358dccff"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Fri Jan 05 15:02:30 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:01:49 2007 -0800"
      },
      "message": "ocfs2_dlm: Make dlmunlock() wait for migration to complete\n\ndlmunlock() was not waiting for migration to complete before releasing locks\non locally mastered locks.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003cSunil.Mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ddc09c8ddac8d0f170ba8caa8128801f358dccff",
      "tree": "bba638e3017266b87e165eb0312d0671164f8917",
      "parents": [
        "faf0ec9f13defb57f4269ecb22ed86f2874ee89a"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Fri Jan 05 15:00:17 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 12:00:57 2007 -0800"
      },
      "message": "ocfs2_dlm: Fixes race between migrate and dirty\n\ndlmthread was removing lockres\u0027 from the dirty list\nand resetting the dirty flag before shuffling the list.\nThis patch retains the dirty state flag until the lists\nare shuffled.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003cSunil.Mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "faf0ec9f13defb57f4269ecb22ed86f2874ee89a",
      "tree": "6bb4f4f39f4f5333aa56b03c727d1a3f2cd4da42",
      "parents": [
        "ba2bf2185121db74e075c703fbf986761733dd1d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Dec 14 00:17:32 2006 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 11:53:31 2007 -0800"
      },
      "message": "[PATCH] fs/ocfs2/dlm/: make functions static\n\nThis patch makes some needlessly global functions static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ba2bf2185121db74e075c703fbf986761733dd1d",
      "tree": "f7b90fa14db61fb6fc5d92d393b1d837e58a9faa",
      "parents": [
        "5331be090567d9335476f876b2d85427cd7c4426"
      ],
      "author": {
        "name": "Kurt Hackel",
        "email": "kurt.hackel@oracle.com",
        "time": "Fri Dec 01 14:47:20 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 07 11:53:07 2007 -0800"
      },
      "message": "ocfs2_dlm: fix cluster-wide refcounting of lock resources\n\nThis was previously broken and migration of some locks had to be temporarily\ndisabled. We use a new (and backward-incompatible) set of network messages\nto account for all references to a lock resources held across the cluster.\nonce these are all freed, the master node may then free the lock resource\nmemory once its local references are dropped.\n\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b592fcfe7f06c15ec11774b5be7ce0de3aa86e73",
      "tree": "13f2cb344f8871edd30dc15007534405197d8480",
      "parents": [
        "2f65168de7d68a5795e945e781d85b313bdc97b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 24 12:35:52 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:14 2007 -0800"
      },
      "message": "sysfs: Shadow directory support\n\nThe problem.  When implementing a network namespace I need to be able\nto have multiple network devices with the same name.  Currently this\nis a problem for /sys/class/net/*. \n\nWhat I want is a separate /sys/class/net directory in sysfs for each\nnetwork namespace, and I want to name each of them /sys/class/net.\n\nI looked and the VFS actually allows that.  All that is needed is\nfor /sys/class/net to implement a follow link method to redirect\nlookups to the real directory you want. \n\nImplementing a follow link method that is sensitive to the current\nnetwork namespace turns out to be 3 lines of code so it looks like a\nclean approach.  Modifying sysfs so it doesn\u0027t get in my was is a bit\ntrickier. \n\nI am calling the concept of multiple directories all at the same path\nin the filesystem shadow directories.  With the directory entry really\nat that location the shadow master. \n\nThe following patch modifies sysfs so it can handle a directory\nstructure slightly different from the kobject tree so I can implement\nthe shadow directories for handling /sys/class/net/.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "82244b169ed2eee1ef7f97a3a6693f5a6eff8a69",
      "tree": "544170373b626e7cd110070930446208476b625e",
      "parents": [
        "b067db49e1f4013ef02ef68845701b600e88a722"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.name",
        "time": "Tue Jan 02 08:48:08 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "sysfs: error handling in sysfs, fill_read_buffer()\n\nif a driver returns an error in fill_read_buffer(), the buffer will be\nmarked as filled. Subsequent reads will return eof. But there is\nno data because of an error, not because it has been read.\nNot marking the buffer filled is the obvious fix.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.name\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f75065367077bd3b77842a5aa523ecd05d33e82d",
      "tree": "8c88382e578c2df7ff14ec005ae821dd4b36379e",
      "parents": [
        "d3fc373ac5061cab7a654502b942e7d00e77f733"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Tue Jan 02 13:41:10 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "sysfs: kobject_put cleanup\n\nThis patch removes redundant argument checks for kobject_put().\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d3fc373ac5061cab7a654502b942e7d00e77f733",
      "tree": "b93390a9b48f3e9438cab9f2f1f1ee6f1907bb69",
      "parents": [
        "94bebf4d1b8e7719f0f3944c037a21cfd99a4af7"
      ],
      "author": {
        "name": "Frederik Deweerdt",
        "email": "deweerdt@free.fr",
        "time": "Fri Jan 05 12:04:33 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "sysfs: suppress lockdep warnings\n\nLockdep issues the following warning:\n[    9.064000] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[    9.064000] [ INFO: possible recursive locking detected ]\n[    9.064000] 2.6.20-rc3-mm1 #3\n[    9.064000] ---------------------------------------------\n[    9.064000] init/1 is trying to acquire lock:\n[    9.064000]  (\u0026sysfs_inode_imutex_key){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.064000]\n[    9.064000] but task is already holding lock:\n[    9.064000]  (\u0026sysfs_inode_imutex_key){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.065000]\n[    9.065000] other info that might help us debug this:\n[    9.065000] 2 locks held by init/1:\n[    9.065000]  #0:  (tty_mutex){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.065000]  #1:  (\u0026sysfs_inode_imutex_key){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.065000]\n[    9.065000] stack backtrace:\n[    9.065000]  [\u003cc010390d\u003e] show_trace_log_lvl+0x1a/0x30\n[    9.066000]  [\u003cc0103935\u003e] show_trace+0x12/0x14\n[    9.066000]  [\u003cc0103a2f\u003e] dump_stack+0x16/0x18\n[    9.066000]  [\u003cc0138cb8\u003e] print_deadlock_bug+0xb9/0xc3\n[    9.066000]  [\u003cc0138d17\u003e] check_deadlock+0x55/0x5a\n[    9.066000]  [\u003cc013a953\u003e] __lock_acquire+0x371/0xbf0\n[    9.066000]  [\u003cc013b7a9\u003e] lock_acquire+0x69/0x83\n[    9.066000]  [\u003cc03e6b7e\u003e] __mutex_lock_slowpath+0x75/0x2d1\n[    9.066000]  [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.066000]  [\u003cc01b249c\u003e] sysfs_drop_dentry+0xb1/0x133\n[    9.066000]  [\u003cc01b25d1\u003e] sysfs_hash_and_remove+0xb3/0x142\n[    9.066000]  [\u003cc01b30ed\u003e] sysfs_remove_file+0xd/0x10\n[    9.067000]  [\u003cc02849e0\u003e] device_remove_file+0x23/0x2e\n[    9.067000]  [\u003cc02850b2\u003e] device_del+0x188/0x1e6\n[    9.067000]  [\u003cc028511b\u003e] device_unregister+0xb/0x15\n[    9.067000]  [\u003cc0285318\u003e] device_destroy+0x9c/0xa9\n[    9.067000]  [\u003cc0261431\u003e] vcs_remove_sysfs+0x1c/0x3b\n[    9.067000]  [\u003cc0267a08\u003e] con_close+0x5e/0x6b\n[    9.067000]  [\u003cc02598f2\u003e] release_dev+0x4c4/0x6e5\n[    9.067000]  [\u003cc0259faa\u003e] tty_release+0x12/0x1c\n[    9.067000]  [\u003cc0174872\u003e] __fput+0x177/0x1a0\n[    9.067000]  [\u003cc01746f5\u003e] fput+0x3b/0x41\n[    9.068000]  [\u003cc0172ee1\u003e] filp_close+0x36/0x65\n[    9.068000]  [\u003cc0172f73\u003e] sys_close+0x63/0xa4\n[    9.068000]  [\u003cc0102a96\u003e] sysenter_past_esp+0x5f/0x99\n[    9.068000]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThis is due to sysfs_hash_and_remove() holding dir-\u003ed_inode-\u003ei_mutex\nbefore calling sysfs_drop_dentry() which calls orphan_all_buffers()\nwhich in turn takes node-\u003ei_mutex.\n\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "94bebf4d1b8e7719f0f3944c037a21cfd99a4af7",
      "tree": "25c6ba1836e74f608b4e434b4f0f4d5c28b11de1",
      "parents": [
        "cb986b749c7178422bfbc982cd30e04d5db54bbc"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Dec 20 10:52:44 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "Driver core: fix race in sysfs between sysfs_remove_file() and read()/write()\n\nThis patch prevents a race between IO and removing a file from sysfs.\nIt introduces a list of sysfs_buffers associated with a file at the inode.\nUpon removal of a file the list is walked and the buffers marked orphaned.\nIO to orphaned buffers fails with -ENODEV. The driver can safely free\nassociated data structures or be unloaded.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.name\u003e\nAcked-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c744aeae9d173a953b771a7ad5c872f91fa99dec",
      "tree": "83d36e211ff6d0109f3aeb29d4fd1bb2dbb2a9b3",
      "parents": [
        "717e48c29d9a58f4d31c1651bec364212da5f6b2"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 08 20:16:44 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:11 2007 -0800"
      },
      "message": "driver core: Allow device_move(dev, NULL).\n\nIf we allow NULL as the new parent in device_move(), we need to make sure\nthat the device is placed into the same place as it would if it was\nnewly registered:\n\n- Consider the device virtual tree. In order to be able to reuse code,\n  setup_parent() has been tweaked a bit.\n- kobject_move() can fall back to the kset\u0027s kobject.\n- sysfs_move_dir() uses the sysfs root dir as fallback.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5331be090567d9335476f876b2d85427cd7c4426",
      "tree": "356842da9d4c3966a9781f6eb05fa77beec144bc",
      "parents": [
        "d3f8fd765e94b9137e1f27bbb0ac25289f9e565c",
        "7220c0177b45600eef2cfd3e5e57ab5b96f3222c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 07 08:10:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 07 08:10:48 2007 -0800"
      },
      "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: Remove incorrect kgdb define\n  JFS: call io_schedule() instead of schedule() to avoid deadlock\n  JFS: Add lockdep annotations\n  JFS: Avoid BUG() on a damaged file system\n"
    },
    {
      "commit": "d3f8fd765e94b9137e1f27bbb0ac25289f9e565c",
      "tree": "a9ee7f05b3ef9c03292b101e1e2e0ed0e1c3e85a",
      "parents": [
        "0670afdf0e69e5e73c8358da9c39bf3a8807b03e",
        "a2cf822274b3d58a16a65c8338e299e18b3dc3a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 07 08:09:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 07 08:09:00 2007 -0800"
      },
      "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: (57 commits)\n  [GFS2] make gfs2_writepages() static\n  [GFS2] Unlock page on prepare_write try lock failure\n  [GFS2] nfsd readdirplus assertion failure\n  [DLM] fix softlockup in dlm_recv\n  [DLM] zero new user lvbs\n  [DLM/GFS2] indent help text\n  [GFS2] Fix unlink deadlocks\n  [GFS2] Put back semaphore to avoid umount problem\n  [GFS2] more CURRENT_TIME_SEC\n  [GFS2/DLM] fix GFS2 circular dependency\n  [GFS2/DLM] use sysfs\n  [GFS2] make lock_dlm drop_count tunable in sysfs\n  [GFS2] increase default lock limit\n  [GFS2] Fix list corruption in lops.c\n  [GFS2] Fix recursive locking attempt with NFS\n  [DLM] can miss clearing resend flag\n  [DLM] saved dlm message can be dropped\n  [DLM] Make sock_sem into a mutex\n  [GFS2] Fix typo in glock.c\n  [GFS2] use CURRENT_TIME_SEC instead of get_seconds in gfs2\n  ...\n"
    },
    {
      "commit": "a2cf822274b3d58a16a65c8338e299e18b3dc3a4",
      "tree": "2f24e59d6e7543cddb421a62ec28f744f9dc082e",
      "parents": [
        "2d72e7101cc7fff5c1eb21bfcbba51c8002418d2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Feb 06 23:12:49 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 07 10:48:48 2007 -0500"
      },
      "message": "[GFS2] make gfs2_writepages() static\n\nOn Mon, Jan 29, 2007 at 08:45:28PM -0800, Andrew Morton wrote:\n\u003e...\n\u003e Changes since 2.6.20-rc6-mm2:\n\u003e...\n\u003e  git-gfs2-nmw.patch\n\u003e...\n\u003e  git trees\n\u003e...\n\nThis patch makes the needlessly global gfs2_writepages() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2d72e7101cc7fff5c1eb21bfcbba51c8002418d2",
      "tree": "4f67388942d5716fb18732c04b8a8d74bdff0ff8",
      "parents": [
        "549ae0ac3d574a682e82b02e79259a65445a675b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 07 10:25:59 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 07 10:25:59 2007 -0500"
      },
      "message": "[GFS2] Unlock page on prepare_write try lock failure\n\nWhen the try lock of the glock failed in prepare_write we were\nincorrectly exiting this function with the page still locked.\nThis was resulting in further I/O to this page hanging.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "dda2ac15d23b38e4335e858848aa8c9a6710304f",
      "tree": "8862ea96194611bc1ab6c96726e38ba0d4772c3a",
      "parents": [
        "2ac04a1597d9bca952dafcf8cbff4621884cb723",
        "e051fda4fd14fe878e6d2183b3a4640febe9e9a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 06 14:59:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 06 14:59:27 2007 -0800"
      },
      "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:\n  ocfs2: ocfs2_link() journal credits update\n"
    },
    {
      "commit": "768c242b30d9ec5581dd245e8289acb6b77815d1",
      "tree": "72a3563dd084e02e9a7b151e2cf9461dd3782913",
      "parents": [
        "e503606c5b7687842beb8fca46b827606ae40c63",
        "a850790f6c903f1a89d0dbf953946d231df3fe6b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 06 14:42:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 06 14:42:20 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Minor cleanup\n  [CIFS] Missing free in error path\n  [CIFS] Reduce cifs stack space usage\n  [CIFS] lseek polling returned stale EOF\n"
    },
    {
      "commit": "f1ddcaf3393b7a3871809b97fae90fac841a1f39",
      "tree": "ed73db33ec9160ecafee9b8a12ba369f98fd21e0",
      "parents": [
        "ba8da2a9485f22455dcb06dd17e2f6d94b81ba89"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jan 27 10:05:15 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 07 09:21:00 2007 +1100"
      },
      "message": "[CRYPTO] api: Remove deprecated interface\n\nThis patch removes the old cipher interface and related code.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a850790f6c903f1a89d0dbf953946d231df3fe6b",
      "tree": "60d3d6b0c28ea1e5dc0325e8810276976b043160",
      "parents": [
        "914afcf55ae2621a3c5930e8c458d4ae8636c469"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Feb 06 20:43:30 2007 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Feb 06 20:43:30 2007 +0000"
      },
      "message": "[CIFS] Minor cleanup\n\nMissing tab.  Missing entry in changelog\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "549ae0ac3d574a682e82b02e79259a65445a675b",
      "tree": "53e316e1f2d9aacc01f71eee23a8f2b04230c788",
      "parents": [
        "a34fbc6363256387372331000462691bc4b3f5a9"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Tue Feb 06 03:52:16 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 06 11:36:01 2007 -0500"
      },
      "message": "[GFS2] nfsd readdirplus assertion failure\n\nGlock assertion failure found in \u002707 NFS connectathon. One of the NFSDs\nis doing a \"readdirplus\" procedure call. It passes the logic into\ngfs2_readdir() where it obtains its directory inode glock. This is then\nfollowed by filehandle construction that invokes lookup code. It hits\nthe assertion failure while trying to obtain the inode glock again\ninside gfs2_drevalidate().\n\nThis patch bypasses the recursive glock call if caller already holds the\nlock.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "a34fbc6363256387372331000462691bc4b3f5a9",
      "tree": "d211465adf24f06d772cfbc78b92269771f46b07",
      "parents": [
        "62a0f62369b0fece37f6652d69b918c89d53c3b3"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Thu Feb 01 16:46:33 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:27 2007 -0500"
      },
      "message": "[DLM] fix softlockup in dlm_recv\n\nThis patch stops the dlm_recv workqueue from busy-waiting when a node\ndisconnects. This can cause soft lockup errors on debug systems and bad\nperformance generally.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "62a0f62369b0fece37f6652d69b918c89d53c3b3",
      "tree": "1b32f039b103dbb34af458ec593728682913505f",
      "parents": [
        "9beeb9f3c5b0401491f59b71521ab2678f584b09"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 31 13:25:00 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:24 2007 -0500"
      },
      "message": "[DLM] zero new user lvbs\n\nA new lvb for a userland lock wasn\u0027t being initialized to zero.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9beeb9f3c5b0401491f59b71521ab2678f584b09",
      "tree": "15e46c270892a7864be1078f5ce962ca8d7503d9",
      "parents": [
        "ddee76089cc9bcbd8ae9ec6c26e726a8ab2fe675"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jan 30 14:30:08 2007 -0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:20 2007 -0500"
      },
      "message": "[DLM/GFS2] indent help text\n\nIndent help text as expected.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ddee76089cc9bcbd8ae9ec6c26e726a8ab2fe675",
      "tree": "cf08d003789a2be0f109d3d5f255137fd36360f5",
      "parents": [
        "61be084efcc4451934257350281962595418a33c"
      ],
      "author": {
        "name": "Russell Cattelan",
        "email": "cattelan@redhat.com",
        "time": "Mon Jan 29 17:13:44 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:17 2007 -0500"
      },
      "message": "[GFS2] Fix unlink deadlocks\n\nMove the glock acquisition to outside of the transactions.\n\nLock odering must be preserved in order to prevent ABBA\ndeadlocks. The current gfs2_change_nlink code would tries\nto grab the glock after having started a transaction and thus is holding\nthe log lock. This is inconsistent with other code paths in\ngfs that grab the resource group glock prior to staring\na tranactions.\n\nOne problem with this fix is that the resource group\nlock is always grabbed now even if the inode still has\nref count and can not be marked for unlink.\n\nSigned-off-by: Russell Cattelan \u003ccattelan@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "61be084efcc4451934257350281962595418a33c",
      "tree": "3f7b3e0d93f52803f27aa3268a4bd7098e48ae4d",
      "parents": [
        "bbb28ab7599789740b2233a0805d22aefb97f533"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 29 11:51:45 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:14 2007 -0500"
      },
      "message": "[GFS2] Put back semaphore to avoid umount problem\n\nDave Teigland fixed this bug a while back, but I managed to mistakenly\nremove the semaphore during later development. It is required to avoid\nthe list of inodes changing during an invalidate_inodes call. I have\nmade it an rwsem since the read side will be taken frequently during\nnormal filesystem operation. The write site will only happen during\numount of the file system.\n\nAlso the bug only triggers when using the DLM lock manager and only then\nunder certain conditions as its timing related.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "bbb28ab7599789740b2233a0805d22aefb97f533",
      "tree": "05651dcf454b7a3a29038b9f3edfccc28c1e51ac",
      "parents": [
        "001172778543c6997d3339f43085e43460e5883a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 29 11:11:51 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:11 2007 -0500"
      },
      "message": "[GFS2] more CURRENT_TIME_SEC\n\nWhoops, quilt user error, missed this one in the previous patch.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "001172778543c6997d3339f43085e43460e5883a",
      "tree": "73795627b092435cd9f254e5e12439ee16e31340",
      "parents": [
        "67f55897ee5ffa16ca00ed39d176dc52b5066679"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jan 28 17:19:50 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:08 2007 -0500"
      },
      "message": "[GFS2/DLM] fix GFS2 circular dependency\n\nOn Sun, Jan 28, 2007 at 11:08:18AM +0100, Jiri Slaby wrote:\n\u003e Andrew Morton napsal(a):\n\u003e \u003eTemporarily at\n\u003e \u003e\n\u003e \u003e\thttp://userweb.kernel.org/~akpm/2.6.20-rc6-mm1/\n\u003e\n\u003e Unable to select IPV6. Menuconfig doesn\u0027t offer it when INET is selected.\n\u003e When it\u0027s not it appears in the menu, but after state change it gets away.\n\u003e The same behaviour in xconfig, gconfig.\n\u003e\n\u003e $ mkdir ../a/tst\n\u003e $ make O\u003d../a/tst menuconfig\n\u003e   HOSTCC  scripts/basic/fixdep\n\u003e [...]\n\u003e   HOSTLD  scripts/kconfig/mconf\n\u003e scripts/kconfig/mconf arch/i386/Kconfig\n\u003e Warning! Found recursive dependency: INET GFS2_FS_LOCKING_DLM SYSFS\n\u003e OCFS2_FS INET\n\u003e\n\u003e Maybe this is the problem?\n\nYes, patch below.\n\n\u003e regards,\n\ncu\nAdrian\n\n\u003c--  snip  --\u003e\n\nThis patch fixes a circular dependency by letting GFS2_FS_LOCKING_DLM\nand DLM depend on instead of select SYSFS.\n\nSince SYSFS depends on EMBEDDED this change shouldn\u0027t cause any problems\nfor users.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "67f55897ee5ffa16ca00ed39d176dc52b5066679",
      "tree": "5660a77dce80c07d90f677febc8bbb7e9b12fe29",
      "parents": [
        "ee32e4f3d347e4b562de0bd70be99e622d7d1a9f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jan 25 18:42:39 2007 -0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:05 2007 -0500"
      },
      "message": "[GFS2/DLM] use sysfs\n\nWith CONFIG_DLM\u003dm, CONFIG_PROC_FS\u003dn, and CONFIG_SYSFS\u003dn, kernel build\nfails with:\n\nWARNING: \"kernel_subsys\" [fs/gfs2/locking/dlm/lock_dlm.ko] undefined!\nWARNING: \"kernel_subsys\" [fs/dlm/dlm.ko] undefined!\nWARNING: \"kernel_subsys\" [fs/configfs/configfs.ko] undefined!\nmake[1]: *** [__modpost] Error 1\nmake: *** [modules] Error 2\n\nSince fs/dlm/lockspace.c and fs/gfs2/locking/dlm/sysfs.c use\nkernel_subsys, they should either DEPEND on it or SELECT it.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ee32e4f3d347e4b562de0bd70be99e622d7d1a9f",
      "tree": "ba927adf561f1c5af229552962ec5c32472a1ffe",
      "parents": [
        "2f708649baad6350f506e7f5ca6649e32a8e4b49"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Jan 25 14:24:04 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:01 2007 -0500"
      },
      "message": "[GFS2] make lock_dlm drop_count tunable in sysfs\n\nWe want to be able to change or disable the default drop_count (number at\nwhich the dlm asks gfs to limit the the number of locks it\u0027s holding).\nAdd it to the collection of sysfs tunables for an fs.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2f708649baad6350f506e7f5ca6649e32a8e4b49",
      "tree": "b561ccaf3464ff1d4073049359a49265b1d3a0e7",
      "parents": [
        "8bd9572769767c6fd164cff4e1202df12cb34b4a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Jan 25 13:50:52 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:59 2007 -0500"
      },
      "message": "[GFS2] increase default lock limit\n\nIncrease the number of locks at which point the dlm begins asking gfs to\nreduce its lock usage.  The default value is largely arbitrary, but the\ncurrent value of 50,000 ends up limiting performance unnecessarily for too\nmany users.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8bd9572769767c6fd164cff4e1202df12cb34b4a",
      "tree": "aef67aaaaa443ae233630f3eb5cbbb02aba375cb",
      "parents": [
        "d7c103d0bd29c94f78155a4538faf314e49d9713"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 25 10:04:20 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:56 2007 -0500"
      },
      "message": "[GFS2] Fix list corruption in lops.c\n\nThe patch below appears to fix the list corruption that we are seeing on\noccasion. Although the transaction structure is private to a single\nthread, when the queued structures are dismantled during an in-core\ncommit, its possible for a different thread to be trying to add the same\nstructure to another, new, transaction at the same time.\n\nTo avoid this, this patch takes the log spinlock during this operation.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d7c103d0bd29c94f78155a4538faf314e49d9713",
      "tree": "62c453ffe7d6d4637aa93dd43dbb0665175f644c",
      "parents": [
        "b790c3b7c38aae28c497bb363a6fe72f7c96568f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 25 17:14:59 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:53 2007 -0500"
      },
      "message": "[GFS2] Fix recursive locking attempt with NFS\n\nIn certain cases, its possible for NFS to call the lookup code while\nholding the glock (when doing a readdirplus operation) so we need to\ncheck for that and not try and lock the glock twice. This also fixes a\ntypo in a previous NFS related GFS2 patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b790c3b7c38aae28c497bb363a6fe72f7c96568f",
      "tree": "e4dda1c5c775b4ae164a997f1216147066de31e3",
      "parents": [
        "8fd3a98f2c22982aff4d29e4ee72959d3032c123"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 24 10:21:33 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:50 2007 -0500"
      },
      "message": "[DLM] can miss clearing resend flag\n\nA long, complicated sequence of events, beginning with the RESEND flag not\nbeing cleared on an lkb, can result in an unlock never completing.\n\n- lkb on waiters list for remote lookup\n- the remote node is both the dir node and the master node, so\n  it optimizes the lookup into a request and sends a request\n  reply back\n- the request reply is saved on the requestqueue to be processed\n  after recovery\n- recovery runs dlm_recover_waiters_pre() which sets RESEND flag\n  so the lookup will be resent after recovery\n- end of recovery: process_requestqueue takes saved request reply\n  which removes the lkb off the waitesr list, _without_ clearing\n  the RESEND flag\n- end of recovery: dlm_recover_waiters_post() doesn\u0027t do anything\n  with the now completed lookup lkb (would usually clear RESEND)\n- later, the node unmounts, unlocks this lkb that still has RESEND\n  flag set\n- the lkb is on the waiters list again, now for unlock, when recovery\n  occurs, dlm_recover_waiters_pre() shows the lkb for unlock with RESEND\n  set, doesn\u0027t do anything since the master still exists\n- end of recovery: dlm_recover_waiters_post() takes this lkb off\n  the waiters list because it has the RESEND flag set, then reports\n  an error because unlocks are never supposed to be handled in\n  recover_waiters_post().\n- later, the unlock reply is received, doesn\u0027t find the lkb on\n  the waiters list because recover_waiters_post() has wrongly\n  removed it.\n- the unlock operation has been lost, and we\u0027re left with a\n  stray granted lock\n- unmount spins waiting for the unlock to complete\n\nThe visible evidence of this problem will be a node where gfs umount is\nspinning, the dlm waiters list will be empty, and the dlm locks list will\nshow a granted lock.\n\nThe fix is simply to clear the RESEND flag when taking an lkb off the\nwaiters list.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8fd3a98f2c22982aff4d29e4ee72959d3032c123",
      "tree": "9d4b75dc24d506572d7f2700f0d68f568969e62d",
      "parents": [
        "f1f1c1ccf7848a6e25db30ee9216e1a1e7eb6bef"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 24 10:11:45 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:47 2007 -0500"
      },
      "message": "[DLM] saved dlm message can be dropped\n\ndlm_receive_message() returns 0 instead of returning \u0027error\u0027.  What would\nhappen is that process_requestqueue would take a saved message off the\nrequestqueue and call receive_message on it.  receive_message would then\nsee that recovery had been aborted, set error to EINTR, and \u0027goto out\u0027,\nexpecting that the error would be returned.  Instead, 0 was always\nreturned, so process_requestqueue would think that the message had been\nprocessed and delete it instead of saving it to process next time.  This\nmeans the message (usually an unlock in my tests) would be lost.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f1f1c1ccf7848a6e25db30ee9216e1a1e7eb6bef",
      "tree": "38b5f6ba90143ceea49c62fb824a7b46b1f03636",
      "parents": [
        "d043e1900c97f7282b71844c8530279913b6ec5a"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Wed Jan 24 11:17:59 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:44 2007 -0500"
      },
      "message": "[DLM] Make sock_sem into a mutex\n\nNow that there can be multiple dlm_recv threads running we need to prevent two\nrecvs running for the same connection - it\u0027s unlikely but it can happen and it\ncauses message corruption.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d043e1900c97f7282b71844c8530279913b6ec5a",
      "tree": "00880047322a93a17fd352abe821e3c78446911b",
      "parents": [
        "ddfe0627838ca0c0e8babb0dd2bd7f4b35e25bff"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 23 16:56:36 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:41 2007 -0500"
      },
      "message": "[GFS2] Fix typo in glock.c\n\nThis is a one letter typo fix in glock.c, spotted by Rob Kenna.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ddfe0627838ca0c0e8babb0dd2bd7f4b35e25bff",
      "tree": "a6348245a2a4d58705119a2cec5aabd650ee64a1",
      "parents": [
        "90101c31867b7acc44286b425d50e1042aa55b8d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jan 18 16:41:23 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:38 2007 -0500"
      },
      "message": "[GFS2] use CURRENT_TIME_SEC instead of get_seconds in gfs2\n\nI was looking something else up and came across this...\n\nI don\u0027t honestly have a good reason to change it other than to make it\nlike every other Linux filesystem in this regard.  ;-)  It doesn\u0027t\nfunctionally change anything, but makes some lines shorter. :)\n\nI\u0027m also curious; why does gfs2 have 64-bits of on-disk timestamps, but\nnot in timespec_t format, and only stores second resolutions?  Seems like\nyou\u0027re halfway to sub-second resolutions already.\n\nI suppose if that gets implemented then all of the below should\ninstead be CURRENT_TIME not CURRENT_TIME_SEC.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "90101c31867b7acc44286b425d50e1042aa55b8d",
      "tree": "3129323fd9112fb1e7ed187a0cdca8d37d0b42da",
      "parents": [
        "12132933c4fdeb458195a9388287d550c8476edf"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 23 13:20:41 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:35 2007 -0500"
      },
      "message": "[GFS2] Compile fix for glock.c\n\nThis one liner got missed from the previous patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "12132933c4fdeb458195a9388287d550c8476edf",
      "tree": "037a43592c395a7d60561628fdf24e80b5901489",
      "parents": [
        "bd44e2b007bc9024bce3357c185b38c73f87c3dd"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 22 13:09:04 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:32 2007 -0500"
      },
      "message": "[GFS2] Remove queue_empty() function\n\nThis function is not longer required since we do not do recursive\nlocking in the glock layer. As a result all its callers can be\nreplaceed with list_empty() calls.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bd44e2b007bc9024bce3357c185b38c73f87c3dd",
      "tree": "6359c8eb02e4cb1ce26dd8da88e1f032c187ec04",
      "parents": [
        "b5d32bead1578afc5ca817d40c320764d50a8600"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Mon Jan 22 14:51:33 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:29 2007 -0500"
      },
      "message": "[DLM] fix lowcomms receiving\n\nThis patch fixes a bug whereby data on a newly accepted connection would be\nignored if it arrived soon after the accept.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b5d32bead1578afc5ca817d40c320764d50a8600",
      "tree": "522400e0638b263a9973b05f0da40bafcfc8b0bb",
      "parents": [
        "f2f5095f9e63db57faa7cb082e958910ecdd7ad4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 22 12:15:34 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:26 2007 -0500"
      },
      "message": "[GFS2] Tidy up glops calls\n\nThis patch doesn\u0027t make any changes to the ordering of the various\noperations related to glocking, but it does tidy up the calls to the\nglops.c functions to make the structure more obvious.\n\nThe two functions: gfs2_glock_xmote_th() and gfs2_glock_drop_th() can be\nmade static within glock.c since they are called by every set of glock\noperations. The xmote_th and drop_th glock operations are then made\nconditional upon those two routines existing and called from the\npreviously mentioned functions in glock.c respectively.\n\nAlso it can be seen that the go_sync operation isn\u0027t needed since it can\neasily be replaced by calls to xmote_bh and drop_bh respectively. This\nresults in no longer (confusingly) calling back into routines in glock.c\nfrom glops.c and also reducing the glock operations by one member.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f2f5095f9e63db57faa7cb082e958910ecdd7ad4",
      "tree": "42344ef03a046bd6c9cf8ca5b14a693094a70e3f",
      "parents": [
        "1c0f4872dc4bbeb2223a300517099786211fce83"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Mon Jan 22 14:50:10 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:23 2007 -0500"
      },
      "message": "[DLM] lowcomms tidy\n\nThis patch removes some redundant fields from the connection structure and adds\nsome lockdep annotation to remove spurious warnings.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1c0f4872dc4bbeb2223a300517099786211fce83",
      "tree": "21e4c880e68751dabecfc0d77ff226ec6fcb6951",
      "parents": [
        "6bd9c8c2fb99d1f5af6201db2f063c1d754c230a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 22 12:10:39 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:20 2007 -0500"
      },
      "message": "[GFS2] Remove local exclusive glock mode\n\nHere is a patch for GFS2 to remove the local exclusive flag. In\nthe places it was used, mutex\u0027s are always held earlier in the\ncall path, so it appears redundant in the LM_ST_SHARED case.\n\nAlso, the GFS2 holders were setting local exclusive in any case where\nthe requested lock was LM_ST_EXCLUSIVE. So the other places in the glock\ncode where the flag was tested have been replaced with tests for the\nlock state being LM_ST_EXCLUSIVE in order to ensure the logic is the\nsame as before (i.e. LM_ST_EXCLUSIVE is always locally exclusive as well\nas globally exclusive).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6bd9c8c2fb99d1f5af6201db2f063c1d754c230a",
      "tree": "836052b520674d5dd732b12a82eff8f659de880d",
      "parents": [
        "e5dab552c82ce416d7be867b1e5a0fa585dcf590"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 19 13:57:36 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:17 2007 -0500"
      },
      "message": "[GFS2] Remove unused go_callback operation\n\nThis is never used, so we might as well remove it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e5dab552c82ce416d7be867b1e5a0fa585dcf590",
      "tree": "3719a33f1bd5a29785e4ca35982d9610dd5a1a63",
      "parents": [
        "fee852e374fb367c5436b1226eb93b35f8355ed9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 18 17:44:20 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:14 2007 -0500"
      },
      "message": "[GFS2] Remove the \"greedy\" function from glock.[ch]\n\nThe \"greedy\" code was an attempt to retain glocks for a minimum length\nof time when they relate to mmap()ed files. The current implementation\nof this feature is not, however, ideal in that it required allocating\nmemory in order to do this and its overly complicated.\n\nIt also misses the mark by ignoring the other I/O operations which are\njust as likely to suffer from the same problem. So the plan is to remove\nthis now and then add the functionality back as part of the glock state\nmachine at a later date (and thus take into account all the possible\nusers of this feature)\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fee852e374fb367c5436b1226eb93b35f8355ed9",
      "tree": "0e373afa25bd27582b2fc4fff8f2964ff0de6722",
      "parents": [
        "330005c2b23e71e54931913e9b63d1712a19e444"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 17 15:33:23 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:11 2007 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode memory by half\n\nHere is something I spotted (while looking for something entirely\ndifferent) the other day.\n\nRather than using a completion in each and every struct gfs2_holder,\nthis removes it in favour of hashed wait queues, thus saving a\nconsiderable amount of memory both on the stack (where a number of\ngfs2_holder structures are allocated) and in particular in the\ngfs2_inode which has 8 gfs2_holder structures embedded within it.\n\nAs a result on x86_64 the gfs2_inode shrinks from 2488 bytes to\n1912 bytes, a saving of 576 bytes per inode (no thats not a typo!).\nIn actual practice we get a much better result than that since\nnow that a gfs2_inode is under the 2048 byte barrier, we get two\nper 4k slab page effectively halving the amount of memory required\nto store gfs2_inodes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "330005c2b23e71e54931913e9b63d1712a19e444",
      "tree": "7a0162de5bbdeed0b1e82b76c4bddcb628362af2",
      "parents": [
        "3699e3a44bf56e0cd58c97e8655f375ad9b65d9d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 15 16:36:26 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:08 2007 -0500"
      },
      "message": "[GFS2] Remove max_atomic_write tunable\n\nThis removes an unused sysfs tunable parameter.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3699e3a44bf56e0cd58c97e8655f375ad9b65d9d",
      "tree": "9ac31dd5b99373614f0cd52cc5a41536aeea271e",
      "parents": [
        "a8d638e30e768adc6956541f79f7bf05139ba475"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 17 15:09:20 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:04 2007 -0500"
      },
      "message": "[GFS2] Clean up/speed up readdir\n\nThis removes the extra filldir callback which gfs2 was using to\nenclose an attempt at readahead for inodes during readdir. The\ncode was too complicated and also hurts performance badly in the\ncase that the getdents64/readdir call isn\u0027t being followed by\nstat() and it wasn\u0027t even getting it right all the time when it\nwas.\n\nAs a result, on my test box an \"ls\" of a directory containing 250000\nfiles fell from about 7mins (freshly mounted, so nothing cached) to\nbetween about 15 to 25 seconds. When the directory content was cached,\nthe time taken fell from about 3mins to about 4 or 5 seconds.\n\nInterestingly in the cached case, running \"ls -l\" once reduced the time\ntaken for subsequent runs of \"ls\" to about 6 secs even without this\npatch. Now it turns out that there was a special case of glocks being\nused for prefetching the metadata, but because of the timeouts for these\nlocks (set to 10 secs) the metadata was being timed out before it was\nbeing used and this the prefetch code was constantly trying to prefetch\nthe same data over and over.\n\nCalling \"ls -l\" meant that the inodes were brought into memory and once\nthe inodes are cached, the glocks are not disposed of until the inodes\nare pushed out of the cache, thus extending the lifetime of the glocks,\nand thus bringing down the time for subsequent runs of \"ls\"\nconsiderably.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a8d638e30e768adc6956541f79f7bf05139ba475",
      "tree": "07cee3c3d06eee9ff138f17023c7dadcb338f467",
      "parents": [
        "222d396092acc11b4af03bede309aa066945e920"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 15 13:52:17 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:01 2007 -0500"
      },
      "message": "[GFS2] Add writepages for \"data\u003dwriteback\" mounts\n\nIt occurred to me that although a gfs2 specific writepages for ordered\nwrites and journaled data would be tricky, by hooking writepages only\nfor \"data\u003dwriteback\" mounts we could take advantage of not needing\nbuffer heads (we don\u0027t use them on the read side, nor have we for some\ntime) and create much larger I/Os for the block layer.\n\nUsing blktrace both before and after, its possible to see that for large\nI/Os, most of the requests generated through writepages are now 1024\nsectors after this patch is applied as opposed to 8 sectors before.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "222d396092acc11b4af03bede309aa066945e920",
      "tree": "ec8e0ac0183faad1167af24ff33ba23ba0db85b1",
      "parents": [
        "a1bc86e6bddd34362ca08a3a4d898eb4b5c15215"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 15 10:28:22 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:58 2007 -0500"
      },
      "message": "[DLM] fix master recovery\n\nIf master recovery happens on an rsb in one recovery sequence, then that\nsequence is aborted before lock recovery happens, then in the next\nsequence, we rely on the previous master recovery (which may now be\ninvalid due to another node ignoring a lookup result) and go on do to the\nlock recovery where we get stuck due to an invalid master value.\n\n recovery cycle begins: master of rsb X has left\n nodes A and B send node C an rcom lookup for X to find the new master\n C gets lookup from B first, sets B as new master, and sends reply back to B\n C gets lookup from A next, and sends reply back to A saying B is master\n A gets lookup reply from C and sets B as the new master in the rsb\n recovery cycle on A, B and C is aborted to start a new recovery\n B gets lookup reply from C and ignores it since there\u0027s a new recovery\n recovery cycle begins: some other node has joined\n B doesn\u0027t think it\u0027s the master of X so it doesn\u0027t rebuild it in the directory\n C looks up the master of X, no one is master, so it becomes new master\n B looks up the master of X, finds it\u0027s C\n A believes that B is the master of X, so it sends its lock to B\n B sends an error back to A\n A resends\n this repeats forever, the incorrect master value on A is never corrected\n\nThe fix is to do master recovery on an rsb that still has the NEW_MASTER\nflag set from an earlier recovery sequence, and therefore didn\u0027t complete\nlock recovery.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a1bc86e6bddd34362ca08a3a4d898eb4b5c15215",
      "tree": "92b30f8f9400c5a1b71a2e3a17397b9d0b2cc2f2",
      "parents": [
        "1d6e8131cf0064ef5ab5f3411a82b800afbfadee"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 15 10:34:52 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:55 2007 -0500"
      },
      "message": "[DLM] fix user unlocking\n\nWhen a user process exits, we clear all the locks it holds.  There is a\nproblem, though, with locks that the process had begun unlocking before it\nexited.  We couldn\u0027t find the lkb\u0027s that were in the process of being\nunlocked remotely, to flag that they are DEAD.  To solve this, we move\nlkb\u0027s being unlocked onto a new list in the per-process structure that\ntracks what locks the process is holding.  We can then go through this\nlist to flag the necessary lkb\u0027s when clearing locks for a process when it\nexits.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1d6e8131cf0064ef5ab5f3411a82b800afbfadee",
      "tree": "d165b0210a2c12de8848b2b8bc30237183b611dc",
      "parents": [
        "03dc6a538e42bcc8d5dfabcee208b639db85a80c"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Mon Jan 15 14:33:34 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:52 2007 -0500"
      },
      "message": "[DLM] Use workqueues for dlm lowcomms\n\nThis patch converts the DLM TCP lowcomms to use workqueues rather than using its\nown daemon functions. Simultaneously removing a lot of code and making it more\nscalable on multi-processor machines.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "03dc6a538e42bcc8d5dfabcee208b639db85a80c",
      "tree": "2b1f4c9407b5e8eb7f77cc1c79f642c54a794368",
      "parents": [
        "70831465646b1fef9bf7b51b64409276411e9746"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jan 13 10:56:41 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:49 2007 -0500"
      },
      "message": "[GFS2] make gfs2_change_nlink_i() static\n\nOn Thu, Jan 11, 2007 at 10:26:27PM -0800, Andrew Morton wrote:\n\u003e...\n\u003e Changes since 2.6.20-rc3-mm1:\n\u003e...\n\u003e  git-gfs2-nmw.patch\n\u003e...\n\u003e  git trees\n\u003e...\n\nThis patch makes the needlessly globlal gfs2_change_nlink_i() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "70831465646b1fef9bf7b51b64409276411e9746",
      "tree": "98fd30f0d3cbc5726b641ba0cb3f72764d251b15",
      "parents": [
        "d200778e1257eeb92242355de6f191a0a5ad43c4"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Jan 11 13:25:00 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:46 2007 -0500"
      },
      "message": "[GFS2] gfs2 knows of directories which it chooses not to display\n\nThis is for Red Hat bugzilla bug bz #222302:\n\nMoving a virtual IP from node to node between two NFS-over-GFS2\nservers was causing one of the GFS2 servers to become confused and\nreference a deleted inode.  The problem was due to vfs dentries that did\nnot reference the gfs2_dops and therefore didn\u0027t call the gfs2 revalidate\ncode to revalidate a dentry after a directory had been deleted \u0026 recreated.\nThis patch is a crosswrite from a RHEL4 bug found in GFS1 as\nbz #190756 and it is against the latest -nmw git tree.\n\nSigned-off-by: Robert Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d200778e1257eeb92242355de6f191a0a5ad43c4",
      "tree": "ff517f0e4af571951df015cf3ceefebc73e017d0",
      "parents": [
        "99fc64874aad1ee0aea5c4d8c07e3529f9d03497"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 09 09:46:02 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:43 2007 -0500"
      },
      "message": "[DLM] expose dlm_config_info fields in configfs\n\nMake the dlm_config_info values readable and writeable via configfs\nentries.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "99fc64874aad1ee0aea5c4d8c07e3529f9d03497",
      "tree": "46d36b4d11d920e31bbbf04f5d62e676945550e6",
      "parents": [
        "68c817a1c4e21b893672ac73d8a498e6647453aa"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 09 09:44:01 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:40 2007 -0500"
      },
      "message": "[DLM] add config entry to enable log_debug\n\nAdd a new dlm_config_info field to enable log_debug output and change\nlog_debug() to use it.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "68c817a1c4e21b893672ac73d8a498e6647453aa",
      "tree": "12c0fe9bd087ac1a0189048a7f4535993d6cb697",
      "parents": [
        "8ec6886748443bec53ce9b9bf50cec92bc417a1b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 09 09:41:48 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:37 2007 -0500"
      },
      "message": "[DLM] rename dlm_config_info fields\n\nAdd a \"ci_\" prefix to the fields in the dlm_config_info struct so that we\ncan use macros to add configfs functions to access them (in a later\npatch).  No functional changes in this patch, just naming changes.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8ec6886748443bec53ce9b9bf50cec92bc417a1b",
      "tree": "f51bdd8cc92931c5f50d1a15181444651ceeeacb",
      "parents": [
        "87d21e07f3880b8d489f0b4a639deb1362101838"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 09 09:38:39 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:34 2007 -0500"
      },
      "message": "[DLM] change some log_error to log_debug\n\nSome common, non-error messages should use log_debug instead of log_error\nso they can be turned off.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "87d21e07f3880b8d489f0b4a639deb1362101838",
      "tree": "20b41fc6dad45363b81a9e44daf5b278f532f183",
      "parents": [
        "6c93fd1e578669364e026a0d44c669b871e2a8c4"
      ],
      "author": {
        "name": "S. Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Jan 18 16:07:03 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:31 2007 -0500"
      },
      "message": "[GFS2] Fix gfs2_rename deadlock\n\nSecond round of gfs2_rename lock re-ordering to allow Anaconda adding\nroot partition on top of gfs2. Previous to this patch the recursive\nlock detector in glock.c can be triggered due to attempting to lock\nthe rgrp twice. This fixes it by checking to see whether the rgrp\nis already locked.\n\nThis fixes Red Hat bugzilla #221237\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6c93fd1e578669364e026a0d44c669b871e2a8c4",
      "tree": "282fd8a70fd4791a80a06dbddac1060cbc4f3848",
      "parents": [
        "49686f71060e342bce6644a5c69fbc6ad0e75a13"
      ],
      "author": {
        "name": "Russell Cattelan",
        "email": "cattelan@redhat.com",
        "time": "Mon Jan 08 17:47:51 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:28 2007 -0500"
      },
      "message": "[GFS2] BZ 217008 fsfuzzer fix.\n\nUpdate the quilt header comments to match the\ncode changes.\n\nChange gfs2_lookup_simple to return an error in the case\nof a NULL inode.\nThe callers of gfs2_lookup_simple do not check for NULL\nin the no entry case and such would end up dereferencing a NULL ptr.\n\nThis fixes:\nhttp://projects.info-pull.com/mokb/MOKB-15-11-2006.html\n\nSigned-off-by: Russell Cattelan \u003ccattelan@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "49686f71060e342bce6644a5c69fbc6ad0e75a13",
      "tree": "b0cb01ccb67d7e4d71a8d17051f53dae475bfc20",
      "parents": [
        "4edde74eedb8bc4c03adc3602b114b72a7ccd13f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 08 14:31:40 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:24 2007 -0500"
      },
      "message": "[GFS2] Fix ordering of page disposal vs. glock_dq\n\nIn case of unlinked files with dirty pages GFS2 wasn\u0027t clearing\nthe pages in quite the right order. This patch clears the pages\nearlier (before the qlock_dq) to avoid the situation that the\nrelease of the glock results in attempting to write back data that\nhas already been deallocated.\n\nThis fixes Red Hat bugzilla: #220117\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "4edde74eedb8bc4c03adc3602b114b72a7ccd13f",
      "tree": "636a9c5836a6ea132d7316ae101616039e8d768f",
      "parents": [
        "3fb4a251febe70e4c65ea8250545b391fd414d5a"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Tue Jan 02 17:08:54 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:21 2007 -0500"
      },
      "message": "[DLM] Fix spin lock already unlocked bug\n\nI just noticed this message when testing some other changes I\u0027d made to\nlowcomms (to use workqueues) but the problem seems to be in the current\ngit trees too. I\u0027m amazed no-one has seen it.\n\n    BUG: spinlock already unlocked on CPU#1, dlm_recoverd/16868\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3fb4a251febe70e4c65ea8250545b391fd414d5a",
      "tree": "28de58dc7a76c3e8c00a3cc4d1005196e55fe475",
      "parents": [
        "5509826f1e548d14bb888c1cb6e3bbf23f855770"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Tue Jan 02 17:01:05 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:18 2007 -0500"
      },
      "message": "[DLM] Fix schedule() calls\n\nI was a little over-enthusiastic turning schedule() calls int cond_sched() when fixing the DLM for Andrew Morton.\n\nThese four should really be calls to schedule() or the dlm can busy-wait.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5509826f1e548d14bb888c1cb6e3bbf23f855770",
      "tree": "20915fb965f5895f3a41361bdb6182ae10db242c",
      "parents": [
        "e1d5b18ae92d0bbfe66dc2b4bab65006d32c5f7d"
      ],
      "author": {
        "name": "S. Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Jan 18 15:56:34 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:15 2007 -0500"
      },
      "message": "[GFS2] Fix change nlink deadlock\n\nBugzilla 215088\n\nFix deadlock in gfs2_change_nlink() while installing RHEL5 into GFS2\npartition. The gfs2_rename() apparently needs block allocation for the\nnew name (into the directory) where it requires rg locks. At the same\ntime, while updating the nlink count for the replaced file,\ngfs2_change_nlink() tries to return the inode meta-data back to resource\ngroup where it needs rg locks too. Our logic doesn\u0027t allow process to\nacquire these locks recursively by the same process  (RHEL installer)\nthat results a BUG call. This only happens within rename code path and\nonly if the destination file exists before the rename operation.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e1d5b18ae92d0bbfe66dc2b4bab65006d32c5f7d",
      "tree": "d74ca0e101e6146ecf00b4c495bde40f45d7e43e",
      "parents": [
        "c7b3383437ff41781964d1bf7f40ff8d7dd5bc47"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Dec 15 16:49:51 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:12 2007 -0500"
      },
      "message": "[GFS2] Fail over to readpage for stuffed files\n\nThis is partially derrived from a patch written by Russell Cattelan.\nIt fixes a bug where there is a race between readpages and truncate\nby ignoring readpages for stuffed files. This is ok because a stuffed\nfile will never be more than one block (minus sizeof(struct gfs2_dinode))\nin size and block size is always less than page size, so we do not lose\nanything efficiency-wise by not doing readahead for stuffed files. They\nwill have already been \"read ahead\" by the action of reading the inode\nin, in the first place.\n\nThis is the remaining part of the fix for Red Hat bugzilla #218966\nwhich had not yet made it upstream.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Russell Cattelan \u003ccattelan@redhat.com\u003e\n"
    },
    {
      "commit": "c7b3383437ff41781964d1bf7f40ff8d7dd5bc47",
      "tree": "dbe0e6cb267bfe1dc5f52ee6c30529b55ac58a16",
      "parents": [
        "927255f0383342f5d49b82adb6689b9cba52a6f5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 14 18:24:26 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:09 2007 -0500"
      },
      "message": "[GFS2] Fix DIO deadlock\n\nThis patch fixes Red Hat bugzilla #212627 in which a deadlock occurs\ndue to trying to take the i_mutex while holding a glock. The correct\nlocking order is defined as i_mutex -\u003e glock in all cases.\n\nI\u0027ve left dealing with allocating writes. I know that we need to do\nthat, but for now this should do the trick. We don\u0027t need to take the\ni_mutex on write, because the VFS has already taken it for us. On read\nwe don\u0027t need it since the glock is enough protection. The reason that\nI\u0027ve made some of the checks into a separate function is that we\u0027ll need\nto do the checks again in the allocating write case eventually, so this\nis partly in preparation for this. Likewise the return value test of !\u003d\n1 might look a bit odd and thats because we\u0027ll need a third return value\nin case of requiring an allocation.\n\nI\u0027ve made the change to deferred mode on the glock to ensure flushing\nread caches on other nodes. I notice that (using blktrace to look at\nwhats going on) we appear to do a better job of large I/Os than ext3\nafter this patch (in terms of not splitting up the I/Os).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Wendy Cheng \u003cwcheng@redhat.com\u003e\n"
    },
    {
      "commit": "927255f0383342f5d49b82adb6689b9cba52a6f5",
      "tree": "128aa611a70e73664d38344ae4da0251635c1699",
      "parents": [
        "075529b5e1ffa8c9864d23930b71b5306a13d9f8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Dec 19 13:04:03 2006 -0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:05 2007 -0500"
      },
      "message": "[DLM] fs/dlm/lowcomms-tcp.c: remove 2 functions\n\nRemove the following unused functions:\n\n- lowcomms_send_message()\n- lowcomms_max_buffer_size()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "075529b5e1ffa8c9864d23930b71b5306a13d9f8",
      "tree": "414833bf6041a82f9e0cd2f813b05fe2da37ead8",
      "parents": [
        "8d07fd509e9c82a59e37b8b18a2fd0e8ef8fc837"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Dec 13 10:40:26 2006 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:02 2007 -0500"
      },
      "message": "[DLM] fix lost flags in stub replies\n\nWhen the dlm fakes an unlock/cancel reply from a failed node using a stub\nmessage struct, it wasn\u0027t setting the flags in the stub message.  So, in\nthe process of receiving the fake message the lkb flags would be updated\nand cleared from the zero flags in the message.  The problem observed in\ntests was the loss of the USER flag which caused the dlm to think a user\nlock was a kernel lock and subsequently fail an assertion checking the\nvalidity of the ast/callback field.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ],
  "next": "8d07fd509e9c82a59e37b8b18a2fd0e8ef8fc837"
}
