)]}'
{
  "log": [
    {
      "commit": "1385b8117325e79f74c1e7d1cbf45c789deb85c5",
      "tree": "b1afbd0a9ecd49d29621d1c931d685d705e285d7",
      "parents": [
        "bf5fc4028ef751904a114ffc4b5d2cd9f0233142"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 04 13:54:24 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 04 14:59:51 2012 -0400"
      },
      "message": "NFS: Fix sparse warnings\n\nFix the following sparse warnings:\n\nfs/nfs/direct.c:221:6: warning: symbol \u0027nfs_direct_readpage_release\u0027 was\nnot declared. Should it be static?\nfs/nfs/read.c:38:43: warning: non-ANSI function declaration of function\n\u0027nfs_readhdr_alloc\u0027\nfs/nfs/objlayout/objio_osd.c:214:5: warning: symbol \u0027__alloc_objio_seg\u0027\nwas not declared. Should it be static?\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "cd841605f7a721878d8a2d1362484723d8abf569",
      "tree": "b5c37db575cd545a183577249909e042fe38d646",
      "parents": [
        "b5542849764aa56fd3f05c0041195b637b9d2ac2"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:44 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: create common nfs_pgio_header for both read and write\n\nIn order to avoid duplicating all the data in nfs_read_data whenever we\nsplit it up into multiple RPC calls (either due to a short read result\nor due to rsize \u003c PAGE_SIZE), we split out the bits that are the same\nper RPC call into a separate \"header\" structure.\n\nThe goal this patch moves towards is to have a single header\nrefcounted by several rpc_data structures.  Thus, want to always refer\nfrom rpc_data to the header, and not the other way.  This patch comes\nclose to that ideal, but the directio code currently needs some\nspecial casing, isolated in the nfs_direct_[read_write]hdr_release()\nfunctions.  This will be dealt with in a future patch.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9526b2b6d6b9f183b66cf21c4afa6e79d5a14f44",
      "tree": "d06b4a2020bd96c6c8fcb9aa306ccd7c93445637",
      "parents": [
        "1aba1567637b93eee32253b42deaaad381c3175b"
      ],
      "author": {
        "name": "Sachin Bhamare",
        "email": "sbhamare@panasas.com",
        "time": "Fri Mar 30 14:29:59 2012 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 26 12:15:51 2012 -0400"
      },
      "message": "pnfs-obj: Remove unused variable from objlayout_get_deviceinfo()\n\nLocal variable \u0027sb\u0027 was not being used in objlayout_get_deviceinfo().\n\nSigned-off-by: Sachin Bhamare \u003csbhamare@panasas.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18d98f6c04991dd3c12acf6f39cea40e9510640a",
      "tree": "2057833de8c2c6bb4e3530eed44249b3941b99d8",
      "parents": [
        "c6bfa1a16377b42496ecc0490a33516c0e414e7b"
      ],
      "author": {
        "name": "Sachin Bhamare",
        "email": "sbhamare@panasas.com",
        "time": "Mon Mar 19 20:47:58 2012 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:47 2012 -0400"
      },
      "message": "pnfs-obj: autologin: Add support for protocol autologin\n\nThe pnfs-objects protocol mandates that we autologin into devices not\npresent in the system, according to information specified in the\nget_device_info returned from the server.\n\nThe Protocol specifies two login hints.\n1. An IP address:port combination\n2. A string URI which is constructed as a URL with a protocol prefix\n   followed by :// and a string as address. For each  protocol prefix\n   the string-address format might be different.\n\nWe only support the second option. The first option is just redundant\nto the second one.\nNOTE: The Kernel part of autologin does not parse the URI string. It\njust channels it to a user-mode script. So any new login protocols should\nonly update the user-mode script which is a part of the nfs-utils package,\nbut the Kernel need not change.\n\nWe implement the autologin by using the call_usermodehelper() API.\n(Thanks to Steve Dickson \u003csteved@redhat.com\u003e for pointing it out)\nSo there is no running daemon needed, and/or special setup.\n\nWe Add the osd_login_prog Kernel module parameters which defaults to:\n\t/sbin/osd_login\n\nKernel try\u0027s to upcall the program specified in osd_login_prog. If the file is\nnot found or the execution fails Kernel will disable any farther upcalls, by\nzeroing out  osd_login_prog, Until Admin re-enables it by setting the\nosd_login_prog parameter to a proper program.\n\nAlso add text about the osd_login program command line API to:\n\tDocumentation/filesystems/nfs/pnfs.txt\nand documentation of the new  osd_login_prog  module parameter to:\n\tDocumentation/kernel-parameters.txt\n\nTODO: Add timeout option in the case osd_login program gets\n              stuck\n\nSigned-off-by: Sachin Bhamare \u003csbhamare@panasas.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5318a29c1943e9719e71495db6efb6fc084a45a9",
      "tree": "b274e3c6c2edc30abf2a0fc8d10eabffbf9598e1",
      "parents": [
        "e138ead73f872559778bb0c326e795206f96d3ce"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 13 20:44:26 2012 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 13 23:47:59 2012 -0400"
      },
      "message": "pnfs-obj: Uglify objio_segment allocation for the sake of the principle :-(\n\nAt some past instance Linus Trovalds wrote:\n\u003e From: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\u003e commit a84a79e4d369a73c0130b5858199e949432da4c6 upstream.\n\u003e\n\u003e The size is always valid, but variable-length arrays generate worse code\n\u003e for no good reason (unless the function happens to be inlined and the\n\u003e compiler sees the length for the simple constant it is).\n\u003e\n\u003e Also, there seems to be some code generation problem on POWER, where\n\u003e Henrik Bakken reports that register r28 can get corrupted under some\n\u003e subtle circumstances (interrupt happening at the wrong time?).  That all\n\u003e indicates some seriously broken compiler issues, but since variable\n\u003e length arrays are bad regardless, there\u0027s little point in trying to\n\u003e chase it down.\n\u003e\n\u003e \"Just don\u0027t do that, then\".\n\nSince then any use of \"variable length arrays\" has become blasphemous.\nEven in perfectly good, beautiful, perfectly safe code like the one\nbelow where the variable length arrays are only used as a sizeof()\nparameter, for type-safe dynamic structure allocations. GCC is not\nexecuting any stack allocation code.\n\nI have produced a small file which defines two functions main1(unsigned numdevs)\nand main2(unsigned numdevs). main1 uses code as before with call to malloc\nand main2 uses code as of after this patch. I compiled it as:\n\tgcc -O2 -S see_asm.c\nand here is what I get:\n\n\u003csee_asm.s\u003e\nmain1:\n.LFB7:\n\t.cfi_startproc\n\tmov\t%edi, %edi\n\tleaq\t4(%rdi,%rdi), %rdi\n\tsalq\t$3, %rdi\n\tjmp\tmalloc\n\t.cfi_endproc\n.LFE7:\n\t.size\tmain1, .-main1\n\t.p2align 4,,15\n\t.globl\tmain2\n\t.type\tmain2, @function\nmain2:\n.LFB8:\n\t.cfi_startproc\n\tmov\t%edi, %edi\n\taddq\t$2, %rdi\n\tsalq\t$4, %rdi\n\tjmp\tmalloc\n\t.cfi_endproc\n.LFE8:\n\t.size\tmain2, .-main2\n\t.section\t.text.startup,\"ax\",@progbits\n\t.p2align 4,,15\n\u003c/see_asm.s\u003e\n\n*Exact* same code !!!\n\nSo please seriously consider not accepting this patch and leave the\nperfectly good code intact.\n\nCC: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "17280175c587469b34757263c7cfc608f0ea2334",
      "tree": "34a3008bfd1055e9fdb0557ea563484b67433797",
      "parents": [
        "5ffaf8554163d9f3873988ce2f9977f6c6f408d2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 13:11:00 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 15:14:16 2012 -0400"
      },
      "message": "NFS: Fix a number of sparse warnings\n\nFix a number of \"warning: symbol \u0027foo\u0027 was not declared. Should it be\nstatic?\" conditions.\n\nFix 2 cases of \"warning: Using plain integer as NULL pointer\"\n\nfs/nfs/delegation.c:263:31: warning: restricted fmode_t degrades to integer\n  - We want to allow upgrades to a WRITE delegation, but should otherwise\n    consider servers that hand out duplicate delegations to be borken.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a030889a01d1bea921e1a7501010b7b891d2abd2",
      "tree": "4e76ec42bbdd41682e6cea5541f305c2f1275e99",
      "parents": [
        "f9fd2d9c1f3b512c9794abbbd76c77a6e6de57aa"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Thu Jan 26 13:32:23 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 18:48:00 2012 -0500"
      },
      "message": "NFS: start printks w/ NFS: even if __func__ shown\n\nThis patch addresses printks that have some context to show that they are\nfrom fs/nfs/, but for the sake of consistency now start with NFS:\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe0fe83585f88346557868a803a479dfaaa0688a",
      "tree": "eabe7943ec5970936664dfd2b2e86e75c2c4b253",
      "parents": [
        "5c0b4129c07b902b27d3f3ebc087757f534a3abd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jan 06 09:31:20 2012 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 08:55:33 2012 -0500"
      },
      "message": "pnfs-obj: Must return layout on IO error\n\nAs mandated by the standard. In case of an IO error, a pNFS\nobjects layout driver must return it\u0027s layout. This is because\nall device errors are reported to the server as part of the\nlayout return buffer.\n\nThis is implemented the same way PNFS_LAYOUTRET_ON_SETATTR\nis done, through a bit flag on the pnfs_layoutdriver_type-\u003eflags\nmember. The flag is set by the layout driver that wants a\nlayout_return preformed at pnfs_ld_{write,read}_done in case\nof an error.\n(Though I have not defined a wrapper like pnfs_ld_layoutret_on_setattr\n because this code is never called outside of pnfs.c and pnfs IO\n paths)\n\nWithout this patch 3.[0-2] Kernels leak memory and have an annoying\nWARN_ON after every IO error utilizing the pnfs-obj driver.\n\n[This patch is for 3.2 Kernel. 3.1/0 Kernels need a different patch]\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": "5c0b4129c07b902b27d3f3ebc087757f534a3abd",
      "tree": "e151131804faa70f79baf4ae35d550f638ee22c4",
      "parents": [
        "0aaaf5c424c7ffd6b0c4253251356558b16ef3a2"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jan 06 09:28:12 2012 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 08:55:23 2012 -0500"
      },
      "message": "pnfs-obj: pNFS errors are communicated on iodata-\u003epnfs_error\n\nSome time along the way pNFS IO errors were switched to\ncommunicate with a special iodata-\u003epnfs_error member instead\nof the regular RPC members. But objlayout was not switched\nover.\n\nFix that!\nWithout this fix any IO error is hanged, because IO is not\nswitched to MDS and pages are never cleared or read.\n\n[Applies to 3.2.0. Same bug different patch for 3.1/0 Kernels]\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": "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"
    }
  ]
}
