[dm-devel] [RFC, PATCH] remove signal handling from dm-io.c, sync_io()
Kevin Corry
kevcorry at us.ibm.com
Fri Jun 11 02:24:01 UTC 2004
On Thursday 10 June 2004 21:04, Dave Olien wrote:
> Yup, you're right. I guess that explains why the async_io() routine
> doesn't have the same BUG() calls. All the raid1 calls are to async_io().
Now I'm not sure which BUG() call you're referring to. The sync_io() and
async_io() routines both eventually go through the same common code,
dispatch_io(). I was assuming you were referring to the BUG() statement in
bvec_index(), called from bio_set_alloc(), called from dispatch_io().
> I'll put some thought into NOT using the bio_vec array to store
> the region number.
I'll definitely agree that it would be nice to find a better way to store the
region number than allocating two extra bvecs. That is definitely why
snapshot chunks cannot go up to 1024k. I recall tracking this down when you
first reported the snapshot chunk-size problem a while back.
> So if the multi-region code works for async_io(), is there any reason
> we shouldn't just remove the BUG() calls from sync_io(), to keep
> the interfaces symmetric?
Again, I'm not sure which BUG() you're referring to here. My patch earlier
removed one from sync_io(), but that was simply a check to make sure no one
was trying to *read* to multiple regions at the same time (which should be
handled by returning an error instead of BUG()ing).
--
Kevin Corry
kevcorry at us.ibm.com
http://evms.sourceforge.net
More information about the dm-devel
mailing list