Hi, On Tue, Jan 22, 2002 at 08:22:25AM -0500, Coffin Michael C wrote:
> I'm planning on implementing LVM and wasn't aware that there were an > instabilities. Can you comment on what instabilities exist at this time? > Are they platform (S/390) specific? I've started looking at it more closely, mainly because I'm the author of ext3 and had been getting bug reports involving ext3 running on LVM. I discovered a couple of places in LVM which specifically affected ext3 in ways it didn't affect ext2. As ext3's author, that becomes a problem, so I started digging to see if it could be fixed easily. The results were not pretty, but the problems do look fixable. Unfortunately, some of the problems I uncovered were definitely not ext3-specific. The biggest problem seems to be pvmove on live volumes. That basically is just not reliable on LVM right now. The locking relies on fsync_dev() flushing all IO on the LV device, but that function does not flush IO from certain special sources, including swap, raw or direct IO, and ext3's journal. Basically, anything that doesn't use the normal buffer cache for writes will break LVM's lockings. pvmove is also deadlock prone, and it is not cache coherent with live filesystems (it performs partition moves via buffered IO to the physical devices, without making sure that those devices are coherent with the logical devices on top of them.) I've got a proof-of-concept fix for the IO locking now, and have started to attack the other two problems. The good news is that the new "device-mapper" LVM layer that Joe Thornber is working on looks as if it fixes all of these problems cleanly. Cheers, Stephen
