Messages in this thread Patch in this message | | | Date | Fri, 31 Aug 2001 11:20:20 +0200 | From | Jens Axboe <> | Subject | Re: A possible direction for the next LVM driver |
| |
On Thu, Aug 30 2001, Joe Thornber wrote: > Hi, > > I'm working on the next iteration of the LVM driver, specifically > trying to address the critism directed at the rather ugly ioctl > interface. The code has reached the stage where it works and it's > possible to see what I'm aiming for. I would appreciate it if people > could spare the time to review this and give me feedback. If there is > general agreement that this is moving in the right direction then the > next major version of LVM may be based around a future version of this > driver. Please CC me in replies. The code can be found at: > > ftp://ftp.sistina.com/pub/LVM2/device-mapper/device-mapper.tar.bz2
Looks interesting, here's patch to fix possible infinite loop in your make_request_fn. Another quick note -- you might want to consider slab'ifying the io_hook allocation/deallocation...
-- Jens Axboe
--- dm.c~ Fri Aug 31 11:15:24 2001 +++ dm.c Fri Aug 31 11:16:36 2001 @@ -346,7 +346,7 @@ int r, minor = MINOR(bh->b_rdev); if (minor >= MAX_DEVICES) - return -ENXIO; + goto bad_rl; rl; md = _devs[minor]; @@ -359,10 +359,8 @@ ru; r = queue_io(md, bh, rw); - if (r < 0) { - buffer_IO_error(bh); - return 0; - + if (r < 0) + goto bad_rl; } else if (r > 0) return 0; /* deferred successfully */ @@ -377,6 +375,7 @@ bad: ru; + bad_rl: buffer_IO_error(bh); return 0; } | |