Re: [Qemu-devel] [PATCH 4/7] block: make discard asynchronous

2013-01-15 Thread Stefan Hajnoczi
On Mon, Jan 14, 2013 at 04:26:55PM +0100, Paolo Bonzini wrote: > +static ssize_t handle_aiocb_discard(RawPosixAIOData *aiocb) > +{ > +int ret = -EOPNOTSUPP; > +BDRVRawState *s = aiocb->bs->opaque; > + > +if (s->has_discard == 0) { > +return 0; > +} > + > +if (aiocb->aio_

[Qemu-devel] [PATCH 4/7] block: make discard asynchronous

2013-01-14 Thread Paolo Bonzini
This is easy with the thread pool, because we can use s->is_xfs and s->has_discard from the worker function. QEMU has a widespread assumption that each I/O operation writes less than 2^32 bytes. This patch doesn't fix it throughout of course, but it starts correcting struct RawPosixAIOData so tha