)]}'
{
  "log": [
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "29bd17af7d8ffc16bb5eb286947495c166ea826e",
      "tree": "5c20c44b51bdb3573949d1dc23bc3d3927d759fa",
      "parents": [
        "2ba14a017a4ba8d2266316f481d4ad7400073d18",
        "2fe5c1d7eb88830b09c863a4b5b3279dc120f3af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:11:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:11:13 2008 -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: (31 commits)\n  ocfs2: clean up bh null checks\n  ocfs2: document access rules for blocked_lock_list\n  configfs: file.c fix possible recursive locking\n  configfs: dir.c fix possible recursive locking\n  configfs: Remove EXPERIMENTAL\n  ocfs2: bump version number\n  ocfs2/dlm: Clear joining_node on hearbeat node down\n  ocfs2: convert byte order of constant instead of variable\n  ocfs2: Update default cluster timeouts\n  ocfs2: printf fixes\n  ocfs2: Use generic_file_llseek\n  ocfs2: Safer read_inline_data()\n  ocfs2: Silence false lockdep warnings\n  [PATCH 2/2] ocfs2: cluster aware flock()\n  [PATCH 1/2] ocfs2: add flock lock type\n  ocfs2: Local alloc window size changeable via mount option\n  ocfs2: Support commit\u003d mount option\n  ocfs2: Add missing permission checks\n  [PATCH 2/2] ocfs2: Implement group add for online resize\n  [PATCH 1/2] ocfs2: Add group extend for online resize\n  ...\n"
    },
    {
      "commit": "2fe5c1d7eb88830b09c863a4b5b3279dc120f3af",
      "tree": "c04e3249e3ae14f935ae1d090cd88833c96e6e3b",
      "parents": [
        "7ec373cf33533af6c50828a62f6b305c2d7fa931"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jan 23 18:35:31 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:48 2008 -0800"
      },
      "message": "ocfs2: clean up bh null checks\n\nIf we know a buffer_head is non-null, then brelse() is unnecessary and\nput_bh() can be used instead. Also, an explicit check for NULL is\nunnecessary when using brelse(). This patch only covers buffer_head_io.c and\nresize.c, which have recently added code which exhibits this problem.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7ec373cf33533af6c50828a62f6b305c2d7fa931",
      "tree": "e6f9f829f9d66658e57b5700935dca38f798cbf8",
      "parents": [
        "116ba5d5ea1a5789a8c14b1087014007cada363b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jan 23 16:54:48 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:48 2008 -0800"
      },
      "message": "ocfs2: document access rules for blocked_lock_list\n\nocfs2_super-\u003eblocked_lock_list and ocfs2_super-\u003eblocked_lock_count have some\nusage restrictions which aren\u0027t immediately obvious to anyone reading the\ncode. It\u0027s a good idea to document this so that we avoid making costly\nmistakes in the future.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "116ba5d5ea1a5789a8c14b1087014007cada363b",
      "tree": "d63c0812f81b1d0bb1e28b726a4d9eae493b3c79",
      "parents": [
        "ba611edfe406be745be95c332990c8e908c026c3"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Wed Dec 26 12:09:57 2007 +0900"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:47 2008 -0800"
      },
      "message": "configfs: file.c fix possible recursive locking\n\nconfigfs_register_subsystem() with default_groups triggers recursive locking.\nit seems that mutex_lock_nested is needed.\n\n\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[ INFO: possible recursive locking detected ]\n2.6.24-rc6 #145\n---------------------------------------------\nswapper/1 is trying to acquire lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#3){--..}, at: [\u003cc40c9a9e\u003e] configfs_add_file+0x2e/0x70\n\nbut task is already holding lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#3){--..}, at: [\u003cc40ca985\u003e] configfs_register_subsystem+0x55/0x130\n\nother info that might help us debug this:\n1 lock held by swapper/1:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#3){--..}, at: [\u003cc40ca985\u003e] configfs_register_subsystem+0x55/0x130\n\nstack backtrace:\nPid: 1, comm: swapper Not tainted 2.6.24-rc6 #145\n [\u003cc40053ba\u003e] show_trace_log_lvl+0x1a/0x30\n [\u003cc4005e82\u003e] show_trace+0x12/0x20\n [\u003cc400687e\u003e] dump_stack+0x6e/0x80\n [\u003cc404ec72\u003e] __lock_acquire+0xe62/0x1120\n [\u003cc404efb2\u003e] lock_acquire+0x82/0xa0\n [\u003cc43fda88\u003e] mutex_lock_nested+0x98/0x2e0\n [\u003cc40c9a9e\u003e] configfs_add_file+0x2e/0x70\n [\u003cc40c9b0c\u003e] configfs_create_file+0x2c/0x40\n [\u003cc40ca639\u003e] configfs_attach_item+0x139/0x220\n [\u003cc40ca734\u003e] configfs_attach_group+0x14/0x140\n [\u003cc40ca7e9\u003e] configfs_attach_group+0xc9/0x140\n [\u003cc40ca9f6\u003e] configfs_register_subsystem+0xc6/0x130\n [\u003cc45c8186\u003e] init_netconsole+0x2b6/0x300\n [\u003cc45a75f2\u003e] kernel_init+0x142/0x320\n [\u003cc4004fb3\u003e] kernel_thread_helper+0x7/0x14\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ba611edfe406be745be95c332990c8e908c026c3",
      "tree": "c343d9dbbc86379414b7976bfbe507763d376611",
      "parents": [
        "02ac0499c0e3c62f2e2bf61a13870b36ea103564"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Wed Dec 26 12:09:57 2007 +0900"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:47 2008 -0800"
      },
      "message": "configfs: dir.c fix possible recursive locking\n\nconfigfs_register_subsystem() with default_groups triggers recursive locking.\nit seems that mutex_lock_nested is needed.\n\n\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[ INFO: possible recursive locking detected ]\n2.6.24-rc6 #141\n---------------------------------------------\nswapper/1 is trying to acquire lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#3){--..}, at: [\u003cc40ca76f\u003e] configfs_attach_group+0x4f/0x190\n\nbut task is already holding lock:\n (\u0026sb-\u003es_type-\u003ei_mutex_key#3){--..}, at: [\u003cc40ca9d5\u003e] configfs_register_subsystem+0x55/0x130\n\nother info that might help us debug this:\n1 lock held by swapper/1:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#3){--..}, at: [\u003cc40ca9d5\u003e] configfs_register_subsystem+0x55/0x130\n\nstack backtrace:\nPid: 1, comm: swapper Not tainted 2.6.24-rc6 #141\n [\u003cc40053ba\u003e] show_trace_log_lvl+0x1a/0x30\n [\u003cc4005e82\u003e] show_trace+0x12/0x20\n [\u003cc400687e\u003e] dump_stack+0x6e/0x80\n [\u003cc404ec72\u003e] __lock_acquire+0xe62/0x1120\n [\u003cc404efb2\u003e] lock_acquire+0x82/0xa0\n [\u003cc43fdad8\u003e] mutex_lock_nested+0x98/0x2e0\n [\u003cc40ca76f\u003e] configfs_attach_group+0x4f/0x190\n [\u003cc40caa46\u003e] configfs_register_subsystem+0xc6/0x130\n [\u003cc45c8186\u003e] init_netconsole+0x2b6/0x300\n [\u003cc45a75f2\u003e] kernel_init+0x142/0x320\n [\u003cc4004fb3\u003e] kernel_thread_helper+0x7/0x14\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "02ac0499c0e3c62f2e2bf61a13870b36ea103564",
      "tree": "cbad5139aa18c5e8e2728afaf02cc76ce66ada4e",
      "parents": [
        "0e5ae032030387bf0926aa980f2105646ead2b47"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Dec 31 13:56:47 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:47 2008 -0800"
      },
      "message": "configfs: Remove EXPERIMENTAL\n\nconfigfs has been alive and kicking for a while now.  It underpins some\nnon-EXPERIMENTAL subsystems, such as OCFS2\u0027s cluster stack.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0e5ae032030387bf0926aa980f2105646ead2b47",
      "tree": "83a9b92f685abffb8fea85c694eb43b53c936b8f",
      "parents": [
        "2d4b1cbb44f5557727c35895a83f82d023573fa9"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 06 15:52:58 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:46 2008 -0800"
      },
      "message": "ocfs2: bump version number\n\nBump the printed version to 1.5.0. This helps us quickly identify which\nversion of Ocfs2 a bug filer is running.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2d4b1cbb44f5557727c35895a83f82d023573fa9",
      "tree": "dfd6da78d6c18b9261b3c1cb572986ac5c495f66",
      "parents": [
        "4092d49f705aa19750c39758fa1be767e162c48d"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Jan 10 15:20:55 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:46 2008 -0800"
      },
      "message": "ocfs2/dlm: Clear joining_node on hearbeat node down\n\nCurrently the process of dlm join contains 2 steps: query join and assert join.\nAfter query join, the joined node will set its joining_node. So if the joining\nnode happens to panic before the 2nd step, the joined node will fail to clear\nits joining_node flag because that node isn\u0027t in the domain map. It at least\ncause 2 problems.\n1. All the new join request will fail. So no new node can mount the volume.\n2. The joined node can\u0027t umount the volume since during the umount process it\n   has to wait for the joining_node to be unknown. So the umount will be hanged.\n\nThe solution is to clear the joining_node before we check the domain map.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4092d49f705aa19750c39758fa1be767e162c48d",
      "tree": "190a48395331e62d0d1f5222b3a8e763ef70e18e",
      "parents": [
        "17104683d262fc6ab58488c4a3f0415012acc636"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Tue Dec 25 15:52:59 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:46 2008 -0800"
      },
      "message": "ocfs2: convert byte order of constant instead of variable\n\nConvert byte order of constant instead of variable it will be done at\ncompile time vs run time. Remove unused le32_and_cpu.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "17104683d262fc6ab58488c4a3f0415012acc636",
      "tree": "3e4aa5b62233834b9c55007e4bed6a11a702bfe4",
      "parents": [
        "634bf74d1e8a8d06727505ea4eb73e780d7aa246"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Nov 06 16:10:23 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:45 2008 -0800"
      },
      "message": "ocfs2: Update default cluster timeouts\n\nLots of people are having trouble with the default timeouts, which are too\nlow. These new values are derived from an informal survey taken on\nocfs2-users, as well as data from bug reports. This should reduce the amount\nof cluster disconnects and subsequent fencing seen during normal workloads.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "634bf74d1e8a8d06727505ea4eb73e780d7aa246",
      "tree": "b0e26b53ec5755202f8a532f5672f02f2e0fef95",
      "parents": [
        "32c3c0e2e515197ad240f5104116254975e6bbce"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 19 15:25:42 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:45 2008 -0800"
      },
      "message": "ocfs2: printf fixes\n\nExplicitely convert loff_t to long long in printf. Just for sure...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "32c3c0e2e515197ad240f5104116254975e6bbce",
      "tree": "eb68b0a63c68ca9f51a5dad94430696c2bb17b2a",
      "parents": [
        "d2849fb294d92d6eee0a811c688f1ecb39d26800"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 19 15:24:52 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:45 2008 -0800"
      },
      "message": "ocfs2: Use generic_file_llseek\n\nWe should use generic_file_llseek() and not default_llseek() so that\ns_maxbytes gets properly checked when seeking.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d2849fb294d92d6eee0a811c688f1ecb39d26800",
      "tree": "cdfab35099e97d64e47ebebd14067053ea08459e",
      "parents": [
        "5fa0613ea58a80f69852b242337121bd39dc798e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 19 15:24:09 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:44 2008 -0800"
      },
      "message": "ocfs2: Safer read_inline_data()\n\nIn ocfs2_read_inline_data() we should store file size in loff_t. Although\nthe file size should fit in 32 bits we cannot be sure in case filesystem is\ncorrupted.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5fa0613ea58a80f69852b242337121bd39dc798e",
      "tree": "21170694624428a8903efc6cba843fd10de93c64",
      "parents": [
        "53fc622b9e829c8e632e45ef8c14f054388759c1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 11 00:11:45 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:44 2008 -0800"
      },
      "message": "ocfs2: Silence false lockdep warnings\n\nCreate separate lockdep lock classes for system file\u0027s i_mutexes. They are\nused to guard allocations and similar things and thus rank differently\nthan i_mutex of a regular file or directory.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "53fc622b9e829c8e632e45ef8c14f054388759c1",
      "tree": "6b8585ab00312dd798d8087c452393bf6cc0d344",
      "parents": [
        "cf8e06f1a860d8680d6bb4ac8ec7d7724988e46f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 20 16:49:04 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:43 2008 -0800"
      },
      "message": "[PATCH 2/2] ocfs2: cluster aware flock()\n\nHook up ocfs2_flock(), using the new flock lock type in dlmglue.c. A new\nmount option, \"localflocks\" is added so that users can revert to old\nfunctionality as need be.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "cf8e06f1a860d8680d6bb4ac8ec7d7724988e46f",
      "tree": "4705326641f39fdb1b97c925b55dae3c4634d5e0",
      "parents": [
        "2fbe8d1ebe004425b4f7b8bba345623d2280be82"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 20 16:43:10 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:43 2008 -0800"
      },
      "message": "[PATCH 1/2] ocfs2: add flock lock type\n\nThis adds a new dlmglue lock type which is intended to back flock()\nrequests.\n\nSince these locks are driven from userspace, usage rules are much more\nliberal than the typical Ocfs2 internal cluster lock. As a result, we can\u0027t\nmake use of most dlmglue features - lock caching and lock level\noptimizations in particular. Additionally, userspace is free to deadlock\nitself, so we have to deal with that in the same way as the rest of the\nkernel - by allowing a signal to abort a lock request.\n\nIn order to keep ocfs2_cluster_lock() complexity down, ocfs2_file_lock()\ndoes it\u0027s own dlm coordination. We still use the same helper functions\nthough, so duplicated code is kept to a minimum.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2fbe8d1ebe004425b4f7b8bba345623d2280be82",
      "tree": "7620954c7a364c41306a3becc0046dd1e235158f",
      "parents": [
        "d147b3d630edef1d34de6ea819787a1ac1b8603b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Dec 20 14:58:11 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:43 2008 -0800"
      },
      "message": "ocfs2: Local alloc window size changeable via mount option\n\nLocal alloc is a performance optimization in ocfs2 in which a node\ntakes a window of bits from the global bitmap and then uses that for\nall small local allocations. This window size is fixed to 8MB currently.\nThis patch allows users to specify the window size in MB including\ndisabling it by passing in 0. If the number specified is too large,\nthe fs will use the default value of 8MB.\n\nmount -o localalloc\u003dX /dev/sdX /mntpoint\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d147b3d630edef1d34de6ea819787a1ac1b8603b",
      "tree": "bd417b27fd58fa3c44be6b8451d929f848981ffd",
      "parents": [
        "0957f00796157564281ea6ff2cea7ef4f897775a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Nov 07 14:40:36 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:42 2008 -0800"
      },
      "message": "ocfs2: Support commit\u003d mount option\n\nMostly taken from ext3. This allows the user to set the jbd commit interval,\nin seconds. The default of 5 seconds stays the same, but now users can\neasily increase the commit interval. Typically, this would be increased in\norder to benefit performance at the expense of data-safety.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0957f00796157564281ea6ff2cea7ef4f897775a",
      "tree": "b7db05ed93642d3f5769816b57633673f9ec81f9",
      "parents": [
        "7909f2bf835376a20d6dbf853eb459a27566eba2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Dec 18 18:58:18 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:19 2008 -0800"
      },
      "message": "ocfs2: Add missing permission checks\n\nCheck that an online resize is being driven by a user with permission to\nchange system resource limits.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7909f2bf835376a20d6dbf853eb459a27566eba2",
      "tree": "d256570ad048e27741970517929bc3c6d4c2b656",
      "parents": [
        "d659072f736837e56b6433d58e5315ad1d4d5ccf"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Dec 18 15:47:25 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:04:24 2008 -0800"
      },
      "message": "[PATCH 2/2] ocfs2: Implement group add for online resize\n\nThis patch adds the ability for a userspace program to request that a\nproperly formatted cluster group be added to the main allocation bitmap for\nan Ocfs2 file system. The request is made via an ioctl, OCFS2_IOC_GROUP_ADD.\nOn a high level, this is similar to ext3, but we use a different ioctl as\nthe structure which has to be passed through is different.\n\nDuring an online resize, tunefs.ocfs2 will format any new cluster groups\nwhich must be added to complete the resize, and call OCFS2_IOC_GROUP_ADD on\neach one. Kernel verifies that the core cluster group information is valid\nand then does the work of linking it into the global allocation bitmap.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d659072f736837e56b6433d58e5315ad1d4d5ccf",
      "tree": "56882b7b36c6b60a8208f6ed5bee9904adc7b649",
      "parents": [
        "7f68fc28219be3b44ef4132f95c6506ff3e806b5"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Dec 18 15:47:03 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:53:35 2008 -0800"
      },
      "message": "[PATCH 1/2] ocfs2: Add group extend for online resize\n\nThis patch adds the ability for a userspace program to request an extend of\nlast cluster group on an Ocfs2 file system. The request is made via ioctl,\nOCFS2_IOC_GROUP_EXTEND. This is derived from EXT3_IOC_GROUP_EXTEND, but is\nobviously Ocfs2 specific.\n\ntunefs.ocfs2 would call this for an online-resize operation if the last\ncluster group isn\u0027t full.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e9d578a8f279d5e7d1e903f436aefc76ba330b43",
      "tree": "ac5ee47053d00940d25f6dd9d2b23cb18e587cf0",
      "parents": [
        "1252c434e39dc60ca9e8ed682f3e04930e2c08de"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Dec 18 15:46:10 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:48:54 2008 -0800"
      },
      "message": "ocfs2: Initalize bitmap_cpg of ocfs2_super to be the maximum.\n\nThis value is initialized from global_bitmap-\u003eid2.i_chain.cl_cpg. If there\nis only 1 group, it will be equal to the total clusters in the volume. So\nas for online resize, it should change for all the nodes in the cluster.\nIt isn\u0027t easy and there is no corresponding lock for it.\n\nbitmap_cpg is only used in 2 areas:\n1. Check whether the suballoc is too large for us to allocate from the global\n   bitmap, so it is little used. And now the suballoc size is 2048, it rarely\n   meet this situation and the check is almost useless.\n2. Calculate which group a cluster belongs to. We use it during truncate to\n   figure out which cluster group an extent belongs too. But we should be OK\n   if we increase it though as the cluster group calculated shouldn\u0027t change\n   and we only ever have a small bitmap_cpg on file systems with a single\n   cluster group.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1252c434e39dc60ca9e8ed682f3e04930e2c08de",
      "tree": "7efbf0baa5ca6d6cc1468b898c41e40338611793",
      "parents": [
        "628a24f5bdf31b795d596eaed71670579b96a9aa"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Oct 30 12:09:03 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:48:42 2008 -0800"
      },
      "message": "ocfs2: Documentation update\n\nRemove \u0027readpages\u0027 from the list in ocfs2.txt. Instead of having two\nidentical lists, I just removed the list in the OCFS2 section of fs/Kconfig\nand added a pointer to Documentation/filesystems/ocfs2.txt.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "628a24f5bdf31b795d596eaed71670579b96a9aa",
      "tree": "3dcd23a6cfd10e142cf0397a53e5f95ca72f5168",
      "parents": [
        "d69a3ad6a0e47b2aa9b2b2ddfd385752132a4d34"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Oct 30 12:08:32 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:48:12 2008 -0800"
      },
      "message": "ocfs2: Readpages support\n\nAdd -\u003ereadpages support to Ocfs2. This is rather trivial - all it required\nis a small update to ocfs2_get_block (for mapping full extents via b_size)\nand an ocfs2_readpages() function which partially mirrors ocfs2_readpage().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e63aecb651ba73dffc62f9608ee1b7ae2a0ffd4b",
      "tree": "06a4b727230120fe73421dc3149c21aaed5fe91e",
      "parents": [
        "c934a92d05b549dd2f25db72c5fc3cb9dcf1b611"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 18 15:30:42 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:46:01 2008 -0800"
      },
      "message": "ocfs2: Rename ocfs2_meta_[un]lock\n\nCall this the \"inode_lock\" now, since it covers both data and meta data.\nThis patch makes no functional changes.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c934a92d05b549dd2f25db72c5fc3cb9dcf1b611",
      "tree": "57150c87d1d465db28fceaa14c9d5b220c7a3954",
      "parents": [
        "f1f540688eae66c274ff1c1133b5d9c687b28f58"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 18 15:23:46 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:45:57 2008 -0800"
      },
      "message": "ocfs2: Remove data locks\n\nThe meta lock now covers both meta data and data, so this just removes the\nnow-redundant data lock.\n\nCombining locks saves us a round of lock mastery per inode and one less lock\nto ping between nodes during read/write.\n\nWe don\u0027t lose much - since meta locks were always held before a data lock\n(and at the same level) ordered writeout mode (the default) ensured that\nflushing for the meta data lock also pushed out data anyways.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "f1f540688eae66c274ff1c1133b5d9c687b28f58",
      "tree": "0abf61ad3e15b1c87d5958aae7b02d852672c159",
      "parents": [
        "34d024f84345807bf44163fac84e921513dde323"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 18 15:13:59 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:45:54 2008 -0800"
      },
      "message": "ocfs2: Add data downconvert worker to inode lock\n\nIn order to extend inode lock coverage to inode data, we use the same data\ndownconvert worker with only a small modification to only do work for\nregular files.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "34d024f84345807bf44163fac84e921513dde323",
      "tree": "aef303ae5feeb42cb8791acc1c0b8a74f0a97674",
      "parents": [
        "6f7b056ea9c6fa978c79ca626eff43549df94dbb"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 24 15:56:19 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:45:34 2008 -0800"
      },
      "message": "ocfs2: Remove mount/unmount votes\n\nThe node maps that are set/unset by these votes are no longer relevant, thus\nwe can remove the mount and umount votes. Since those are the last two\nremaining votes, we can also remove the entire vote infrastructure.\n\nThe vote thread has been renamed to the downconvert thread, and the small\namount of functionality related to managing it has been moved into\nfs/ocfs2/dlmglue.c. All references to votes have been removed or updated.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "6f7b056ea9c6fa978c79ca626eff43549df94dbb",
      "tree": "e8318b4f7390547ad84208c393608f7141c027d3",
      "parents": [
        "6561168cb442be8d2769dce663870b6a28573e16"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 24 15:09:41 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:36:40 2008 -0800"
      },
      "message": "ocfs2: Remove fs dependency on ocfs2_heartbeat module\n\nNow that the dlm exposes domain information to us, we don\u0027t need generic\nnode up / node down callbacks. And since the DLM is only telling us when a\nnode goes down unexpectedly, we no longer need to optimize away node down\ncallbacks via the umount map.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "6561168cb442be8d2769dce663870b6a28573e16",
      "tree": "9abcc18eb39d15c9c3414adf970dd26cf1c2a296",
      "parents": [
        "2d94dfc8c38edf63e91e48fd55c3a8822b6a9ced"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 11:11:10 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:36:40 2008 -0800"
      },
      "message": "ocfs2_dlm: Call node eviction callbacks from heartbeat handler\n\nWith this, a dlm client can take advantage of the group protocol in the dlm\nto get full notification whenever a node within the dlm domain leaves\nunexpectedly.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0008bf54408d4c0637c24d34642f1038c299be95",
      "tree": "6a14cdacaa3057795381672339737a45e45effc7",
      "parents": [
        "2d94dfc8c38edf63e91e48fd55c3a8822b6a9ced",
        "6d082592b62689fb91578d0338d04a9f50991990"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 13:42:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 13:42:32 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: (96 commits)\n  sched: keep total / count stats in addition to the max for\n  sched, futex: detach sched.h and futex.h\n  sched: fix: don\u0027t take a mutex from interrupt context\n  sched: print backtrace of running tasks too\n  printk: use ktime_get()\n  softlockup: fix signedness\n  sched: latencytop support\n  sched: fix goto retry in pick_next_task_rt()\n  timers: don\u0027t #error on higher HZ values\n  sched: monitor clock underflows in /proc/sched_debug\n  sched: fix rq-\u003eclock warps on frequency changes\n  sched: fix, always create kernel threads with normal priority\n  debug: clean up kernel/profile.c\n  sched: remove the !PREEMPT_BKL code\n  sched: make PREEMPT_BKL the default\n  debug: track and print last unloaded module in the oops trace\n  debug: show being-loaded/being-unloaded indicator for modules\n  sched: rt-watchdog: fix .rlim_max \u003d RLIM_INFINITY\n  sched: rt-group: reduce rescheduling\n  hrtimer: unlock hrtimer_wakeup\n  ...\n"
    },
    {
      "commit": "2d94dfc8c38edf63e91e48fd55c3a8822b6a9ced",
      "tree": "cbb8ab94e53deb22970094db374ab3494345ab3a",
      "parents": [
        "b47711bfbcd4eb77ca61ef0162487b20e023ae55",
        "5c5e32ceeb6b64496a1842d5d99e4ac8d20166c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 12:20:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 12:20:32 2008 -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  mount options: fix jfs\n  JFS: simplify types to get rid of sparse warning\n  JFS: FIx one more plain integer as NULL pointer warning\n  JFS: Remove defconfig ptr comparison to 0\n  JFS: use DIV_ROUND_UP where appropriate\n  Remove unnecessary kmalloc casts in the jfs filesystem\n  JFS is missing a memory barrier\n  JFS: Make sure special inode data is written after journal is flushed\n  JFS: clear PAGECACHE_TAG_DIRTY for no-write pages\n"
    },
    {
      "commit": "9745512ce79de686df354dc70a8d1a74d801892d",
      "tree": "9b64e2b2e6d2ae534beef136922082f21701c7b9",
      "parents": [
        "326587b840785c60f5dc18557235a23bafefd620"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: latencytop support\n\nLatencyTOP kernel infrastructure; it measures latencies in the\nscheduler and tracks it system wide and per process.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e260be673a15b6125068270e0216a3bfbfc12f87",
      "tree": "f50760606d395bf6faa9e865f814761a3c88d32c",
      "parents": [
        "e0ecfa7917cafe72f4a75f87e8bb5d8d51dc534f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "message": "Preempt-RCU: implementation\n\nThis patch implements a new version of RCU which allows its read-side\ncritical sections to be preempted. It uses a set of counter pairs\nto keep track of the read-side critical sections and flips them\nwhen all tasks exit read-side critical section. The details\nof this implementation can be found in this paper -\n\n\thttp://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf\n\nand the article-\n\n\thttp://lwn.net/Articles/253651/\n\nThis patch was developed as a part of the -rt kernel development and\nmeant to provide better latencies when read-side critical sections of\nRCU don\u0027t disable preemption.  As a consequence of keeping track of RCU\nreaders, the readers have a slight overhead (optimizations in the paper).\nThis implementation co-exists with the \"classic\" RCU implementations\nand can be switched to at compiler.\n\nAlso includes RCU tracing summarized in debugfs.\n\n[ akpm@linux-foundation.org: build fixes on non-preempt architectures ]\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b47711bfbcd4eb77ca61ef0162487b20e023ae55",
      "tree": "b2a695dbd40f7ca2333664cf946ef34eda7b7dba",
      "parents": [
        "7556afa0e0e436cad4f560ee83e5fbd5dac9359a",
        "2e08c0c1c3977a5ddc88887dd3af1b26c433e9d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  selinux: make mls_compute_sid always polyinstantiate\n  security/selinux: constify function pointer tables and fields\n  security: add a secctx_to_secid() hook\n  security: call security_file_permission from rw_verify_area\n  security: remove security_sb_post_mountroot hook\n  Security: remove security.h include from mm.h\n  Security: remove security_file_mmap hook sparse-warnings (NULL as 0).\n  Security: add get, set, and cloning of superblock security information\n  security/selinux: Add missing \"space\"\n"
    },
    {
      "commit": "e07dd2ad305f6b29b47d713600aa8b722ef2a9f7",
      "tree": "4815808e538ec625bf2766b1eb9d91c7b3beaead",
      "parents": [
        "eba0e319c12fb098d66316a8eafbaaa9174a07c3",
        "7bc5c414fe6627ec518c82d154c796f0981f5b02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:39:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:39:18 2008 -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: (56 commits)\n  [GFS2] Allow journal recovery on read-only mount\n  [GFS2] Lockup on error\n  [GFS2] Fix page_mkwrite truncation race path\n  [GFS2] Fix typo\n  [GFS2] Fix write alloc required shortcut calculation\n  [GFS2] gfs2_alloc_required performance\n  [GFS2] Remove unneeded i_spin\n  [GFS2] Reduce inode size by moving i_alloc out of line\n  [GFS2] Fix assert in log code\n  [GFS2] Fix problems relating to execution of files on GFS2\n  [GFS2] Initialize extent_list earlier\n  [GFS2] Allow page migration for writeback and ordered pages\n  [GFS2] Remove unused variable\n  [GFS2] Fix log block mapper\n  [GFS2] Minor correction\n  [GFS2] Eliminate the no longer needed sd_statfs_mutex\n  [GFS2] Incremental patch to fix compiler warning\n  [GFS2] Function meta_read optimization\n  [GFS2] Only fetch the dinode once in block_map\n  [GFS2] Reorganize function gfs2_glmutex_lock\n  ...\n"
    },
    {
      "commit": "7bc5c414fe6627ec518c82d154c796f0981f5b02",
      "tree": "affd4857934df6c86b6fde572de0370700e6fe9a",
      "parents": [
        "1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Fri Jan 18 14:06:37 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:21:22 2008 +0000"
      },
      "message": "[GFS2] Allow journal recovery on read-only mount\n\nThis patch allows gfs2 to perform journal recovery even if it is mounted\nread-only. Strictly speaking, a read-only mount should not be writing to\nthe filesystem, but we do this only to perform journal recovery. A\nread-only mount will fail if we don\u0027t recover the dirty journal. Also,\nwhen gfs2 is used as a root filesystem, it will be mounted read-only\nbefore being mounted read-write during the boot sequence. A failed\nread-only mount will panic the machine during bootup.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489",
      "tree": "f0bd7d9446dd5d6a90eada749ebb129caa4c6c0a",
      "parents": [
        "b7fe2e391ee7b711d6dfd6a694d60c4f21113cbb"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Sat Jan 19 21:50:24 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:21:04 2008 +0000"
      },
      "message": "[GFS2] Lockup on error\n\nI spotted this bug while I was digging around.  Looks like it could cause\na lockup in some rare error condition.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b7fe2e391ee7b711d6dfd6a694d60c4f21113cbb",
      "tree": "4a5d141ffd4ae77dc6ce1a47b0bb8ce9d6d7c685",
      "parents": [
        "3e5cd0877e6d2f059dc36b8206cb7e93938151db"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 17 15:12:03 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:20:15 2008 +0000"
      },
      "message": "[GFS2] Fix page_mkwrite truncation race path\n\nThere was a bug in the truncation/invalidation race path for\n-\u003epage_mkwrite for gfs2. It ought to return 0 so that the effect is the\nsame as if the page was truncated at any of the other points at which\nthe page_lock is dropped. This will result in the restart of the whole\npage fault path. If it was due to a real truncation (as opposed to an\ninvalidate because we let a glock go) then the -\u003efault path will pick\nthat up when it gets called again.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3e5cd0877e6d2f059dc36b8206cb7e93938151db",
      "tree": "ac4de94b84c94d06864c7256bbc50dd264a62998",
      "parents": [
        "1af535727bbf68e1da7ac232de47315da4c66ade"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Jan 16 08:45:39 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:51 2008 +0000"
      },
      "message": "[GFS2] Fix typo\n\nThis patch fixes a minor typo.  Surprisingly, it still compiled.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1af535727bbf68e1da7ac232de47315da4c66ade",
      "tree": "ab24a9bc1271179fdae558d4f66e7ee0e401ce4c",
      "parents": [
        "05220535196d413db434527a3edcba79b7187df8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 16 14:24:05 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:28 2008 +0000"
      },
      "message": "[GFS2] Fix write alloc required shortcut calculation\n\nThe comparison was being made against the wrong quantity.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "05220535196d413db434527a3edcba79b7187df8",
      "tree": "5811b6f1caeac55102afb993f0b1538bbe9ed2b8",
      "parents": [
        "598278bd4808ed81b0e6fa445458a7d549f72a32"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Jan 11 13:44:50 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:03 2008 +0000"
      },
      "message": "[GFS2] gfs2_alloc_required performance\n\nThis is a small I/O performance enhancement to gfs2.  (Actually, it is a rework of\nan earlier version I got wrong).  The idea here is to check if the write extends\npast the last block in the file.  If so, the function can save itself a lot of\ntime and trouble because it knows an allocate will be required.  Benchmarks like\niozone should see better performance.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "598278bd4808ed81b0e6fa445458a7d549f72a32",
      "tree": "92a49c8fc86b2d87e853cc5a5c5407d1c8d6ae7e",
      "parents": [
        "6dbd822487d0a9f14432cb4680415b80656b63a2"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Jan 11 13:31:12 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:18:44 2008 +0000"
      },
      "message": "[GFS2] Remove unneeded i_spin\n\nThis patch removes a vestigial variable \"i_spin\" from the gfs2_inode\nstructure.  This not only saves us memory (\u003e300000 of these in memory\nfor the oom test) it also saves us time because we don\u0027t have to\nspend time initializing it (i.e. slightly better performance).\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6dbd822487d0a9f14432cb4680415b80656b63a2",
      "tree": "f0391d598c27cd7c39c67cfa13799a784f4c389a",
      "parents": [
        "ac39aadd0440ae696e6dacaa8006ce1737b17008"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 10 15:18:55 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:18:25 2008 +0000"
      },
      "message": "[GFS2] Reduce inode size by moving i_alloc out of line\n\nIt is possible to reduce the size of GFS2 inodes by taking the i_alloc\nstructure out of the gfs2_inode. This patch allocates the i_alloc\nstructure whenever its needed, and frees it afterward. This decreases\nthe amount of low memory we use at the expense of requiring a memory\nallocation for each page or partial page that we write. A quick test\nwith postmark shows that the overhead is not measurable and I also note\nthat OCFS2 use the same approach.\n\nIn the future I\u0027d like to solve the problem by shrinking down the size\nof the members of the i_alloc structure, but for now, this reduces the\nimmediate problem of using too much low-memory on x86 and doesn\u0027t add\ntoo much overhead.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ac39aadd0440ae696e6dacaa8006ce1737b17008",
      "tree": "d2a6784809c6bec674879dc865de4150e8b0fb01",
      "parents": [
        "9656b2c14c6ee0806c90a6be41dec71117fc8f50"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 10 14:49:43 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:18:03 2008 +0000"
      },
      "message": "[GFS2] Fix assert in log code\n\nAlthough the values were all being calculated correctly, there was a\nrace in the assert due to the way it was using atomic variables. This\nchanges the value we assert on so that we get the same effect by testing\na different variable. This prevents the assert triggering when it shouldn\u0027t.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9656b2c14c6ee0806c90a6be41dec71117fc8f50",
      "tree": "3e093571e695bf780885f36caec9594392da31fc",
      "parents": [
        "0811a127cb83ad2e0355e5e3e30164d7ef0f2d65"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 08 08:14:30 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:17:31 2008 +0000"
      },
      "message": "[GFS2] Fix problems relating to execution of files on GFS2\n\nThis patch fixes a couple of problems which affected the execution of files\non GFS2. The first is that there was a corner case where inodes were not\nalways uptodate at the point at which permissions checks were being carried\nout, this was resulting in refusal of execute permission, but only on the\nfirst lookup, subsequent requests worked correctly. The second was a problem\nrelating to incorrect updating of file sizes which was introduced with the\nwrite_begin/end code for GFS2 a little while back.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Abhijith Das \u003cadas@redhat.com\u003e\n"
    },
    {
      "commit": "0811a127cb83ad2e0355e5e3e30164d7ef0f2d65",
      "tree": "f1e7eacb1a8a30e47299137db25be673621b9ee0",
      "parents": [
        "e5d9dc278c7f79c220e4506cc1ade2efa2ca73fd"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Jan 03 09:24:53 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:17:04 2008 +0000"
      },
      "message": "[GFS2] Initialize extent_list earlier\n\nHere is a patch for the latest upstream GFS2 code:\nThe journal extent map needs to be initialized sooner than it\ncurrently is.  Otherwise failed mount attempts (e.g. not enough\njournals, etc.) may panic trying to access the uninitialized list.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e5d9dc278c7f79c220e4506cc1ade2efa2ca73fd",
      "tree": "f984562ccb3b29f31fa1e63d4dfe1f01d8e74be7",
      "parents": [
        "65a6290998f3d38b5c5e84423ae9e08bdd957095"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 03 11:31:38 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:16:41 2008 +0000"
      },
      "message": "[GFS2] Allow page migration for writeback and ordered pages\n\nTo improve performance on NUMA, we use the VM\u0027s standard page\nmigration for writeback and ordered pages. Probably we could\nalso do the same for journaled data, but that would need a\ncareful audit of the code, so will be the subject of a later\npatch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "65a6290998f3d38b5c5e84423ae9e08bdd957095",
      "tree": "2263af7252e61281429115d63eaa8e019224e678",
      "parents": [
        "ff91cc9bb41b62bc4ea7d5ced396fabf97539df9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 02 10:16:56 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:16:19 2008 +0000"
      },
      "message": "[GFS2] Remove unused variable\n\nThe go_drop_th function is never called or referenced.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ff91cc9bb41b62bc4ea7d5ced396fabf97539df9",
      "tree": "8e14975bba539c796cddb30853d76f0a0c2d060e",
      "parents": [
        "fa3742fa8545df20e54aa0953a1873cca3a9bd92"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Dec 14 14:04:34 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:15:58 2008 +0000"
      },
      "message": "[GFS2] Fix log block mapper\n\nA missing offset in the calculation.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fa3742fa8545df20e54aa0953a1873cca3a9bd92",
      "tree": "12a52441aa753408af536919583ad3cfe59848ec",
      "parents": [
        "c3f60b6e3a7667f78a63b15cf09655ecfca757fc"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Dec 12 17:52:13 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:15:37 2008 +0000"
      },
      "message": "[GFS2] Minor correction\n\nThis is a small correction to my previously posted patch1.\nIt just changes a divide to a shift.  It\u0027s faster and doesn\u0027t\nintroduce odd dependencies on 32-bit compiles.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c3f60b6e3a7667f78a63b15cf09655ecfca757fc",
      "tree": "8dbe2656098c1fa69a9e149248533e1fba131ac5",
      "parents": [
        "b3513fca7e41965d85125c9770ce5f8fd4ff509a"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Dec 12 11:44:41 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:15:16 2008 +0000"
      },
      "message": "[GFS2] Eliminate the no longer needed sd_statfs_mutex\n\nThis patch eliminates the unneeded sd_statfs_mutex mutex but preserves\nthe ordering as discussed.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3513fca7e41965d85125c9770ce5f8fd4ff509a",
      "tree": "3747019335ccd0f91bf30bd4a85609db455d7214",
      "parents": [
        "15c7cee7995a9013f1b2f31a15b70e1d2e8ae501"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Dec 12 09:24:08 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:14:53 2008 +0000"
      },
      "message": "[GFS2] Incremental patch to fix compiler warning\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "15c7cee7995a9013f1b2f31a15b70e1d2e8ae501",
      "tree": "22646442ffd942d77fc34f168d270e7bd2668643",
      "parents": [
        "b0d5fd307463405fe1f57494fbb37f810715ed6d"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:29:17 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:14:33 2008 +0000"
      },
      "message": "[GFS2] Function meta_read optimization\n\nThis patch optimizes function gfs2_meta_read.  Basically, gfs2_meta_wait\nwas being called regardless of whether a disk read was requested.\nThis just pulls that wait into the if that triggers the read.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b0d5fd307463405fe1f57494fbb37f810715ed6d",
      "tree": "2a627d7362a6db7eea4c388b0e0f0ceed8362fb5",
      "parents": [
        "398bbe68321947f6763fbc259a01eb548ce19408"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:16:09 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:14:13 2008 +0000"
      },
      "message": "[GFS2] Only fetch the dinode once in block_map\n\nFunction gfs2_block_map was often looking up the disk inode twice.\nThis optimizes it so that only does it once.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "398bbe68321947f6763fbc259a01eb548ce19408",
      "tree": "64cf07eb0f461aa5d26c2abdc873c8727d8a2bad",
      "parents": [
        "5fdc2eeb5d1d3800367f471690b01fcd1fd5b963"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:13:54 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:13:52 2008 +0000"
      },
      "message": "[GFS2] Reorganize function gfs2_glmutex_lock\n\nThis patch optimizes the function gfs2_glmutex_lock.\nThe basic theory is: Why bother initializing a holder, setting up\nwait bits and then waiting on them, if you know the glock can be\nyours.  So the holder stuff is placed inside the if checking if the\nglock is locked.  This one needs careful scrutiny because changing\nanything to do with locking should strike terror into one\u0027s heart.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5fdc2eeb5d1d3800367f471690b01fcd1fd5b963",
      "tree": "d1e138b18a74541570736f933d938aa7f6e2d376",
      "parents": [
        "0d0868bde33273a200b33e54f4fad6099ad0c566"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:00:16 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:13:31 2008 +0000"
      },
      "message": "[GFS2] Run through full bitmaps quicker in gfs2_bitfit\n\nI eliminated the passing of an unused parameter into gfs2_bitfit called rgd.\n\nThis also changes the gfs2_bitfit code that searches for free (or used) blocks.\nBefore, the code was trying to check for bytes that indicated 4 blocks in\nthe undesired state.  The problem is, it was spending more time trying to\ndo this than it actually was saving.  This version only optimizes the case\nwhere we\u0027re looking for free blocks, and it checks a machine word at a time.\nSo on 32-bit machines, it will check 32-bits (16 blocks) and on 64-bit\nmachines, it will check 64-bits (32 blocks) at a time.  The compiler\noptimizes that quite well and we save some time, especially when running\nthrough full bitmaps (like the bitmaps allocated for the journals).\n\nThere\u0027s probably a more elegant or optimized way to do this, but I haven\u0027t\nthought of it yet.  I\u0027m open to suggestions.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0d0868bde33273a200b33e54f4fad6099ad0c566",
      "tree": "482f3c72e582ce48b54c67760ca21e190f278ed4",
      "parents": [
        "da6dd40d59fa9617ed697b90114e197036901632"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 18:51:25 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:13:01 2008 +0000"
      },
      "message": "[GFS2] Get rid of useless \"found\" variable in quota.c\n\nThis just eliminates an unused variable from the quota code.\nNot likely to be a time saver.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "da6dd40d59fa9617ed697b90114e197036901632",
      "tree": "49e869021ed1f911bf3cdf185e9c4ce75c67f42a",
      "parents": [
        "e9e1ef2b6ee401d7c1e1eb38052857b4b206d172"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 18:49:21 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:11:46 2008 +0000"
      },
      "message": "[GFS2] Journal extent mapping\n\nThis patch saves a little time when gfs2 writes to the journals by\nkeeping a mapping between logical and physical blocks on disk.\nThat\u0027s better than constantly looking up indirect pointers in\nbuffers, when the journals are several levels of indirection\n(which they typically are).\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9e1ef2b6ee401d7c1e1eb38052857b4b206d172",
      "tree": "68dff93cf4058eb06b162d800f08ff7752cd1a55",
      "parents": [
        "2066b58b0a038d7aedd24133677efb8856cac3a1"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Dec 10 14:13:27 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:25 2008 +0000"
      },
      "message": "[GFS2] Remove function gfs2_get_block\n\nThis patch is just a cleanup.  Function gfs2_get_block() just calls\nfunction gfs2_block_map reversing the last two parameters.  By\nreversing the parameters, gfs2_block_map() may be called directly\nand function gfs2_get_block may be eliminated altogether.\nSince this function is done for every block operation,\nthis streamlines the code and makes it a little bit more efficient.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2066b58b0a038d7aedd24133677efb8856cac3a1",
      "tree": "0afb8a5ee7a9c1a0e4f618b818f8bd05ccd8c3a9",
      "parents": [
        "dbee2199c37336e89060fbe9abdfd1ca8454372a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Dec 06 09:35:25 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:23 2008 +0000"
      },
      "message": "[GFS2] use pid for plock owner for nfs clients\n\nThe fl_owner is that of lockd when posix locks arrive from nfs\nclients, so it can\u0027t be used to distinguish between lock holders.\nUse fl_pid as owner instead; it\u0027s the pid of the process on the\nnfs client.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "dbee2199c37336e89060fbe9abdfd1ca8454372a",
      "tree": "9005d78b7e6064016b8bc6c8ab8ae79442eb80ff",
      "parents": [
        "292c8c14cace19c94c6abe25506310239daf949e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 30 08:17:15 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:20 2008 +0000"
      },
      "message": "[GFS2] Remove unused variable\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "292c8c14cace19c94c6abe25506310239daf949e",
      "tree": "3b1b1407e00abc154768dc2f5a684b0fcf0cbd1f",
      "parents": [
        "c97bfe4351771675963e02f34d31e206fd2d7150"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Thu Nov 29 14:13:54 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:18 2008 +0000"
      },
      "message": "[GFS2] patch to check for recursive lock requests in gfs2_rename code path\n\nA certain scenario in the rename code path triggers a kernel BUG()\nbecause it accidentally does recursive locking The first lock is\nrequested to unlink an already existing inode (replacing a file) and the\nsecond lock is requested when the destination directory needs to alloc\nsome space. It is rare that these two\nevents happen during the same rename call, and even more rare that these\ntwo instances try to lock the same rgrp. It is, however, possible.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d404711\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c97bfe4351771675963e02f34d31e206fd2d7150",
      "tree": "9ee4de86cacc54f3e49135a4ce39cf7a236efb31",
      "parents": [
        "bcd405599faa16cf32a3d3f1ce6a1e12cb37fede"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Nov 29 17:56:51 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:15 2008 +0000"
      },
      "message": "[GFS2] Remove lock methods for lock_nolock protocol\n\nGFS2 supports two modes of locking - lock_nolock for single node filesystem\nand lock_dlm for cluster mode locking. The gfs2 lock methods are removed from\nfile operation table for lock_nolock protocol. This would allow VFS to handle\nposix lock and flock logics just like other in-tree filesystems without\nduplication.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bcd405599faa16cf32a3d3f1ce6a1e12cb37fede",
      "tree": "216771f3a69086c8ccafa58a6d4449926f455336",
      "parents": [
        "6a69a23f7df18f39e4a084e10b62ff4a144b05a5"
      ],
      "author": {
        "name": "Fabio M. Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Wed Nov 28 16:22:09 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:13 2008 +0000"
      },
      "message": "[GFS2] Remove unrequired code\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6a69a23f7df18f39e4a084e10b62ff4a144b05a5",
      "tree": "d5bc744a43f2f05aea7a419b3c93ea314397d311",
      "parents": [
        "002ef1dc63ded14507c110d3cf83d0c3f51374ab"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Tue Nov 27 06:16:42 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:11 2008 +0000"
      },
      "message": "[GFS2] Fix build warnings\n\nHi Steven,\n\nSteven Whitehouse wrote:\n\u003e Hi,\n\u003e\n\u003e Now in the -nmw git tree. Thanks,\n\u003e\n\u003e Steve.\n\u003e\n\u003e On Wed, 2007-11-21 at 11:54 -0600, Ryan O\u0027Hara wrote:\n\nthis patch introduces a bunch of build warnings by leaving around\n\nstruct inode *inode \u003d \u0026ip-\u003ei_inode;\n\nThe patch in attachment cleans them up. Please apply.\n\nSigned-off-by: Fabio Massimo Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "002ef1dc63ded14507c110d3cf83d0c3f51374ab",
      "tree": "c81a66cdd0b8bf49a515141c669a2600e7b01140",
      "parents": [
        "1a2781cfa5ed8eb82bb311d684f268c1822dae69"
      ],
      "author": {
        "name": "Ryan O\u0027Hara",
        "email": "rohara@redhat.com",
        "time": "Wed Nov 21 11:54:54 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:08 2008 +0000"
      },
      "message": "[GFS2] remove unnecessary permission checks\n\nRemove read/write permission() checks from xattr operations.\nVFS layer is already handling permission for xattrs via the\nxattr_permission() call, so there is no need for gfs2 to\ncheck permissions. Futhermore, using permission() for SELinux\nxattrs ops is incorrect.\n\nSigned-off-by: Ryan O\u0027Hara \u003crohara@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1a2781cfa5ed8eb82bb311d684f268c1822dae69",
      "tree": "d65a551d4e0b8b12365fd150fe70cfd9f14f80e2",
      "parents": [
        "00c134756c5ad570a1ad3d6f93a67fc9c25a67ea"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Fri Nov 16 09:50:40 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:06 2008 +0000"
      },
      "message": "[GFS2] Fix runtime issue with UP kernels\n\nThe issue is indeed UP vs SMP and it is totally random.\n\nspin_is_locked() is a bad assertion because there is no correct answer on UP.\non UP spin_is_locked() has to return either one value or another, always.\n\nThis means that in my setup I am lucky enough to trigger the issue and your you\nare lucky enough not to.\n\nthe patch in attachment removes the bogus calls to BUG_ON and according to David\n(in CC and thanks for the long explanation on the problem) we can rely upon\nthings like lockdep to find problem that might be trying to catch.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "00c134756c5ad570a1ad3d6f93a67fc9c25a67ea",
      "tree": "36176240919582d17d4655a1838e1b934ede9cb8",
      "parents": [
        "0b7580c786a5feda6291fe68ead3a1b92b6b35b8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Nov 15 09:01:13 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:04 2008 +0000"
      },
      "message": "[GFS2] tidy up error message\n\nPrint error with log_error() to be consistent with others.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0b7580c786a5feda6291fe68ead3a1b92b6b35b8",
      "tree": "baa74404abb5166fd7a3f3601c724ff1d9fc94db",
      "parents": [
        "e35b921185728850c5db3b5d5b356178f931a157"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Thu Nov 15 13:48:52 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:01 2008 +0000"
      },
      "message": "[GFS2] Check for installation of mount helpers for DLM mounts\n\nThe patch is a fix to abort mount if the mount.gfs* and possible\numount.* are missing from /sbin.\n\nWhile we do what we can to guarantee that they are installed properly in\nuserland (CVS HEAD), we want to make sure that mount still aborts properly.\n\nThe only sign of missing helpers is that lock_dlm will receive no mount options\nat all. According to David the problem does not exist for lock_nolock as the\nhelpers are not required.\n\nThe patch has been tested for both gfs and gfs2 and it works as expected. The\nlack of mount.gfs* will generate an error that is propagated to mount:\n\noot@node1:~# mount -t  gfs2 /dev/nbd2 /mnt/\nmount: wrong fs type, bad option, bad superblock on /dev/nbd2,\n       missing codepage or helper program, or other error\n       In some cases useful info is found in syslog - try\n       dmesg | tail  or so\n\n[ 3513.303346] GFS2: fsid\u003d: Trying to join cluster \"lock_dlm\", \"gutsy:gfs2\"\n[ 3513.304546] DLM/GFS2/GFS ERROR: (u)mount helpers are not installed properly!\n[ 3513.306290] GFS2: fsid\u003d: can\u0027t mount proto\u003dlock_dlm, table\u003dgutsy:gfs2, hostdata\u003d\n\nYou might want to notice that it will also avoid mount to hang or fail silently\nor with strange errors that will require the cluster to reboot/restart before\nyou can actually mount the filesystem again.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e35b921185728850c5db3b5d5b356178f931a157",
      "tree": "1f5586886b1a81fe961425da3ccc9fde8f40b538",
      "parents": [
        "ec69b188837a347769e187997d040e84a683b38a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 09 10:07:21 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:59 2008 +0000"
      },
      "message": "[GFS2] Don\u0027t periodically update the jindex\n\nWe only care about the content of the jindex in two cases,\none is when we mount the fs and the other is when we need\nto recover another journal. In both cases we have to update\nthe jindex anyway, so there is no point in updating it\nperiodically between times, so this removes it to simplify\ngfs2_logd.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ec69b188837a347769e187997d040e84a683b38a",
      "tree": "d16ebc9b83807f99a114efe3a093315f9839b81c",
      "parents": [
        "fd041f0b4045db8646b36d393cbb274db60649f5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 09 10:01:41 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:56 2008 +0000"
      },
      "message": "[GFS2] Move gfs2_logd into log.c\n\nThis means that we can mark gfs2_ail1_empty static and prepares\nthe way for further changes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fd041f0b4045db8646b36d393cbb274db60649f5",
      "tree": "dd09e7317eb471d45c685e3269bd3c20dc686f3e",
      "parents": [
        "2bcd610d2fdea608a8fdac32788fc35a32a2327c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 08 14:55:03 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:54 2008 +0000"
      },
      "message": "[GFS2] Use atomic_t for journal free blocks counter\n\nThis patch changes the counter which keeps track of the free\nblocks in the journal to an atomic_t in preparation for the\nfollowing patch which will update the log reservation code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2bcd610d2fdea608a8fdac32788fc35a32a2327c",
      "tree": "5b3753ff18c1da54bb860dbd67211e6abea78ca7",
      "parents": [
        "8cbc4342478311c2a85260a7ca54d96cb7f71f7b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 08 14:25:12 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:52 2008 +0000"
      },
      "message": "[GFS2] Don\u0027t add glocks to the journal\n\nThe only reason for adding glocks to the journal was to keep track\nof which locks required a log flush prior to release. We add a\nflag to the glock to allow this check to be made in a simpler way.\n\nThis reduces the size of a glock (by 12 bytes on i386, 24 on x86_64)\nand means that we can avoid extra work during the journal flush.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8cbc4342478311c2a85260a7ca54d96cb7f71f7b",
      "tree": "23a8ab6a4a2c154274d01cfe0e69715cd7ad4d86",
      "parents": [
        "c7227e46423a57b4df27a2d75b5869bd3ae654d0"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Nov 07 09:03:56 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:49 2008 +0000"
      },
      "message": "[GFS2] check kthread_should_stop when waiting\n\nUse wait_event_interruptible() in the lock_dlm thread instead\nof an open coded equivalent, and include a kthread_should_stop()\ncheck in the wait test so we don\u0027t miss a kthread_stop().\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c7227e46423a57b4df27a2d75b5869bd3ae654d0",
      "tree": "e0d1ce8a49d766f119358a721c38837776dcdaf5",
      "parents": [
        "e589665eb97b297412fb16b4c1737a01a91db903"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Nov 02 09:37:15 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:47 2008 +0000"
      },
      "message": "[GFS2] Given device ID rather than s_id in \"id\" sysfs file\n\nThis patch changes the /sys/fs/gfs2/\u003cs_id\u003e/id file to give the device\nid \"major:minor\" rather than the s_id.  That enables gfs2_tool to\nmatch devices properly (by id, not name) when locating the tuning files.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e589665eb97b297412fb16b4c1737a01a91db903",
      "tree": "139a302a47bda6241d40a61bec1d7239de0e7108",
      "parents": [
        "3042a2ccd68d2b609d283219e51cba363aa35c1d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 02 09:14:31 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:44 2008 +0000"
      },
      "message": "[GFS2] Remove flags no longer required\n\nThe HIF_MUTEX and HIF_PROMOTE flags were set on the glock holders\ndepending upon which of the two waiters lists they were going to\nbe queued upon. They were then tested when the holders were taken\noff the lists to ensure that the right type of holder was being\ndequeued.\n\nSince we are already using separate lists, there doesn\u0027t seem a\nlot of point having these flags as well, and since setting them\nand testing them is in the fast path for locking and unlocking\nglock, this patch removes them.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3042a2ccd68d2b609d283219e51cba363aa35c1d",
      "tree": "032653f2111bf20c1f4610d3801c42020c3a1abd",
      "parents": [
        "52d4c74b08bf859f698ddb4e8a43c0dc8d4a0685"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 02 08:39:34 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:42 2008 +0000"
      },
      "message": "[GFS2] Reorder writeback for glock sync\n\nPreviously we were doing (write data, wait for data, write metadata, wait\nfor metadata). After this patch we so (write metadata, write data, wait for\ndata, wait for metadata) which should be more efficient.\n\nAlso I noticed that the drop_bh and xmote_bh functions were almost\nidentical. In fact the only difference was a single test, and that\ntest is such that in the drop_bh case, it would always evaluate to\nthe correct result. As such we can use the xmote_bh functions in\nall the places where we were using the drop_bh function and remove\nthe drop_bh functions.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "52d4c74b08bf859f698ddb4e8a43c0dc8d4a0685",
      "tree": "3454c250947bc4b19ee5410345d00fef20c98c8d",
      "parents": [
        "c2932e03dbcfe7ea9052953dbd5f3157183c1e9b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 01 09:34:14 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:40 2008 +0000"
      },
      "message": "[GFS2] Add sync_page to metadata address space operations\n\nThis set of address space operations was missing a sync_page\noperation.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c2932e03dbcfe7ea9052953dbd5f3157183c1e9b",
      "tree": "4d72603f5fc136a0ad0fd65b423045d5d30e69ef",
      "parents": [
        "60b0d0877986b8fa70148f06055422d2ed858e88"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 01 09:26:54 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:37 2008 +0000"
      },
      "message": "[GFS2] Remove \"reclaim limit\"\n\nThis call to reclaim glocks is not needed, and in particular we don\u0027t want it\nin the fast path for locking glocks. The limit was entirely arbitrary anyway\nand we can\u0027t expect users to adjust things like this, the remaining code will\ndo the right thing on its own.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "60b0d0877986b8fa70148f06055422d2ed858e88",
      "tree": "a3046f15ed803570554bad905ce690332dae8da8",
      "parents": [
        "47e83b509127f5e83ae5d93afd5c7cb9241acc38"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 31 14:24:33 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:35 2008 +0000"
      },
      "message": "[GFS2] Remove unused variables\n\nThese haven\u0027t been used for some time, remove them.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "47e83b509127f5e83ae5d93afd5c7cb9241acc38",
      "tree": "8f4412df56f8d65c355e553e7437035d2386b963",
      "parents": [
        "c41d4f09f13671f98ba4b82fdc94420cdc09be08"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Oct 18 11:15:50 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:32 2008 +0000"
      },
      "message": "[GFS2] Use correct include file in ops_address.c\n\nSomething changed in the upstream kernel, and it needs this\none-liner to allow ops_address.c to build.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c41d4f09f13671f98ba4b82fdc94420cdc09be08",
      "tree": "d1a9701517d56673c869077520ea59be9d6dce64",
      "parents": [
        "b8e7cbb65bcc99630e123422c6829ce3c0fcdf14"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 17 14:05:41 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:30 2008 +0000"
      },
      "message": "[GFS2] Don\u0027t hold page lock when starting transaction\n\nThis is an addendum to the new AOPs work which moves the point\nat which we take the page lock so that we don\u0027t get it until\nthe last possible moment. This resolves a conflict between\nstarting transactions and the page lock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b8e7cbb65bcc99630e123422c6829ce3c0fcdf14",
      "tree": "a9f68259b90e9e65ea7f0369f448d580a8944f06",
      "parents": [
        "9ff8ec32e58875022447af619bec6e5aee7c77e4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 17 09:04:24 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:28 2008 +0000"
      },
      "message": "[GFS2] Add writepages for GFS2 jdata\n\nThis patch resolves a lock ordering issue where we had been getting\na transaction lock in the wrong order with respect to the page lock.\nBy using writepages rather than just writepage, it is then possible\nto start a transaction before locking the page, and thus matching the\nlocking order elsewhere in the code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9ff8ec32e58875022447af619bec6e5aee7c77e4",
      "tree": "0c626762f334d1cc066113b3e47a2fa02a72af0c",
      "parents": [
        "5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 28 13:49:05 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:25 2008 +0000"
      },
      "message": "[GFS2] Split gfs2_writepage into three cases\n\nThis patch splits gfs2_writepage into separate functions for each of\nthe three cases: writeback, ordered and journalled. As a result\nit becomes a lot easier to see what each one is doing. The common\ncode is moved into gfs2_writepage_common.\n\nThis fixes a performance bug where we were doing more work than\nstrictly required in the ordered write case.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc",
      "tree": "aac1fa3e47604f2d7bb1e4d9e97f41b8ffebe91e",
      "parents": [
        "bf36a713169432643d4fc7eeb4e0ace96d791d26"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 17 08:47:38 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:23 2008 +0000"
      },
      "message": "[GFS2] Introduce gfs2_set_aops()\n\nJust like ext3 we now have three sets of address space operations\nto cover the cases of writeback, ordered and journalled data\nwrites. This means that the individual operations can now become\nless complicated as we are able to remove some of the tests for\nfile data mode from the code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bf36a713169432643d4fc7eeb4e0ace96d791d26",
      "tree": "2cb69c9716b9ee8c687ef807bb88d5e635db3462",
      "parents": [
        "e7e36f143565d14950055c893cfaf4400ad64d34"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 17 08:35:19 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:21 2008 +0000"
      },
      "message": "[GFS2] Add gfs2_is_writeback()\n\nThis adds a function \"gfs2_is_writeback()\" along the lines of the\nexisting \"gfs2_is_jdata()\" in order to clean up the code and make\nthe various tests for the inode mode more obvious. It also fixes\nthe PageChecked() logic where we were resetting the flag too early\nin the case of an error path.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e7e36f143565d14950055c893cfaf4400ad64d34",
      "tree": "972889a8329afc80d4bef454cf2800e042fa5cc6",
      "parents": [
        "f91a0d3e24e4b0198be5fae20d45a35c40d1efce"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 16 11:47:04 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:18 2008 +0000"
      },
      "message": "[GFS2] Remove unused field in struct gfs2_inode\n\nRemoves a field that is not used.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f91a0d3e24e4b0198be5fae20d45a35c40d1efce",
      "tree": "cda8095f9befd25cbfaf5f63a4c8ca26870d45ca",
      "parents": [
        "3cc3f710ce0effe397b830826a1a081fa81f11c7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 15 16:29:05 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:16 2008 +0000"
      },
      "message": "[GFS2] Remove useless i_cache from inodes\n\nThe i_cache was designed to keep references to the indirect blocks\nused during block mapping so that they didn\u0027t have to be looked\nup continually. The idea failed because there are too many places\nwhere the i_cache needs to be freed, and this has in the past been\nthe cause of many bugs.\n\nIn addition there was no performance benefit being gained since the\ndisk blocks in question were cached anyway. So this patch removes\nit in order to simplify the code to prepare for other changes which\nwould otherwise have had to add further support for this feature.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3cc3f710ce0effe397b830826a1a081fa81f11c7",
      "tree": "53f69f1b8d1cbc2849c6bac08ce7786f3ecd7447",
      "parents": [
        "51ff87bdd9f21a5d3672517b75d25ab5842d94a8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 15 15:40:33 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:13 2008 +0000"
      },
      "message": "[GFS2] Use -\u003epage_mkwrite() for mmap()\n\nThis cleans up the mmap() code path for GFS2 by implementing the\npage_mkwrite function for GFS2. We are thus able to use the\ngeneric filemap_fault function for our -\u003efault() implementation.\n\nThis now means that shared writable mappings will be much more\nefficiently shared across the cluster if there is a reasonable\nproportion of read activity (the greater proportion, the better).\n\nAs a side effect, it also reduces the size of the code, removes\nspecial cases from readpage and readpages, and makes the code\npath easier to follow.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "51ff87bdd9f21a5d3672517b75d25ab5842d94a8",
      "tree": "7a8de5720b2a63e8d7d03a940a2b06196b2a3776",
      "parents": [
        "cc7e79b168a552152299bd8a8254dc099aacc993"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 15 14:42:35 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:11 2008 +0000"
      },
      "message": "[GFS2] Clean up internal read function\n\nAs requested by Christoph, this patch cleans up GFS2\u0027s internal\nread function so that it no longer uses the do_generic_mapping_read\nfunction. This function is obsolete and GFS2 is the last user of it.\n\nAs a side effect the internal read code gets smaller and easier\nto read and gfs2_readpage is split into two. One function has the locking\nand the other function has the rest of the logic.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "cc7e79b168a552152299bd8a8254dc099aacc993",
      "tree": "65871c8ec495401846bc9e7030a89d3c6335f5ee",
      "parents": [
        "49914084e797530d9baaf51df9eda77babc98fa8"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Fri Oct 05 00:27:58 2007 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:09 2008 +0000"
      },
      "message": "[GFS2] Handle multiple glock demote requests\n\nFix a race condition where multiple glock demote requests are sent to\na node back-to-back. This patch does a check inside handle_callback()\nto see whether a demote request is in progress. If true, it sets a flag\nto make sure run_queue() will loop again to handle the new request,\ninstead of erronously setting gl_demote_state to a different state.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "197b12d6796a3bca187f22a8978a33d51e2bcd79",
      "tree": "706ff3454f03d4aa8ca4d76010479d7f9d2b36f4",
      "parents": [
        "c10997f6575f476ff38442fa18fd4a0d80345f9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: convert fs/* from kobject_unregister() to kobject_put()\n\nThere is no need for kobject_unregister() anymore, thanks to Kay\u0027s\nkobject cleanup changes, so replace all instances of it with\nkobject_put().\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f9cb074bff8e762ef24c44678a5a7d907f82fbeb",
      "tree": "50438fc90b8f6170dd8eb5d43712c61719a16304",
      "parents": [
        "e1543ddf739b22a8c4218716ad50c26b3e147403"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_init_ng() to kobject_init()\n\nNow that the old kobject_init() function is gone, rename\nkobject_init_ng() to kobject_init() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a5815ddf26aa8208d4ad79b4fba5e6bf7d5ba688",
      "tree": "5ad672e3d9f66eeb67b6308704895839b6924b7f",
      "parents": [
        "78be3d2f574bf8a9886550ad07b8124b194badb8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:31 2008 -0800"
      },
      "message": "Kobject: convert fs/char_dev.c to use kobject_init/add_ng()\n\nThis converts the code to use the new kobject functions, cleaning up the\nlogic in doing so.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "901195ed7f4b2f30dc5a36271887939c5d7bfb9f",
      "tree": "1d56af3b3484ba97a98e3649247da25ac289ec7b",
      "parents": [
        "43b98c4a66760d18d4056beed4078a8dbad193cc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 15:54:39 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:26 2008 -0800"
      },
      "message": "Kobject: change GFS2 to use kobject_init_and_add\n\nStop using kobject_register, as this way we can control the sending of\nthe uevent properly, after everything is properly initialized.\n\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6e90aa972dda8ef86155eefcdbdc8d34165b9f39",
      "tree": "bb98edec4ecefcf8de4a246fe08c140156d6fb60",
      "parents": [
        "f55842f2329f4b3a3a6bb98b005bca3cc851d38a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 15:08:08 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:24 2008 -0800"
      },
      "message": "kobject: convert ecryptfs to use kobject_create\n\nUsing a kset for this trivial directory is an overkill.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0ff21e46630abce11fdaaffabd72bbd4eed5ac2c",
      "tree": "cc49671622ef90775bf12a91d20b8286aa346e6f",
      "parents": [
        "5c03c7ab886859eb195440dbb6ccb8c30c4e84cc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 10:36:58 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:24 2008 -0800"
      },
      "message": "kobject: convert kernel_kset to be a kobject\n\nkernel_kset does not need to be a kset, but a much simpler kobject now\nthat we have kobj_attributes.\n\nWe also rename kernel_kset to kernel_kobj to catch all users of this\nsymbol with a build error instead of an easy-to-ignore build warning.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "830d3cfb16728e2496edc2985ad8f68025135e37"
}
