)]}'
{
  "log": [
    {
      "commit": "55dff4954ebdeba2be59e19398a607d799c5fa9f",
      "tree": "b442f972d503de39bf0d4a3eed007294a45b4dc9",
      "parents": [
        "0b4b2ad5307c76c7105d6e7c724b1c14b8daf482"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Sep 23 15:56:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:57 2009 -0700"
      },
      "message": "docs: fix various Documentation/ paths in header files\n\nFix various Documentation/ paths in include/linux/.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReviewed-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecb3d28c7edd58b54f16838c434b342ba9195bec",
      "tree": "2babdc068dde924a905b0b25e673be0ca7a7dccd",
      "parents": [
        "70526b67443a980d5029d9cf06903bef731a4e96"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Jun 18 19:29:05 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Jul 31 16:21:13 2008 -0700"
      },
      "message": "[PATCH] configfs: Convenience macros for attribute definition.\n\nSysfs has the _ATTR() and _ATTR_RO() macros to make defining extended\nform attributes easier.  configfs should have something similiar.\n\n- _CONFIGFS_ATTR() and _CONFIGFS_ATTR_RO() are the counterparts to the\n  sysfs macros.\n- CONFIGFS_ATTR_STRUCT() creates the extended form attribute structure.\n- CONFIGFS_ATTR_OPS() defines the show_attribute()/store_attribute()\n  operations that call the show()/store() operations of the extended\n  form configfs_attributes.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dacdd0e04768da1fd2b24a6ee274c582b40d0c5b",
      "tree": "45b559bb14e9f968943bbc98b23b1489823898e0",
      "parents": [
        "94ad374a0751f40d25e22e036c37f7263569d24c"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 16:54:19 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Jul 31 16:21:12 2008 -0700"
      },
      "message": "[PATCH] configfs: Include linux/err.h in linux/configfs.h\n\nWe now use PTR_ERR() in the -\u003emake_item() and -\u003emake_group() operations.\nFolks including configfs.h need err.h.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a6795e9ebb420d87af43789174689af0d66d1d35",
      "tree": "fb2a86ad010015fdd311f3b7f6ef30f60c14b8f7",
      "parents": [
        "f89ab8619e5320cc9c2576f5f8dcbaf6c0ba3950"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 15:21:29 2008 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 15:21:29 2008 -0700"
      },
      "message": "configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n\nThe configfs operations -\u003emake_item() and -\u003emake_group() currently\nreturn a new item/group.  A return of NULL signifies an error.  Because\nof this, -ENOMEM is the only return code bubbled up the stack.\n\nMultiple folks have requested the ability to return specific error codes\nwhen these operations fail.  This patch adds that ability by changing the\n-\u003emake_item/group() ops to return ERR_PTR() values.  These errors are\nbubbled up appropriately.  NULL returns are changed to -ENOMEM for\ncompatibility.\n\nAlso updated are the in-kernel users of configfs.\n\nThis is a rework of reverted commit 11c3b79218390a139f2d474ee1e983a672d5839a.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f89ab8619e5320cc9c2576f5f8dcbaf6c0ba3950",
      "tree": "e703050b232c76de7cb25afd63a2b4dd885c4bb9",
      "parents": [
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 14:53:48 2008 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 14:53:48 2008 -0700"
      },
      "message": "Revert \"configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\"\n\nThis reverts commit 11c3b79218390a139f2d474ee1e983a672d5839a.  The code\nwill move to PTR_ERR().\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "11c3b79218390a139f2d474ee1e983a672d5839a",
      "tree": "03fa1a4927f2d9856ee45a64d522424478058b6f",
      "parents": [
        "6d8344baee99402de58b5fa5dfea197242955c15"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jun 12 14:00:18 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n\nThe configfs operations -\u003emake_item() and -\u003emake_group() currently\nreturn a new item/group.  A return of NULL signifies an error.  Because\nof this, -ENOMEM is the only return code bubbled up the stack.\n\nMultiple folks have requested the ability to return specific error codes\nwhen these operations fail.  This patch adds that ability by changing the\n-\u003emake_item/group() ops to return an int.\n\nAlso updated are the in-kernel users of configfs.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "735643ee6cc5249bfac07fcad0946a5e7aff4423",
      "tree": "e725df246f4a3cf88b6b42a28d859ab969acf81c",
      "parents": [
        "71cc2c2152170b8166f59abb0604dc62073aeb92"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "Remove \"#ifdef __KERNEL__\" checks from unexported headers\n\nRemove the \"#ifdef __KERNEL__\" tests from unexported header files in\nlinux/include whose entire contents are wrapped in that preprocessor\ntest.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0778361837bfaaa0bcf9ee79f0edd10e3a220899",
      "tree": "48ebd4cb4dbd0b4b7b4907f20123b985815ff4b2",
      "parents": [
        "8943f268f32de8e33c71089d8ba26423633544f2"
      ],
      "author": {
        "name": "Ben Nizette",
        "email": "bn@niasdigital.com",
        "time": "Thu Feb 14 19:31:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 20:58:05 2008 -0800"
      },
      "message": "Include kernel.h from configfs.h\n\nconfigfs.h uses the container_of macro and as such should include kernel.h.\n\nSigned-off-by: Ben Nizette \u003cbn@niasdigital.com\u003e\nCc: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "631d1febab8e546e3bb800bdfe2c212b8adf87de",
      "tree": "7399384371f3c32a9458907f14ec73c9ccf51d7c",
      "parents": [
        "299894cc9001b09e3e9685f2709b49e7e1092ccc"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Jun 18 18:06:09 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:18:59 2007 -0700"
      },
      "message": "configfs: config item dependancies.\n\nSometimes other drivers depend on particular configfs items.  For\nexample, ocfs2 mounts depend on a heartbeat region item.  If that\nregion item is removed with rmdir(2), the ocfs2 mount must BUG or go\nreadonly.  Not happy.\n\nThis provides two additional API calls: configfs_depend_item() and\nconfigfs_undepend_item().  A client driver can call\nconfigfs_depend_item() on an existing item to tell configfs that it is\ndepended on.  configfs will then return -EBUSY from rmdir(2) for that\nitem.  When the item is no longer depended on, the client driver calls\nconfigfs_undepend_item() on it.\n\nThese API cannot be called underneath any configfs callbacks, as\nthey will conflict.  They can block and allocate.  A client driver\nprobably shouldn\u0027t calling them of its own gumption.  Rather it should\nbe providing an API that external subsystems call.\n\nHow does this work?  Imagine the ocfs2 mount process.  When it mounts,\nit asks for a heart region item.  This is done via a call into the\nheartbeat code.  Inside the heartbeat code, the region item is looked\nup.  Here, the heartbeat code calls configfs_depend_item().  If it\nsucceeds, then heartbeat knows the region is safe to give to ocfs2.\nIf it fails, it was being torn down anyway, and heartbeat can gracefully\npass up an error.\n\n[ Fixed some bad whitespace in configfs.txt. --Mark ]\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "299894cc9001b09e3e9685f2709b49e7e1092ccc",
      "tree": "2a2e9bb69d2393bf620a34daea17e52ed9f9e5d7",
      "parents": [
        "6d748924b753d63a57dad130fdf11f64c27ff54b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 06 17:33:23 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:11:01 2007 -0700"
      },
      "message": "configfs: accessing item hierarchy during rmdir(2)\n\nAdd a notification callback, ops-\u003edisconnect_notify(). It has the same\nprototype as -\u003edrop_item(), but it will be called just before the item\nlinkage is broken. This way, configfs users who want to do work while\nthe object is still in the heirarchy have a chance.\n\nClient drivers will still need to config_item_put() in their\n-\u003edrop_item(), if they implement it.  They need do nothing in\n-\u003edisconnect_notify().  They don\u0027t have to provide it if they don\u0027t\ncare.  But someone who wants to be notified before ci_parent is set to\nNULL can now be notified.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e6bd07aee739566803425acdbf5cdb29919164e1",
      "tree": "e085a5065d06af2b7c0cab8bcd8fb4eb289344be",
      "parents": [
        "3fe6c5ce1176cf661dbe71fc43b627c1a742a89a"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Jul 06 23:33:17 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:10:56 2007 -0700"
      },
      "message": "configfs: Convert subsystem semaphore to mutex\n\nConvert the su_sem member of struct configfs_subsystem to a struct\nmutex, as that\u0027s what it is. Also convert all the users and update\nDocumentation/configfs.txt and Documentation/configfs_example.c\naccordingly.\n\n[ Conflict in fs/dlm/config.c with commit\n  3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ]\n\nInspired-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3fe6c5ce1176cf661dbe71fc43b627c1a742a89a",
      "tree": "be94563e2ba49f7116e866e57253b5ed82fb85ee",
      "parents": [
        "9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Wed Jul 04 16:37:16 2007 +0530"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:02:31 2007 -0700"
      },
      "message": "[PATCH] configfs+dlm: Rename config_group_find_obj and state semantics clearly\n\nConfigfs being based upon sysfs code, config_group_find_obj() is probably\nso named because of the similar kset_find_obj() in sysfs. However,\n\"kobject\"s in sysfs become \"config_item\"s in configfs, so let\u0027s call it\nconfig_group_find_item() instead, for sake of uniformity, and make\ncorresponding change in the users of this function.\n\nBTW a crucial difference between kset_find_obj and config_group_find_item\nis in locking expectations. kset_find_obj does its locking by itself, but\nconfig_group_find_item expects the *caller* to do the locking. The reason\nfor this: kset\u0027s have their own locks, config_group\u0027s don\u0027t but instead\nrely on the subsystem mutex. And, subsystem needn\u0027t necessarily be around\nwhen config_group_find_item() is called.\n\nSo let\u0027s state these locking semantics explicitly, and rectify the comment,\notherwise bugs could continue to occur in future, as they did in the past\n(refer commit d82b8191e238 in gfs2-2.6-fixes.git).\n\n[ I also took the opportunity to fix some bad whitespace and\ndouble-empty lines. --Joel ]\n\n[ Conflict in fs/dlm/config.c with commit\n  3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ]\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d",
      "tree": "fdb043638b15b429fb3b04be8d56667c3d9963be",
      "parents": [
        "4c62b53454a83178676e5ecae6665447d363c7b4"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Wed Jul 04 16:37:06 2007 +0530"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 16:52:27 2007 -0700"
      },
      "message": "[PATCH] configfs+dlm: Separate out __CONFIGFS_ATTR into configfs.h\n\nfs/dlm/config.c contains a useful generic macro called __CONFIGFS_ATTR\nthat is similar to sysfs\u0027 __ATTR macro that makes defining attributes\neasy for any user of configfs. Separate it out into configfs.h so that\nother users (forthcoming in dynamic netconsole patchset) can use it too.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4c62b53454a83178676e5ecae6665447d363c7b4",
      "tree": "77e5ba7c4afa788500b3a5aed71577cd5d1fc397",
      "parents": [
        "b23cdde4c6240d70bb3d2e3c4046b60d6f6c8451"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Wed Jun 27 16:02:14 2007 +0530"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 16:52:25 2007 -0700"
      },
      "message": "configfs: misc cleanups\n\n1. item.c:config_item_cleanup() is a private function (only called by\nconfig_item_release() in same file). However, it is spuriously\nexported in include/linux/configfs.h, so remove that export and make\nit static in item.c. Also, it is no longer exported / interface\nfunction, so no need to give comment for this function (the comment\nwas stating obvious thing, anyway).\n\n2. Kernel-doc comment format does not allow empty line between end of\ncomment and start of function (declaration line). There were several\nsuch spurious empty lines in item.c, so fix them.\n\n  fs/configfs/item.c       |   15 +++------------\n  include/linux/configfs.h |    1 -\n  2 files changed, 3 insertions(+), 13 deletions(-)\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "df4365ce8829e84e8e6fe7d2371ea8f40630e865",
      "tree": "e37ad3f5dd699272ad48204059a58c77d5a5a6f9",
      "parents": [
        "bef1f40261c8bc5ad2ca70a5a1760b0eb79b6812"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Tue Dec 12 20:05:50 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Dec 12 20:05:50 2006 +0100"
      },
      "message": "configfs.h: Remove dead macro definitions.\n\nDelete the __ATTR-related macro definitions since these are now\ndefined in include/linux/sysfs.h.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "3d0f89bb169482d26d5aa4e82e763077e7e9bc4d",
      "tree": "2d2317ce1417202322e3f715534fab80394bd5d2",
      "parents": [
        "62ca3d2603571dc2b1b4c1368e19d44b599062e2"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Jan 25 13:31:07 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 03 14:01:05 2006 -0800"
      },
      "message": "configfs: Add permission and ownership to configfs objects.\n\nconfigfs always made item and attribute ownership root.root and\npermissions based on a umask of 022.  Add -\u003esetattr() to allow\nchown(2)/chmod(2), and persist the changes for the lifetime of the\nitems and attributes.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7063fbf2261194f72ee75afca67b3b38b554b5fa",
      "tree": "7bfe4eeab8ce784b767cf30886623d456c384718",
      "parents": [
        "88026842b0a760145aa71d69e74fbc9ec118ca44"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 15 14:29:43 2005 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 03 11:45:28 2006 -0800"
      },
      "message": "[PATCH] configfs: User-driven configuration filesystem\n\nConfigfs, a file system for userspace-driven kernel object configuration.\nThe OCFS2 stack makes extensive use of this for propagation of cluster\nconfiguration information into kernel.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    }
  ]
}
