)]}'
{
  "log": [
    {
      "commit": "278c023a99b0d6b471d0f4a79835c703482e29ac",
      "tree": "77f49d04e4765817708407d37f54af52aa0a24eb",
      "parents": [
        "04291b628c450ab6fdb606836585f16336662a4e"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 15:16:54 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:09 2011 -0400"
      },
      "message": "pnfs-obj: Support for RAID5 read-4-write interface.\n\nThe ore need suplied a r4w_get_page/r4w_put_page API\nfrom Filesystem so it can get cache pages to read-into when\nwriting parial stripes.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "04291b628c450ab6fdb606836585f16336662a4e",
      "tree": "2b0e17d8e774c9188437fd04cc97a2bc50312bab",
      "parents": [
        "eecfc6312a24e6d0d2883de0a9a6ccf8e993f472"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 15:16:15 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:08 2011 -0400"
      },
      "message": "pnfs-obj: move to ore 03: Remove old raid engine\n\nFinally remove all the old raid engine, which is by now\ndead code.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eecfc6312a24e6d0d2883de0a9a6ccf8e993f472",
      "tree": "83b7b6d8895a007e698e59f065924527e8870d90",
      "parents": [
        "af4f5b54bcf0379089d01518e818f37258708fb7"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 15:15:38 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:08 2011 -0400"
      },
      "message": "pnfs-obj: move to ore 02: move to ORE\n\nIn this patch we are actually moving to the ORE.\n(Object Raid Engine).\n\nobjio_state holds a pointer to an ore_io_state. Once\nwe have an ore_io_state at hand we can call the ore\nfor reading/writing. We register on the done path\nto kick off the nfs io_done mechanism.\n\nAgain for Ease of reviewing the old code is \"#if 0\"\nbut is not removed so the diff command works better.\nThe old code will be removed in the next patch.\n\nfs/exofs/Kconfig::ORE is modified to also be auto-included\nif PNFS_OBJLAYOUT is set. Since we now depend on ORE.\n(See comments in fs/exofs/Kconfig)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "af4f5b54bcf0379089d01518e818f37258708fb7",
      "tree": "f23c232ec8f03a53a1e2636053a8d4d8c12a3dce",
      "parents": [
        "e2e04355d9647305c666462a49223f2942a635f0"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 15:04:19 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:07 2011 -0400"
      },
      "message": "pnfs-obj: move to ore 01: ore_layout \u0026 ore_components\n\nFor Ease of reviewing I split the move to ore into 3 parts\n\tmove to ore 01: ore_layout \u0026 ore_components\n\tmove to ore 02: move to ORE\n\tmove to ore 03: Remove old raid engine\n\nThis patch modifies the objio_lseg, layout-segment level\nand devices and components arrays to use the ORE types.\n\nThough it will be removed soon, also the raid engine\nis modified to actually compile, possibly run, with\nthe new types. So it is the same old raid engine but\nwith some new ORE types.\n\nFor Ease of reviewing, some of the old code is\n\"#if 0\" but is not removed so the diff command works\nbetter. The old code will be removed in the 3rd patch.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e2e04355d9647305c666462a49223f2942a635f0",
      "tree": "ecfe8fb11a29a11d2728c1cdd8d5e2d82c724e41",
      "parents": [
        "96218556b03d3c6505e2880a097338bf277fd783"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 15:03:35 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:06 2011 -0400"
      },
      "message": "pnfs-obj: Rename objlayout_io_state \u003d\u003e objlayout_io_res\n\n* All instances of objlayout_io_state \u003d\u003e objlayout_io_res\n* All instances of state \u003d\u003e oir;\n* All instances of ol_state \u003d\u003e oir;\n\nBig but nothing to it\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96218556b03d3c6505e2880a097338bf277fd783",
      "tree": "0e6d80437979a158af20b73b8d2cd985478e553d",
      "parents": [
        "e6c40fe3f4c4967f1cb486191ed4a5d5f55f3f7e"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 14:47:32 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:05 2011 -0400"
      },
      "message": "pnfs-obj: Get rid of objlayout_{alloc,free}_io_state\n\nThis is part of moving objio_osd to use the ORE.\n\nobjlayout_io_state had two functions:\n1. It was used in the error reporting mechanism at layout_return.\n   This function is kept intact.\n   (Later patch will rename objlayout_io_state \u003d\u003e objlayout_io_res)\n2. Carrier of rw io members into the objio_read/write_paglist API.\n   This is removed in this patch.\n\nThe {r,w}data received from NFS are passed directly to the\nobjio_{read,write}_paglist API. The io_engine is now allocating\nit\u0027s own IO state as part of the read/write. The minimal\nfunctionality that was part of the generic allocation is passed\nto the io_engine.\n\nSo part of this patch is rename of:\n\tios-\u003eol_state.foo \u003d\u003e ios-\u003efoo\n\nAt objlayout_{read,write}_done an objlayout_io_state is passed that\ndenotes the result of the IO. (Hence the later name change).\nIf the IO is successful objlayout calls an objio_free_result() API\nimmediately (Which for objio_osd causes the release of the io_state).\nIf the IO ended in an error it is hanged onto until reported in\nlayout_return and is released later through the objio_free_result()\nAPI. (All this is not new just renamed and cleaned)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6c40fe3f4c4967f1cb486191ed4a5d5f55f3f7e",
      "tree": "a7747effb21709bfbb0b3ded2e85253f37e7711e",
      "parents": [
        "4cdc685c7d06f659ef6c336d4242005cdd8df401"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 14:45:46 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:03 2011 -0400"
      },
      "message": "pnfs-obj: Return PNFS_NOT_ATTEMPTED in case of read/write_pagelist\n\nobjlayout driver was always returning PNFS_ATTEMPTED from it\u0027s\nread/write_pagelist operations. Even on error. Fix that.\n\nStart by establishing an error return API from io-engine, by\nnot returning ssize_t (length-or-error) but returning \"int\"\n0\u003dOK, 0\u003eError. And clean up all return types in io-engine.\n\nThen if io-engine returned error return PNFS_NOT_ATTEMPTED\nto generic layer. (With a dprint)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4cdc685c7d06f659ef6c336d4242005cdd8df401",
      "tree": "af4074fae08ad9d24b035b54ab065f90bae31b5f",
      "parents": [
        "994c0e992522c123298b4a91b72f5e67ba2d1123"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 31 14:45:06 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:00 2011 -0400"
      },
      "message": "pnfs-obj: Remove redundant EOF from objlayout_io_state\n\nThe EOF calculation was done on .read_pagelist(), cached\nin objlayout_io_state-\u003eeof, and set in objlayout_read_done()\ninto nfs_read_data-\u003eres.eof.\n\nSo set it directly into nfs_read_data-\u003eres.eof and avoid\nthe extra member.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9af7db3228acc286c50e3a0f054ec982efdbc6c6",
      "tree": "caf8fee7b55477d3710b08436c3d3285013bbc09",
      "parents": [
        "20618b21da0796115e81906d24ff1601552701b7"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Aug 03 21:52:51 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 04 11:54:48 2011 -0400"
      },
      "message": "pnfs-obj: Fix the comp_index !\u003d 0 case\n\nThere were bugs in the case of partial layout where olo_comp_index\nis not zero. This used to work and was tested but one of the later\ncleanup SQUASHMEs broke it and was not tested since.\n\nAlso add a dprint that specify those received layout parameters.\nEverything else was already printed.\n\n[Needed in v3.0]\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "20618b21da0796115e81906d24ff1601552701b7",
      "tree": "11f544d34a9e27ff941597018dc9ba2ae74c845e",
      "parents": [
        "88c9e42196285a7c573e2abda11a4b5037c669bc"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Aug 03 21:54:33 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 04 11:54:38 2011 -0400"
      },
      "message": "pnfs-obj: Bug when we are running out of bio\n\nWhen we have a situation that the number of pages we want\nto encode is bigger then the size of the bio. (Which can\ncurrently happen only when all IO is going to a single device\n.e.g group_width\u003d\u003d1) then the IO is submitted short and we\nreport back only the amount of bytes we actually wrote/read\nand all is fine. BUT ...\n\nThere was a bug that the current length counter was advanced\nbefore the fail to add the extra page, and we come to a situation\nthat the CDB length was one-page longer then the actual bio size,\nwhich is of course rejected by the osd-target.\n\nWhile here also fix the bio size calculation, in the case\nthat we received more then one group of devices.\n\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f85ef69ce08bc2209858135328335f668ba35bdb",
      "tree": "9612b8f94bca48287cd03f807e4308b4efc5e5b9",
      "parents": [
        "674e405b8b3310702fd43d314f5f432ec2cb9980"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 15 19:18:42 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 19:21:58 2011 -0400"
      },
      "message": "pnfs: simplify pnfs files module autoloading\n\nEmbed the necessary alias into the module rather than waiting for\nsomeone to add it to /etc/modprobe.conf\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dce81290eed64d24493989bb7a08f9e20495e184",
      "tree": "eb25c828d3343196fe31d95da2d7d743692fa71e",
      "parents": [
        "493292ddc78d18ee2ad2d5c24c2b7dd6a24641d2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 13 15:59:19 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 09:12:22 2011 -0400"
      },
      "message": "NFS: Move the pnfs write code into pnfs.c\n\n...and ensure that we recoalese to take into account differences in\ndifferences in block sizes when falling back to write through the MDS.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "493292ddc78d18ee2ad2d5c24c2b7dd6a24641d2",
      "tree": "cad42b32b7baa303189ddd6d791229c619f24f37",
      "parents": [
        "d9156f9f364897e93bdd98b4ad22138de18f7c24"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 13 15:58:28 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 09:12:21 2011 -0400"
      },
      "message": "NFS: Move the pnfs read code into pnfs.c\n\n...and ensure that we recoalese to take into account differences in\nblock sizes when falling back to read through the MDS.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e885de1a5bc9f46ef8f934c5a7602c89d2d51e8d",
      "tree": "fec97da658ce241c055f5fc8bb7e2e84ee1cc259",
      "parents": [
        "d8007d4dd6ff8749cc8a4063c3ec87442db76d82"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:28 2011 -0400"
      },
      "message": "NFSv4.1: Fall back to ordinary i/o through the mds if we have no layout segment\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d8007d4dd6ff8749cc8a4063c3ec87442db76d82",
      "tree": "f778176d24666f2e2c7cd7ef4dc5917aa11cc207",
      "parents": [
        "1751c3638f2a07a8c66a803a31791bab9bd3fced"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:28 2011 -0400"
      },
      "message": "NFSv4.1: Add an initialisation callback for pNFS\n\nEnsure that we always get a layout before setting up the i/o request.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1751c3638f2a07a8c66a803a31791bab9bd3fced",
      "tree": "5c1f39f879c0a0049c50b4f36a256ba1986d82b2",
      "parents": [
        "f062eb6ced3b297277b94b4da3113b1d3782e539"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:28 2011 -0400"
      },
      "message": "NFS: Cleanup of the nfs_pageio code in preparation for a pnfs bugfix\n\nWe need to ensure that the layouts are set up before we can decide to\ncoalesce requests. To do so, we want to further split up the struct\nnfs_pageio_descriptor operations into an initialisation callback, a\ncoalescing test callback, and a \u0027do i/o\u0027 callback.\n\nThis patch cleans up the existing callback methods before adding the\n\u0027initialisation\u0027 callback.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f7d5efbef8718a774ac5e347b4ec069f17fd9b4",
      "tree": "aa95020eb43fe3cdb45ce96c9ec024b92f5c7621",
      "parents": [
        "19345cb299e8234006c5125151ab723e851a1d24"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:22 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:05 2011 -0400"
      },
      "message": "NFSv4.1: Fix some issues with pnfs_generic_pg_test\n\n1. If the intention is to coalesce requests \u0027prev\u0027 and \u0027req\u0027 then we\n   have to ensure at least that we have a layout starting at\n   req_offset(prev).\n\n2. If we\u0027re only requesting a minimal layout of length desc-\u003epg_count,\n   we need to test the length actually returned by the server before\n   we allow the coalescing to occur.\n\n3. We need to deal correctly with (pgio-\u003elseg \u003d\u003d NULL)\n\n4. Fixup the test guarding the pnfs_update_layout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "df18d127f4fed7a0284bcfa8d2843800cdb63b72",
      "tree": "a3083c18d3370fd959cbb6d1a654823a2c612068",
      "parents": [
        "5afa9133cfe67f1bfead6049a9640c9262a7101c"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jun 17 16:25:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 19 14:49:51 2011 -0400"
      },
      "message": "pnfs-obj: No longer needed to take an extra ref at add_device\n\nAndy\u0027s last device_cache patches, already take an extra\nreference on the newly inserted device_id. So we can remove it\nfrom obj-io.\n\nWithout this patch the device_ids are leaked.\n\nAndy\u0027s patches are not in Linus tree yet. So I\u0027m not sure if they are\nscheduled for this Kernel or the next. This patch should be added as\npart of these.\n\nCC: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c7fd06228b994190d8369a2a0acf5224e4e13d1a",
      "tree": "984982b02e8e890b5805ec7ed6605bc2afc86635",
      "parents": [
        "d771e3a43e23a37398b7e05a9d1b1036d698263c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jun 15 00:55:44 2011 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:31 2011 -0400"
      },
      "message": "NFS: (d)printks should use %zd for ssize_t arguments\n\n(d)printks should use %zd for ssize_t arguments not %ld, otherwise they might\nget a warning.  I see the following with MN10300.\n\nfs/nfs/objlayout/objlayout.c: In function \u0027objlayout_read_done\u0027:\nfs/nfs/objlayout/objlayout.c:294: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027ssize_t\u0027\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\ncc: linux-nfs@vger.kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9342077011d54f42fa1b88b7bc1f7008dcf5fff9",
      "tree": "88ef803dae5672d8bb40a563a6d2d301ae2e782f",
      "parents": [
        "5b36c7dc41d87d39e779a84fdc2b44b39bba32ca"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed May 25 21:25:29 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 21:03:08 2011 +0300"
      },
      "message": "pnfs-obj: pg_test check for max_io_size\n\nImplement pg_test vector to test for max IO sizes. We calculate\na max_io_size member only once, and cache it in lseg so to not\ndo so on every page insert.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[simplify logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "89a58e32d9105c01022a757fb32ddc3b51bf0025",
      "tree": "fd04ff022a084339868e81fc9a4679667c2b70bd",
      "parents": [
        "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:54:40 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:55 2011 +0300"
      },
      "message": "NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84",
      "tree": "a0936cf11e81969c0f84716ab958cd4728c87f54",
      "parents": [
        "dfed206b8857d41a91ebba030f99e30017a44dda"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 21:03:56 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:54 2011 +0300"
      },
      "message": "NFSv4.1: change pg_test return type to bool\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a0fe8bf427f4987d7b82678292ca03cfd7331467",
      "tree": "d995bd164b03dde89da24af979931c2490fe9414",
      "parents": [
        "ac7db7264ac3314cae09893bc838fcb7e83267a4"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:54:13 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:55:00 2011 +0300"
      },
      "message": "pnfs-obj: objlayout_encode_layoutcommit implementation\n\n* Define API for io-engines to report delta_space_used in IOs\n* Encode the osd-layout specific information of the layoutcommit\n  XDR buffer.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "adb58535e604a564495a7d50dfb0afa0ddc21bcb",
      "tree": "54af4fe9569650342e61dbb314334e3617c48dc2",
      "parents": [
        "04a555498e03b3804e2dec916a4669f5f560e503"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:49:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:45 2011 +0300"
      },
      "message": "pnfs-obj: report errors and .encode_layoutreturn Implementation.\n\nAn io_state pre-allocates an error information structure for each\npossible osd-device that might error during IO. When IO is done if all\nwas well the io_state is freed. (as today). If the I/O has ended with an\nerror, the io_state is queued on a per-layout err_list. When eventually\nencode_layoutreturn() is called, each error is properly encoded on the\nXDR buffer and only then the io_state is removed from err_list and\nde-allocated.\n\nIt is up to the io_engine to fill in the segment that fault and the type\nof osd_error that occurred. By calling objlayout_io_set_result() for\neach failing device.\n\nIn objio_osd:\n* Allocate io-error descriptors space as part of io_state\n* Use generic objlayout error reporting at end of io.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8a1636c459cb7a4b32ba4024cd1b2ba21fba6aed",
      "tree": "f9c46f272b98ceb65f997f226d47da68c6fcac6b",
      "parents": [
        "cbe8260369c9f88eafa035cd327dc3e02fad528c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jul 14 15:43:57 2010 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:36 2011 +0300"
      },
      "message": "pnfs: layoutret_on_setattr\n\nWith the objects layout security model, we have object capabilities\nthat are associated with the layout and we anticipate that the server\nwill issue a cb_layoutrecall for any setattr that changes security\nrelated attributes (user/group/mode/acl) or truncates the file.\n\nTherefore, the layout is returned before issuing the setattr to avoid\nthe anticipated cb_layoutrecall.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "04f83450388e87d86b387cf4a27b81eb7e69de7d",
      "tree": "99c10d6a995ed1e7b872abb0127fc38d6bef9982",
      "parents": [
        "d20581aa4be11407c9eeeb75992df5ef176bba0f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:52:19 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:15 2011 +0300"
      },
      "message": "pnfs-obj: osd raid engine read/write implementation\n\nWith the use of the in-kernel osd library. Implement read/write\nof data from/to osd-objects according to information specified\nin the objects-layout.\n\nSupport for stripping over mirrors with a received stripe_unit.\nThere are however a few constrains which are not supported:\n 1. Stripe Unit must be a multiple of PAGE_SIZE\n 2. stripe length (stripe_unit * number_of_stripes) can not be\n    bigger then 32bit.\n\nAlso support raid-groups and partial-layout. Partial-layout is\nwhen not all the groups are received on the line, addressing\nonly a partial range of the file.\n\nTODO:\n  Only raid0! raid 4/5/6 support will come at later stage\n\nA none supported layout will send IO through the MDS\n\n[Important fallout from the last rebase]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e51b841dd0be9ff53f740c44c32c32679edcb7c8",
      "tree": "03e46d6013fa2a45ad22b3f510267d11e5f8d25a",
      "parents": [
        "636fb9c89d7e216aac3d406e458864420057e981"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:51:48 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:51 2011 +0300"
      },
      "message": "pnfs-obj: define per-inode private structure\n\nallocate and deallocate per-inode private pnfs_layout_hdr\nin preparation for I/O implementation.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b6c05f1693115164c7b797152ac7ea3ef8e5d296",
      "tree": "24430851c2569f4db76b13f41e82514326fbb878",
      "parents": [
        "09f5bf4e6d0607399c16ec7a2d8d166f31086686"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:45:34 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:33 2011 +0300"
      },
      "message": "pnfs-obj: objio_osd device information retrieval and caching\n\nWhen a new layout is received in objio_alloc_lseg all device_ids\nreferenced are retrieved. The device information is queried for from MDS\nand then the osd_device is looked-up from the osd-initiator library. The\ndevices are cached in a per-mount-point list, for later use. At unmount\nall devices are \"put\" back to the library.\n\nobjlayout_get_deviceinfo(), objlayout_put_deviceinfo() middleware\nAPI for retrieving device information given a device_id.\n\nTODO: The device cache can get big. Cap its size. Keep an LRU and start\n      to return devices which were not used, when list gets to big, or\n      when new entries allocation fail.\n\n[pnfs-obj: Bugs in new global-device-cache code]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[use global device cache]\n[use layout driver in global device cache]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "09f5bf4e6d0607399c16ec7a2d8d166f31086686",
      "tree": "767732b80aaa48a97e86af2c6f0ec7a3120219f2",
      "parents": [
        "f1bc893a89d012649e4e7f43575b2c290e08ee42"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:50:20 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:06 2011 +0300"
      },
      "message": "pnfs-obj: decode layout, alloc/free lseg\n\nobjlayout_alloc_lseg prepares an xdr_stream and calls the\nraid engins objio_alloc_lseg() to allocate a private\npnfs_layout_segment.\n\nobjio_osd.c::objio_alloc_lseg() uses passed xdr_stream to\ndecode and store the layout_segment information in an\nobjio_segment struct, using the pnfs_osd_xdr.h API for\nthe actual parsing the layout xdr.\n\nobjlayout_free_lseg calls objio_free_lseg() to free the\nallocated space.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[removed \"extern\" from function definitions]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f1bc893a89d012649e4e7f43575b2c290e08ee42",
      "tree": "2f06cc6c3232292b2dfae6e7e7f3770699f324b4",
      "parents": [
        "38b7c401f6ade50543f246c4bc2c971edf2b19dd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:49:57 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:36 2011 +0300"
      },
      "message": "pnfs-obj: pnfs_osd XDR client implementation\n\n* Add the fs/nfs/objlayout/pnfs_osd_xdr_cli.c file, which will\n  include the XDR encode/decode implementations for the pNFS\n  client objlayout driver.\n\n[Wrong type in comments]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "c93407d03c3ccf60b33a309e5fcd41cd98969901",
      "tree": "9ef9cfb8a2c8dd7ae05960469bfef0d396363dc4",
      "parents": [
        "ae50c0b5c6f6fa340f1fe2d244b358145f7e5a15"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:49:06 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:35 2011 +0300"
      },
      "message": "pnfs-obj: objlayoutdriver module skeleton\n\n* Define the PNFS_OBJLAYOUT Kconfig option in the nfs\n  master Kconfig file.\n* Add the objlayout driver to the Kernel\u0027s Kbuild system.\n* Add the fs/nfs/objlayout/Kbuild file for building the\n  objlayoutdriver.ko driver\n* Define fs/nfs/objlayout/objio_osd.c, register the driver on module\n  initialization and unregister on exit.\n\n[pnfs-obj: remove of CONFIG_PNFS fallout]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[added \"unsure\" clause]\n[depend on NFS_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    }
  ]
}
