1. 03 11月, 2011 3 次提交
    • 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
    • B
      pnfs-obj: Remove redundant EOF from objlayout_io_state · 4cdc685c
      Boaz Harrosh 提交于
      The EOF calculation was done on .read_pagelist(), cached
      in objlayout_io_state->eof, and set in objlayout_read_done()
      into nfs_read_data->res.eof.
      
      So set it directly into nfs_read_data->res.eof and avoid
      the extra member.
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      4cdc685c
  2. 02 11月, 2011 1 次提交
    • E
      sysfs: Make sysfs_rename safe with sysfs_dirents in rbtrees. · f6d90b4f
      Eric W. Biederman 提交于
      In sysfs_rename we need to remove the optimization of not calling
      sysfs_unlink_sibling and sysfs_link_sibling if the renamed parent
      directory is not changing.  This optimization is no longer valid now
      that sysfs dirents are stored in an rbtree sorted by name.
      
      Move the assignment of s_ns before the call of sysfs_link_sibling.  With
      no sysfs_dirent fields changing after the call of sysfs_link_sibling
      this allows sysfs_link_sibling to take any of the directory entries into
      account when it builds the rbtrees, and s_ns looks like a prime canidate
      to be used in the rbtree in the future.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Cc: Jiri Slaby <jirislaby@gmail.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: David Miller <davem@davemloft.net>
      Cc: Mikulas Patocka <mpatocka@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f6d90b4f
  3. 01 11月, 2011 14 次提交
  4. 28 10月, 2011 20 次提交
  5. 27 10月, 2011 1 次提交
  6. 26 10月, 2011 1 次提交