)]}'
{
  "log": [
    {
      "commit": "719ee344675c2efed9115934f19aa66a526b6e5b",
      "tree": "7f9502d696a09eaf5eba0a0d3fa35557ffd3c503",
      "parents": [
        "37ec89e83c4ca98323fe74f139301ff3949cfdb6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:53:59 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:53:59 2008 +0100"
      },
      "message": "GFS2: high time to take some time over atime\n\nUntil now, we\u0027ve used the same scheme as GFS1 for atime. This has failed\nsince atime is a per vfsmnt flag, not a per fs flag and as such the\n\"noatime\" flag was not getting passed down to the filesystems. This\npatch removes all the \"special casing\" around atime updates and we\nsimply use the VFS\u0027s atime code.\n\nThe net result is that GFS2 will now support all the same atime related\nmount options of any other filesystem on a per-vfsmnt basis. We do lose\nthe \"lazy atime\" updates, but we gain \"relatime\". We could add lazy\natime to the VFS at a later date, if there is a requirement for that\nvariant still - I suspect relatime will be enough.\n\nAlso we lose about 100 lines of code after this patch has been applied,\nand I have a suspicion that it will speed things up a bit, even when\natime is \"on\". So it seems like a nice clean up as well.\n\nFrom a user perspective, everything stays the same except the loss of\nthe per-fs atime quantum tweekable (ought to be per-vfsmnt at the very\nleast, and to be honest I don\u0027t think anybody ever used it) and that a\nnumber of options which were ignored before now work correctly.\n\nPlease let me know if you\u0027ve got any comments. I\u0027m pushing this out\nearly so that you can all see what my plans are.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c9f6a6bbc284ba87337876086f7e2e6e0b0d50dd",
      "tree": "68930f47e91f82ca41b3a9f35fd118d2ff11d891",
      "parents": [
        "9cabcdbd4638cf884839ee4cd15780800c223b90"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 16:09:29 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 16:09:29 2008 +0100"
      },
      "message": "[GFS2] Remove support for unused and pointless flag\n\nThe ability to mark files for direct i/o access when opened\nnormally is both unused and pointless, so this patch removes\nsupport for that feature.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1bdad606338debc6384b2844f1b53cc436b3ac90",
      "tree": "7929bc1f652f88f104e8b6fa6a424cd211b50a42",
      "parents": [
        "9171f5a991e7613cbee816874ad8c9515dcab50f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 03 14:09:53 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:44 2008 +0100"
      },
      "message": "[GFS2] Remove remote lock dropping code\n\nThere are several reasons why this is undesirable:\n\n 1. It never happens during normal operation anyway\n 2. If it does happen it causes performance to be very, very poor\n 3. It isn\u0027t likely to solve the original problem (memory shortage\n    on remote DLM node) it was supposed to solve\n 4. It uses a bunch of arbitrary constants which are unlikely to be\n    correct for any particular situation and for which the tuning seems\n    to be a black art.\n 5. In an N node cluster, only 1/N of the dropped locked will actually\n    contribute to solving the problem on average.\n\nSo all in all we are better off without it. This also makes merging\nthe lock_dlm module into GFS2 a bit easier.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9feb7c889f2a3b088a7f6583e609bd39997c0f47",
      "tree": "cd54d87a2b123a85d6da71312017c2b0a5a33541",
      "parents": [
        "9a0045088d888c9c539c8c626a366cb52c0fbdab"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Feb 05 17:11:40 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:34 2008 +0100"
      },
      "message": "[GFS2] Remove unused counters\n\nThis is kind of trivial in the greater scheme of things, but\nthis removes three counters that AFAICT are never used.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "da755fdb414470d6dce3df12ad188de9131cf96c",
      "tree": "7081889e6fc13f4ffdf86f5e928a748af7a7adbc",
      "parents": [
        "ab0d756681c9502a2ab9e2e4ab3685bc0567f4ee"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 30 15:34:04 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:26 2008 +0100"
      },
      "message": "[GFS2] Remove lm.[ch] and distribute content\n\nThe functions in lm.c were just wrappers which were mostly\nonly used in one other file. By moving the functions to\nthe files where they are being used, they can be marked\nstatic and also this will usually result in them being inlined\nsince they are often only used from one point in the code.\n\nA couple of really trivial functions have been inlined by hand\ninto the function which called them as it makes the code clearer\nto do that.\n\nWe also gain from one fewer function call in the glock lock and\nunlock paths.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\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": "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": "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": "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": "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": "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": "9bec101a0c38d559a8c95b44d850cd09a7b4edef",
      "tree": "65161628aae7438635f183a6d070887a55033952",
      "parents": [
        "00d2666623368ffd39afc875ff8a2eead2a0436c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 20:13:17 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:13 2008 -0800"
      },
      "message": "kset: convert gfs2 to use kset_create\n\nDynamically create the kset instead of declaring it statically.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "00d2666623368ffd39afc875ff8a2eead2a0436c",
      "tree": "9b16b85167f1bd86c02c0ebeb74510d8029783a3",
      "parents": [
        "917e865df7eb020f20ffc2b4204f282a587df94f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 14:17:23 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:13 2008 -0800"
      },
      "message": "kobject: convert main fs kobject to use kobject_create\n\nThis also renames fs_subsys to fs_kobj to catch all current users with a\nbuild error instead of a build warning which can easily be missed.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "efefc6eb38d43b8e5daef482f575d767b002004e",
      "tree": "8a3933db1f8721f9bcc9912c800dc8406f4bdf94",
      "parents": [
        "117494a1b65183f0e3fcc817b07944bc5c465050",
        "cd59abfcc441b2abb4cf2cd62c1eb0f02a60e8dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 15:49:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 15:49:37 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits)\n  PM: merge device power-management source files\n  sysfs: add copyrights\n  kobject: update the copyrights\n  kset: add some kerneldoc to help describe what these strange things are\n  Driver core: rename ktype_edd and ktype_efivar\n  Driver core: rename ktype_driver\n  Driver core: rename ktype_device\n  Driver core: rename ktype_class\n  driver core: remove subsystem_init()\n  sysfs: move sysfs file poll implementation to sysfs_open_dirent\n  sysfs: implement sysfs_open_dirent\n  sysfs: move sysfs_dirent-\u003es_children into sysfs_dirent-\u003es_dir\n  sysfs: make sysfs_root a regular directory dirent\n  sysfs: open code sysfs_attach_dentry()\n  sysfs: make s_elem an anonymous union\n  sysfs: make bin attr open get active reference of parent too\n  sysfs: kill unnecessary NULL pointer check in sysfs_release()\n  sysfs: kill unnecessary sysfs_get() in open paths\n  sysfs: reposition sysfs_dirent-\u003es_mode.\n  sysfs: kill sysfs_update_file()\n  ...\n"
    },
    {
      "commit": "34980ca8faebfcce31094eba6ffbb0113950361f",
      "tree": "1339b5a059fdc34e688d5571749577e8f3f96f09",
      "parents": [
        "7e7654a92a5a75a350cc3458389bc76273498f6a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "Drivers: clean up direct setting of the name of a kset\n\nA kset should not have its name set directly, so dynamically set the\nname at runtime.\n\nThis is needed to remove the static array in the kobject structure which\nwill be changed in a future patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "8fbbfd214c853102b614f4705c1904ed14f5a808",
      "tree": "b33cb7ee7392d64f99124588ef6af7c0d0bc7e9d",
      "parents": [
        "ca5a939b33166a9f5a2556e6c4ec031524852ba2"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 01 13:57:10 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:08 2007 +0100"
      },
      "message": "[GFS2] Reduce number of gfs2_scand processes to one\n\nWe only need a single gfs2_scand process rather than the one\nper filesystem which we had previously. As a result the parameter\ndetermining the frequency of gfs2_scand runs becomes a module\nparameter rather than a mount parameter as it was before.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e5dab552c82ce416d7be867b1e5a0fa585dcf590",
      "tree": "3719a33f1bd5a29785e4ca35982d9610dd5a1a63",
      "parents": [
        "fee852e374fb367c5436b1226eb93b35f8355ed9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 18 17:44:20 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:14 2007 -0500"
      },
      "message": "[GFS2] Remove the \"greedy\" function from glock.[ch]\n\nThe \"greedy\" code was an attempt to retain glocks for a minimum length\nof time when they relate to mmap()ed files. The current implementation\nof this feature is not, however, ideal in that it required allocating\nmemory in order to do this and its overly complicated.\n\nIt also misses the mark by ignoring the other I/O operations which are\njust as likely to suffer from the same problem. So the plan is to remove\nthis now and then add the functionality back as part of the glock state\nmachine at a later date (and thus take into account all the possible\nusers of this feature)\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "330005c2b23e71e54931913e9b63d1712a19e444",
      "tree": "7a0162de5bbdeed0b1e82b76c4bddcb628362af2",
      "parents": [
        "3699e3a44bf56e0cd58c97e8655f375ad9b65d9d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 15 16:36:26 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:08 2007 -0500"
      },
      "message": "[GFS2] Remove max_atomic_write tunable\n\nThis removes an unused sysfs tunable parameter.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3699e3a44bf56e0cd58c97e8655f375ad9b65d9d",
      "tree": "9ac31dd5b99373614f0cd52cc5a41536aeea271e",
      "parents": [
        "a8d638e30e768adc6956541f79f7bf05139ba475"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 17 15:09:20 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:04 2007 -0500"
      },
      "message": "[GFS2] Clean up/speed up readdir\n\nThis removes the extra filldir callback which gfs2 was using to\nenclose an attempt at readahead for inodes during readdir. The\ncode was too complicated and also hurts performance badly in the\ncase that the getdents64/readdir call isn\u0027t being followed by\nstat() and it wasn\u0027t even getting it right all the time when it\nwas.\n\nAs a result, on my test box an \"ls\" of a directory containing 250000\nfiles fell from about 7mins (freshly mounted, so nothing cached) to\nbetween about 15 to 25 seconds. When the directory content was cached,\nthe time taken fell from about 3mins to about 4 or 5 seconds.\n\nInterestingly in the cached case, running \"ls -l\" once reduced the time\ntaken for subsequent runs of \"ls\" to about 6 secs even without this\npatch. Now it turns out that there was a special case of glocks being\nused for prefetching the metadata, but because of the timeouts for these\nlocks (set to 10 secs) the metadata was being timed out before it was\nbeing used and this the prefetch code was constantly trying to prefetch\nthe same data over and over.\n\nCalling \"ls -l\" meant that the inodes were brought into memory and once\nthe inodes are cached, the glocks are not disposed of until the inodes\nare pushed out of the cache, thus extending the lifetime of the glocks,\nand thus bringing down the time for subsequent runs of \"ls\"\nconsiderably.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "175011cf6edddea32e5f5e0e04434104cc348de9",
      "tree": "d8a0d887924cec01b908fe7a97cec3dec9f4f695",
      "parents": [
        "4cf1ed8144e740de27c6146c25d5d7ea26679cc5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 16 10:58:55 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:35:53 2006 -0500"
      },
      "message": "[GFS2] Remove unused sysfs files\n\nFour of the sysfs files are unused and can therefore be removed.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7d308590ae60d1f038a54a94e78a385c5c163452",
      "tree": "f672724840a07022ff6deb8022082af35dbad44c",
      "parents": [
        "f3b30912e0eab0e4160c7649a5f2b10be68027b9"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Tue Sep 19 07:56:29 2006 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 19 08:45:18 2006 -0400"
      },
      "message": "[GFS2] Export lm_interface to kernel headers\n\n\nlm_interface.h has a few out of the tree clients such as GFS1\nand userland tools.\n\nRight now, these clients keeps a copy of the file in their build tree\nthat can go out of sync.\n\nMove lm_interface.h to include/linux, export it to userland and\nclean up fs/gfs2 to use the new location.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "65952fb4e91c159d253bd28ceaf028a86dbb0b02",
      "tree": "e4d09a162da7bec0a0ffa9efc258d03489aa163d",
      "parents": [
        "a8336344a5fd1366eb3616d351c39cadcd077f43"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 15 13:09:11 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 18 09:43:23 2006 -0400"
      },
      "message": "[GFS2] print mount errors related to sysfs\n\nPrint an error message if mount fails in setting up the sysfs files.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "3204a6c05588788f7686bc45585185a9a4788430",
      "tree": "053c0839ee64ccf2e7dfc94d94c388d75c0158ab",
      "parents": [
        "c53921248c79197befa7caa4c17b1af5c077a2c2"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 06 16:57:06 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 09:43:34 2006 -0400"
      },
      "message": "[GFS2] use snprintf for sysfs show\n\nUse snprintf(buf, PAGE_SIZE, ...) instead of sprintf for sysfs show\nmethods.  Per instructions in Documentation/filesystems/sysfs.txt\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "2c1e52aa905f2223dc600cfeda6c0dc94fac8b81",
      "tree": "e6fde16db33a666fe87da34100c0ad5466654555",
      "parents": [
        "48fac1790935ef2f9548d92e7c8ba604d1b80c12"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 15:41:57 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 15:41:57 2006 -0400"
      },
      "message": "[GFS2] More style fixes\n\nAs per Jan Engelhardt\u0027s follow up emails, here are a few small\nfixes which were missed earlier.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ea67eedb211d3418fa62fe3477e0d19b2888225e",
      "tree": "456cb81b1eb23ec76ce6a44e5ce2ce068995baa1",
      "parents": [
        "f2f7ba5237e2fe10ba3e328a4f728b9e1ff141da"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 10:53:09 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 10:53:09 2006 -0400"
      },
      "message": "[GFS2] Fix end of multi-line structures\n\nAs per Jan Engelhardt\u0027s request, I\u0027ve added a \u0027,\u0027 to the end of\neach of the multi-line structures which didn\u0027t already have\none (most already did).\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cd915493fce912f1bd838ee1250737ecf33b8fae",
      "tree": "e14ec6643de91f473edb26a89905e710596fe6bc",
      "parents": [
        "a91ea69ffd3f8a0b7139bfd44042ab384461e631"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:49:07 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:49:07 2006 -0400"
      },
      "message": "[GFS2] Change all types to uX style\n\nThis makes all fixed size types have consistent names.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a91ea69ffd3f8a0b7139bfd44042ab384461e631",
      "tree": "f05952e49e01609b21dbe8d27d9ffd30b4aa507f",
      "parents": [
        "75d3b817a0b48425da921052955cc58f20bbab52"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:04:26 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:04:26 2006 -0400"
      },
      "message": "[GFS2] Align all labels against LH side\n\nThis makes everything consistent.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9fc2aa091ab8fa46e60d4c9d06a89305c441652",
      "tree": "8cdf5fcc4adba8cd53c51f824b5d8107ce0f4bba",
      "parents": [
        "c6e6f0ba8fc1dea99c7bd020916f24d533b62697"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 01 11:05:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 01 11:05:15 2006 -0400"
      },
      "message": "[GFS2] Update copyright, tidy up incore.h\n\nAs per comments from Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e this\nupdates the copyright message to say \"version\" in full rather than\n\"v.2\". Also incore.h has been updated to remove forward structure\ndeclarations which are not required.\n\nThe gfs2_quota_lvb structure has now had endianess annotations added\nto it. Also quota.c has been updated so that we now store the\nlvb data locally in endian independant format to avoid needing\na structure in host endianess too. As a result the endianess\nconversions are done as required at various points and thus the\nconversion routines in lvb.[ch] are no longer required. I\u0027ve\nmoved the one remaining constant in lvb.h thats used into lm.h\nand removed the unused lvb.[ch].\n\nI have not changed the HIF_ constants. That is left to a later patch\nwhich I hope will unify the gh_flags and gh_iflags fields of the\nstruct gfs2_holder.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "feaa7bba026c181ce071d5a4884f7f9dd26207a1",
      "tree": "c858deb225917265cb07820730e9764674d133e8",
      "parents": [
        "22da645fd6675b7abc55cf937ddf6132f343e5b9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "message": "[GFS2] Fix unlinked file handling\n\nThis patch fixes the way we have been dealing with unlinked,\nbut still open files. It removes all limits (other than memory\nfor inodes, as per every other filesystem) on numbers of these\nwhich we can support on GFS2. It also means that (like other\nfs) its the responsibility of the last process to close the file\nto deallocate the storage, rather than the person who did the\nunlinking. Note that with GFS2, those two events might take place\non different nodes.\n\nAlso there are a number of other changes:\n\n o We use the Linux inode subsystem as it was intended to be\nused, wrt allocating GFS2 inodes\n o The Linux inode cache is now the point which we use for\nlocal enforcement of only holding one copy of the inode in\ncore at once (previous to this we used the glock layer).\n o We no longer use the unlinked \"special\" file. We just ignore it\ncompletely. This makes unlinking more efficient.\n o We now use the 4th block allocation state. The previously unused\nstate is used to track unlinked but still open inodes.\n o gfs2_inoded is no longer needed\n o Several fields are now no longer needed (and removed) from the in\ncore struct gfs2_inode\n o Several fields are no longer needed (and removed) from the in core\nsuperblock\n\nThere are a number of future possible optimisations and clean ups\nwhich have been made possible by this patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3a8a9a1034813aa99f5ae3150f652d490c5ff10d",
      "tree": "427d4c1499b5c88dbf43c6e490d83cee350083b2",
      "parents": [
        "bd8968010a9a08e67a0ddb3ddee9feb8882e8c2f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 15:09:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 15:09:15 2006 -0400"
      },
      "message": "[GFS2] Update copyright date to 2006\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bd8968010a9a08e67a0ddb3ddee9feb8882e8c2f",
      "tree": "c3960853310112779e2ce583a8c8b524777cb70d",
      "parents": [
        "1b50259bc33f2adfcb4c5fba4b740bf80789df22"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 14:54:58 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 14:54:58 2006 -0400"
      },
      "message": "[GFS2] Remove semaphore.h from C files\n\nWe no longer use semaphores, everything has been converted to\nmutex or rwsem, so we don\u0027t need to include this header any more.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5c676f6d359b0404d53f542f02e1359583cb2895",
      "tree": "8741011990ec0a3d0d41fee9f0d7abf6a16834cc",
      "parents": [
        "f3b270a47882b958e9e3c5bd86894e3a7072899a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 17:23:27 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 17:23:27 2006 -0500"
      },
      "message": "[GFS2] Macros removal in gfs2.h\n\nAs suggested by Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e.\n\nThe DIV_RU macro is renamed DIV_ROUND_UP and and moved to kernel.h\nThe other macros are gone from gfs2.h as (although not requested\nby Pekka Enberg) are a number of included header file which are now\nincluded individually. The inode number comparison function is\nnow an inline function.\n\nThe DT2IF and IF2DT may be addressed in a future patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6a6b3d018f4781f108d170f2181281a3c5589dc8",
      "tree": "471b6b8392fbcad36e62161c8f97893f97f0699e",
      "parents": [
        "8d3b35a4af87965d1873872b21e504558f62116a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Feb 23 10:11:47 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 23 10:11:47 2006 +0000"
      },
      "message": "[GFS2] Patch to remove stats gathering from GFS2\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f55ab26a8f92a23988c3e6da28dae4741933a4e2",
      "tree": "b6f9e89ce1b2ccde8d81314aeea06f6a02f882f7",
      "parents": [
        "5c4e9e036678fae65c9288e1c00a6f33cd447283"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 21 12:51:39 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 21 12:51:39 2006 +0000"
      },
      "message": "[GFS2] Use mutices rather than semaphores\n\nAs well as a number of minor bug fixes, this patch changes GFS\nto use mutices rather than semaphores. This results in better\ninformation in case there are any locking problems.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
      "tree": "70bd6068b050d2c46e338484f8b03fae4365c6c3",
      "parents": [
        "f7825dcf8c7301cfd3724eb40c5b443cc85ab7b8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "message": "[GFS2] The core of GFS2\n\nThis patch contains all the core files for GFS2.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ]
}
