1. 01 May, 2006 3 commits
    • Jens Axboe's avatar
      [PATCH] Add ->splice_read/splice_write to def_blk_fops · 7f9c51f0
      Jens Axboe authored
      It can use the generic handlers.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      7f9c51f0
    • Jens Axboe's avatar
      [PATCH] pipe: introduce ->pin() buffer operation · f84d7519
      Jens Axboe authored
      The ->map() function is really expensive on highmem machines right now,
      since it has to use the slower kmap() instead of kmap_atomic(). Splice
      rarely needs to access the virtual address of a page, so it's a waste
      of time doing it.
      
      Introduce ->pin() to take over the responsibility of making sure the
      page data is valid. ->map() is then reduced to just kmap(). That way we
      can also share a most of the pipe buffer ops between pipe.c and splice.c
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      f84d7519
    • Jens Axboe's avatar
      [PATCH] splice: fix bugs in pipe_to_file() · 0568b409
      Jens Axboe authored
      Found by Oleg Nesterov <oleg@tv-sign.ru>, fixed by me.
      
      - Only allow full pages to go to the page cache.
      - Check page != buf->page instead of using PIPE_BUF_FLAG_STOLEN.
      - Remember to clear 'stolen' if add_to_page_cache() fails.
      
      And as a cleanup on that:
      
      - Make the bottom fall-through logic a little less convoluted. Also make
        the steal path hold an extra reference to the page, so we don't have
        to differentiate between stolen and non-stolen at the end.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      0568b409
  2. 30 Apr, 2006 3 commits
  3. 29 Apr, 2006 5 commits
  4. 28 Apr, 2006 29 commits