[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [RFC, PATCH] remove signal handling from dm-io.c, sync_io()
- From: Dave Olien <dmo osdl org>
- To: kevcorry us ibm com, agk redhat com
- Cc: dm-devel redhat com
- Subject: Re: [dm-devel] [RFC, PATCH] remove signal handling from dm-io.c, sync_io()
- Date: Thu, 10 Jun 2004 19:36:34 -0700
On Thu, Jun 10, 2004 at 09:24:01PM -0500, Kevin Corry wrote:
>
> 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().
You're right again. The BUG() in sync_io() was only for READs.
That was the one I was referring to.
I agree with making that an error case, as you did in your
patch. How about making async_io() also fail for READS
to multiple regions.... just for symmetry?
Sorry for any confusion. I'm guilty of typing before looking carefully.
>
> > 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.
Actually, ONE extra bvec is for storing the region number. The code
adds an ADDITONAL bvec I think because of the way it's handling offsets
into pages. I'm thinking of at re-writing do_region(), patterning
it after the code in __bio_map_user().
I'm going to be out a lot tomorrow, so I'll probably be working
on this some over the week end. Maybe I'll have something for review
by Monday.
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]