xfs
[Top] [All Lists]

Re: LVM+RAID5 Oops on snapshot creation

To: Matteo Centonza <matteo@xxxxxx>
Subject: Re: LVM+RAID5 Oops on snapshot creation
From: "Martin K. Petersen" <mkp@xxxxxxxxxxxxx>
Date: 04 Jun 2001 06:53:55 -0400
Cc: <linux-xfs@xxxxxxxxxxx>
In-reply-to: <Pine.LNX.4.33.0106041109450.9508-200000@quasar.sif.it>
Organization: Linuxcare, Inc.
References: <Pine.LNX.4.33.0106041109450.9508-200000@quasar.sif.it>
Sender: owner-linux-xfs@xxxxxxxxxxx
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Copyleft)
>>>>> "Matteo" == Matteo Centonza <matteo@xxxxxx> writes:

Matteo> I've also applied changes in lvm.c (get_hardsect_size). 

The sector size changes in recent kernels are likely to be the
culprit.

Just got back from a couple of weeks on vacation, so I haven't
followed the merge closely.  I'll have a look later today.  If you
could mail me your lvm.c that would be great.


Matteo> The system seems to be very stable, even under heavy load,
Matteo> mixing local and remote access, except for the snapshot that
Matteo> triggers the Oops in attachment. This problem seems not to
Matteo> affect a bare LVM configuration.

Every time we switch block sizes, the RAID5 code has to flush its
stripe cache.  And there seem to be something nasty going on there
after the merge.


Matteo> I've also tested with ext2 and seems to run fine.

ext2 sticks to one block size, while XFS switches between 512 bytes
and the fs block size all the time.  Before I went on vacation I had a
cunning plan of revamping the stripe cache so it would stick to one
size and handle merging internally.  That way we could avoid flushing
the cache all the time at the cost of copying things around a bit.
I'll probably try and hack this up and measure whether it is a win or
not.

In any case I'll poke a bit at the block size changes in the 2.4.5
tree and see what happens...

-- 
Martin K. Petersen, Principal Linux Consultant, Linuxcare, Inc.
mkp@xxxxxxxxxxxxx, http://www.linuxcare.com/
SGI XFS for Linux Developer, http://oss.sgi.com/projects/xfs/

<Prev in Thread] Current Thread [Next in Thread>