)]}'
{
  "commit": "d866d875f68fdeae63df334d291fe138dc636d96",
  "tree": "9606674db2311ab869640526ef245aaa7fbf4ea8",
  "parents": [
    "eb507bc18969f63b8968034144fd69706c492516"
  ],
  "author": {
    "name": "Boaz Harrosh",
    "email": "bharrosh@panasas.com",
    "time": "Wed Sep 28 14:43:09 2011 +0300"
  },
  "committer": {
    "name": "Boaz Harrosh",
    "email": "bharrosh@panasas.com",
    "time": "Tue Oct 04 12:13:59 2011 +0200"
  },
  "message": "ore/exofs: Change the type of the devices array (API change)\n\nIn the pNFS obj-LD the device table at the layout level needs\nto point to a device_cache node, where it is possible and likely\nthat many layouts will point to the same device-nodes.\n\nIn Exofs we have a more orderly structure where we have a single\narray of devices that repeats twice for a round-robin view of the\ndevice table\n\nThis patch moves to a model that can be used by the pNFS obj-LD\nwhere struct ore_components holds an array of ore_dev-pointers.\n(ore_dev is newly defined and contains a struct osd_dev *od\n member)\n\nEach pointer in the array of pointers will point to a bigger\nuser-defined dev_struct. That can be accessed by use of the\ncontainer_of macro.\n\nIn Exofs an __alloc_dev_table() function allocates the\nore_dev-pointers array as well as an exofs_dev array, in one\nallocation and does the addresses dance to set everything pointing\ncorrectly. It still keeps the double allocation trick for the\ninodes round-robin view of the table.\n\nThe device table is always allocated dynamically, also for the\nsingle device case. So it is unconditionally freed at umount.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3b2e0478f363532a9145d17dd8fac770088ee2c5",
      "old_mode": 33188,
      "old_path": "fs/exofs/exofs.h",
      "new_id": "006fd6f33571cd8cc0352c9e84d633c2aad2c8b2",
      "new_mode": 33188,
      "new_path": "fs/exofs/exofs.h"
    },
    {
      "type": "modify",
      "old_id": "c2b0033a724b900c2b7cbdfecdcacdf0815aa585",
      "old_mode": 33188,
      "old_path": "fs/exofs/ore.c",
      "new_id": "a7d79257fc65c2c82f4d0a08b6507dd9bad9a57c",
      "new_mode": 33188,
      "new_path": "fs/exofs/ore.c"
    },
    {
      "type": "modify",
      "old_id": "90b4c526939fb80bc4447359120de73cb6032132",
      "old_mode": 33188,
      "old_path": "fs/exofs/super.c",
      "new_id": "bce3686f0aa0a9a665dd6ce67907e02cd01719ce",
      "new_mode": 33188,
      "new_path": "fs/exofs/super.c"
    },
    {
      "type": "modify",
      "old_id": "e4d550faa7c97037984d5bf1d973a665f6fe7e72",
      "old_mode": 33188,
      "old_path": "include/scsi/osd_ore.h",
      "new_id": "8fefdfbb1ced2ecca100022e912e5004ab421c12",
      "new_mode": 33188,
      "new_path": "include/scsi/osd_ore.h"
    }
  ]
}
