1. 27 1月, 2023 1 次提交
  2. 20 9月, 2022 1 次提交
  3. 09 8月, 2022 2 次提交
    • A
      iov_iter: advancing variants of iov_iter_get_pages{,_alloc}() · 1ef255e2
      Al Viro 提交于
      Most of the users immediately follow successful iov_iter_get_pages()
      with advancing by the amount it had returned.
      
      Provide inline wrappers doing that, convert trivial open-coded
      uses of those.
      
      BTW, iov_iter_get_pages() never returns more than it had been asked
      to; such checks in cifs ought to be removed someday...
      Reviewed-by: NJeff Layton <jlayton@kernel.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1ef255e2
    • A
      new iov_iter flavour - ITER_UBUF · fcb14cb1
      Al Viro 提交于
      Equivalent of single-segment iovec.  Initialized by iov_iter_ubuf(),
      checked for by iter_is_ubuf(), otherwise behaves like ITER_IOVEC
      ones.
      
      We are going to expose the things like ->write_iter() et.al. to those
      in subsequent commits.
      
      New predicate (user_backed_iter()) that is true for ITER_IOVEC and
      ITER_UBUF; places like direct-IO handling should use that for
      checking that pages we modify after getting them from iov_iter_get_pages()
      would need to be dirtied.
      
      DO NOT assume that replacing iter_is_iovec() with user_backed_iter()
      will solve all problems - there's code that uses iter_is_iovec() to
      decide how to poke around in iov_iter guts and for that the predicate
      replacement obviously won't suffice.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      fcb14cb1
  4. 15 7月, 2022 1 次提交
  5. 11 6月, 2022 1 次提交
  6. 18 4月, 2022 1 次提交
  7. 08 3月, 2022 1 次提交
  8. 02 2月, 2022 1 次提交
  9. 26 10月, 2021 1 次提交
  10. 18 10月, 2021 1 次提交
  11. 10 4月, 2021 1 次提交
  12. 27 2月, 2021 1 次提交
  13. 25 2月, 2021 1 次提交
  14. 25 1月, 2021 2 次提交
  15. 09 10月, 2020 3 次提交
  16. 07 10月, 2020 1 次提交
  17. 01 7月, 2020 1 次提交
  18. 10 6月, 2020 1 次提交
  19. 28 5月, 2020 1 次提交
  20. 13 5月, 2020 1 次提交
  21. 05 1月, 2020 1 次提交
  22. 01 12月, 2019 1 次提交
  23. 15 10月, 2019 1 次提交
  24. 29 6月, 2019 1 次提交
  25. 21 5月, 2019 1 次提交
  26. 30 4月, 2019 1 次提交
  27. 15 2月, 2019 1 次提交
  28. 22 1月, 2019 1 次提交
  29. 30 11月, 2018 1 次提交
    • M
      fs: fix lost error code in dio_complete · 41e817bc
      Maximilian Heyne 提交于
      commit e2592217 ("fs: simplify the
      generic_write_sync prototype") reworked callers of generic_write_sync(),
      and ended up dropping the error return for the directio path. Prior to
      that commit, in dio_complete(), an error would be bubbled up the stack,
      but after that commit, errors passed on to dio_complete were eaten up.
      
      This was reported on the list earlier, and a fix was proposed in
      https://lore.kernel.org/lkml/20160921141539.GA17898@infradead.org/, but
      never followed up with.  We recently hit this bug in our testing where
      fencing io errors, which were previously erroring out with EIO, were
      being returned as success operations after this commit.
      
      The fix proposed on the list earlier was a little short -- it would have
      still called generic_write_sync() in case `ret` already contained an
      error. This fix ensures generic_write_sync() is only called when there's
      no pending error in the write. Additionally, transferred is replaced
      with ret to bring this code in line with other callers.
      
      Fixes: e2592217 ("fs: simplify the generic_write_sync prototype")
      Reported-by: NRavi Nankani <rnankani@amazon.com>
      Signed-off-by: NMaximilian Heyne <mheyne@amazon.de>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      CC: Torsten Mehlan <tomeh@amazon.de>
      CC: Uwe Dannowski <uwed@amazon.de>
      CC: Amit Shah <aams@amazon.de>
      CC: David Woodhouse <dwmw@amazon.co.uk>
      CC: stable@vger.kernel.org
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      41e817bc
  30. 26 11月, 2018 1 次提交
    • J
      block: make blk_poll() take a parameter on whether to spin or not · 0a1b8b87
      Jens Axboe 提交于
      blk_poll() has always kept spinning until it found an IO. This is
      fine for SYNC polling, since we need to find one request we have
      pending, but in preparation for ASYNC polling it can be beneficial
      to just check if we have any entries available or not.
      
      Existing callers are converted to pass in 'spin == true', to retain
      the old behavior.
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      0a1b8b87
  31. 08 11月, 2018 1 次提交
  32. 24 10月, 2018 1 次提交
  33. 14 5月, 2018 1 次提交
  34. 06 4月, 2018 1 次提交
  35. 13 3月, 2018 2 次提交