1. 03 11月, 2011 2 次提交
    • B
      pnfs-obj: Get rid of objlayout_{alloc,free}_io_state · 96218556
      Boaz Harrosh 提交于
      This is part of moving objio_osd to use the ORE.
      
      objlayout_io_state had two functions:
      1. It was used in the error reporting mechanism at layout_return.
         This function is kept intact.
         (Later patch will rename objlayout_io_state => objlayout_io_res)
      2. Carrier of rw io members into the objio_read/write_paglist API.
         This is removed in this patch.
      
      The {r,w}data received from NFS are passed directly to the
      objio_{read,write}_paglist API. The io_engine is now allocating
      it's own IO state as part of the read/write. The minimal
      functionality that was part of the generic allocation is passed
      to the io_engine.
      
      So part of this patch is rename of:
      	ios->ol_state.foo => ios->foo
      
      At objlayout_{read,write}_done an objlayout_io_state is passed that
      denotes the result of the IO. (Hence the later name change).
      If the IO is successful objlayout calls an objio_free_result() API
      immediately (Which for objio_osd causes the release of the io_state).
      If the IO ended in an error it is hanged onto until reported in
      layout_return and is released later through the objio_free_result()
      API. (All this is not new just renamed and cleaned)
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      96218556
    • B
      pnfs-obj: Return PNFS_NOT_ATTEMPTED in case of read/write_pagelist · e6c40fe3
      Boaz Harrosh 提交于
      objlayout driver was always returning PNFS_ATTEMPTED from it's
      read/write_pagelist operations. Even on error. Fix that.
      
      Start by establishing an error return API from io-engine, by
      not returning ssize_t (length-or-error) but returning "int"
      0=OK, 0>Error. And clean up all return types in io-engine.
      
      Then if io-engine returned error return PNFS_NOT_ATTEMPTED
      to generic layer. (With a dprint)
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      e6c40fe3
  2. 04 8月, 2011 2 次提交
    • B
      pnfs-obj: Fix the comp_index != 0 case · 9af7db32
      Boaz Harrosh 提交于
      There were bugs in the case of partial layout where olo_comp_index
      is not zero. This used to work and was tested but one of the later
      cleanup SQUASHMEs broke it and was not tested since.
      
      Also add a dprint that specify those received layout parameters.
      Everything else was already printed.
      
      [Needed in v3.0]
      CC: Stable Tree <stable@kernel.org>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      9af7db32
    • B
      pnfs-obj: Bug when we are running out of bio · 20618b21
      Boaz Harrosh 提交于
      When we have a situation that the number of pages we want
      to encode is bigger then the size of the bio. (Which can
      currently happen only when all IO is going to a single device
      .e.g group_width==1) then the IO is submitted short and we
      report back only the amount of bytes we actually wrote/read
      and all is fine. BUT ...
      
      There was a bug that the current length counter was advanced
      before the fail to add the extra page, and we come to a situation
      that the CDB length was one-page longer then the actual bio size,
      which is of course rejected by the osd-target.
      
      While here also fix the bio size calculation, in the case
      that we received more then one group of devices.
      
      CC: Stable Tree <stable@kernel.org>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      20618b21
  3. 16 7月, 2011 1 次提交
  4. 15 7月, 2011 2 次提交
  5. 13 7月, 2011 3 次提交
  6. 21 6月, 2011 1 次提交
    • T
      NFSv4.1: Fix some issues with pnfs_generic_pg_test · 8f7d5efb
      Trond Myklebust 提交于
      1. If the intention is to coalesce requests 'prev' and 'req' then we
         have to ensure at least that we have a layout starting at
         req_offset(prev).
      
      2. If we're only requesting a minimal layout of length desc->pg_count,
         we need to test the length actually returned by the server before
         we allow the coalescing to occur.
      
      3. We need to deal correctly with (pgio->lseg == NULL)
      
      4. Fixup the test guarding the pnfs_update_layout.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      8f7d5efb
  7. 20 6月, 2011 1 次提交
  8. 30 5月, 2011 11 次提交
  9. 05 1月, 2011 2 次提交
  10. 10 5月, 2007 1 次提交
  11. 17 2月, 2007 1 次提交
  12. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4