1. 26 3月, 2016 1 次提交
    • A
      orangefs: fix orangefs_superblock locking · 45996492
      Al Viro 提交于
      * switch orangefs_remount() to taking ORANGEFS_SB(sb) instead of sb
      * remove from the list _before_ orangefs_unmount() - request_mutex
      in the latter will make sure that nothing observed in the loop in
      ORANGEFS_DEV_REMOUNT_ALL handling will get freed until the end
      of loop
      * on removal, keep the forward pointer and zero the back one.  That
      way we can drop and regain the spinlock in the loop body (again,
      ORANGEFS_DEV_REMOUNT_ALL one) and still be able to get to the
      rest of the list.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NMike Marshall <hubcap@omnibond.com>
      45996492
  2. 15 3月, 2016 1 次提交
  3. 10 3月, 2016 1 次提交
  4. 04 3月, 2016 1 次提交
  5. 27 2月, 2016 1 次提交
  6. 26 2月, 2016 1 次提交
  7. 25 2月, 2016 1 次提交
  8. 20 2月, 2016 5 次提交
  9. 05 2月, 2016 1 次提交
  10. 24 1月, 2016 10 次提交
  11. 20 1月, 2016 1 次提交
  12. 14 1月, 2016 1 次提交
    • M
      Orangefs: implement .write_iter · b3ae4755
      Mike Marshall 提交于
      Until now, orangefs_devreq_write_iter has just been a wrapper for
      the old-fashioned orangefs_devreq_writev... linux would call
      .write_iter with "struct kiocb *iocb" and "struct iov_iter *iter"
      and .write_iter would just:
      
              return pvfs2_devreq_writev(iocb->ki_filp,
                                         iter->iov,
                                         iter->nr_segs,
                                         &iocb->ki_pos);
      Signed-off-by: NMike Marshall <hubcap@omnibond.com>
      b3ae4755
  13. 05 1月, 2016 1 次提交
  14. 18 12月, 2015 1 次提交
  15. 16 12月, 2015 1 次提交
  16. 15 12月, 2015 2 次提交
    • M
      Orangefs: Don't wait the old-fashioned way. · ce6c414e
      Mike Marshall 提交于
      Get rid of add_wait_queue, set_current_state, etc, and use the
      wait_event() model.
      Signed-off-by: NMike Marshall <hubcap@omnibond.com>
      ce6c414e
    • M
      Orangefs: de-uglify orangefs_devreq_writev, and devorangefs-req.c in general · 97f10027
      Mike Marshall 提交于
      AV dislikes many parts of orangefs_devreq_writev. Besides making
      orangefs_devreq_writev more easily readable and better commented,
      this patch makes an effort to address some of the problems:
      
       > The 5th is quietly ignored unless trailer_size is positive and
       > status is zero. If trailer_size > 0 && status == 0, you verify that
       > the length of the 5th segment is no more than trailer_size and copy
       > it to vmalloc'ed buffer. Without bothering to zero the rest of that
       > buffer out.
      
      It was just wrong to allow a 5th segment that is not exactly equal to
      trailer_size. Now that that's fixed, there's nothing to zero out in
      the vmalloced buffer - it is exactly the right size to hold the
      5th segment.
      
       > Another API bogosity: when the 5th segment is present, successful writev()
       > returns the sum of sizes of the first 4.
      
      Added size of 5th segment to writev return...
      
       > if concatenation of the first 4 segments is longer than
       > 16 + sizeof(struct pvfs2_downcall_s) by no more than sizeof(long) => whine
       > and proceed with garbage.
      
      If 4th segment isn't exactly sizeof(struct pvfs2_downcall_s), whine and fail.
      
       > if the 32bit value 4 bytes into op->downcall is zero and 64bit
       > value following it is non-zero, the latter is interpreted as the size of
       > trailer data.
      
      The latter is what userspace claimed was the length of the trailer data.
      The kernel module now compares it to the trailer iovec's iov_len as a
      sanity check.
      
       > if there's no trailer, the 5th segment (if present) is completely ignored.
      
      Whine and fail if there should be no trailer, yet a 5th segment is present.
      
       > if vmalloc fails, act as if status (32bit at offset 5 into
       > op->downcall) had been -ENOMEM and don't look at the 5th segment at all.
      
      whine and fail with -ENOMEM.
      Signed-off-by: NMike Marshall <hubcap@omnibond.com>
      97f10027
  17. 05 12月, 2015 1 次提交
  18. 04 12月, 2015 1 次提交
  19. 14 11月, 2015 4 次提交
  20. 06 10月, 2015 1 次提交
  21. 03 10月, 2015 3 次提交