)]}'
{
  "commit": "70526b67443a980d5029d9cf06903bef731a4e96",
  "tree": "af4558619eeeda7f0075017881d8274d03854ca9",
  "parents": [
    "99cefda42ac550863b5ae1df9e60322e377decf9"
  ],
  "author": {
    "name": "Joel Becker",
    "email": "joel.becker@oracle.com",
    "time": "Tue Jun 17 15:34:32 2008 -0700"
  },
  "committer": {
    "name": "Mark Fasheh",
    "email": "mfasheh@suse.com",
    "time": "Thu Jul 31 16:21:13 2008 -0700"
  },
  "message": "[PATCH] configfs: Pin configfs subsystems separately from new config_items.\n\nconfigfs_mkdir() creates a new item by calling its parent\u0027s\n-\u003emake_item/group() functions.  Once that object is created,\nconfigfs_mkdir() calls try_module_get() on the new item\u0027s module.  If it\nsucceeds, the module owning the new item cannot be unloaded, and\nconfigfs is safe to reference the item.\n\nIf the item and the subsystem it belongs to are part of the same module,\nthe subsystem is also pinned.  This is the common case.\n\nHowever, if the subsystem is made up of multiple modules, this may not\npin the subsystem.  Thus, it would be possible to unload the toplevel\nsubsystem module while there is still a child item.  Thus, we now\ntry_module_get() the subsystem\u0027s module.  This only really affects\nchildren of the toplevel subsystem group.  Deeper children already have\ntheir parents pinned.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a89058b3988429d639bbcb8371f58c6bc25f7d90",
      "old_mode": 33188,
      "old_path": "fs/configfs/dir.c",
      "new_id": "7a8db78a91d22949fbd1b0df6fb116a392033426",
      "new_mode": 33188,
      "new_path": "fs/configfs/dir.c"
    }
  ]
}
