Re: [PATCH 3/6] aio/dio: enable PI passthrough

2014-04-02 Thread Darrick J. Wong
On Wed, Apr 02, 2014 at 03:33:11PM -0700, Zach Brown wrote: > > One thing I'm not sure about: What's the largest IO (in terms of # of > > blocks, > > not # of struct iovecs) that I can throw at the kernel? > > Yeah, dunno. I'd guess big :). I'd hope that the PI code already has a > way to clamp

Re: [PATCH 3/6] aio/dio: enable PI passthrough

2014-04-02 Thread Zach Brown
> One thing I'm not sure about: What's the largest IO (in terms of # of blocks, > not # of struct iovecs) that I can throw at the kernel? Yeah, dunno. I'd guess big :). I'd hope that the PI code already has a way to clamp the size of bios if there's a limit to the size of PI data that can be man

Re: [PATCH 3/6] aio/dio: enable PI passthrough

2014-04-02 Thread Darrick J. Wong
On Wed, Apr 02, 2014 at 01:01:33PM -0700, Zach Brown wrote: > > +static int setup_pi_ext(struct kiocb *req, int is_write) > > +{ > > + struct file *file = req->ki_filp; > > + struct io_extension *ext = &req->ki_ioext->ke_kern; > > + void *p; > > + unsigned long start, end; > > + int retva

Re: [PATCH 3/6] aio/dio: enable PI passthrough

2014-04-02 Thread Zach Brown
> +static int setup_pi_ext(struct kiocb *req, int is_write) > +{ > + struct file *file = req->ki_filp; > + struct io_extension *ext = &req->ki_ioext->ke_kern; > + void *p; > + unsigned long start, end; > + int retval; > + > + if (!(file->f_flags & O_DIRECT)) { > +

[PATCH 3/6] aio/dio: enable PI passthrough

2014-03-24 Thread Darrick J. Wong
Provide an IO extension handler that attaches PI data from the io extension structure to a kiocb, then teach directio how to attach the pages representing the PI buffer directly to a bio. Signed-off-by: Darrick J. Wong --- Documentation/block/data-integrity.txt | 11 fs/aio.c