From: joe@eiler.net
To: Jens Beyer <jbe@webde-ag.de>
Cc: dm-devel@redhat.com,
LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: Data corruption on large, multi-device filesystem
Date: Tue, 25 Jan 2005 09:37:28 -0800 [thread overview]
Message-ID: <1106674648.41f683d80ea75@www.eiler.net> (raw)
In-Reply-To: <20050121150913.GA16975@pcnocjb.dlan.cinetic.de>
I just thought I would give a quick update on what I have been doing in case
anyone can give me more/better direction.
I incorporated the (sector_t) cast and I also changed stripe_width to sector_t
since my individual devices are bigger than 2TB.
I took lvm out of the equation by using dmsetup and striping together my
devices. Then I created and mounted and XFS filesystem directly on /dev/dm-0
This still caused corruption.
I have compiled hashdd with largefile support and am now letting it run directly
on /dev/dm-0. The write finished last night and I am running the read pass now
(man it takes a long time to to write and verify 4+TB)
I have also been putting some debug statements in stripe_map() but this hasn't
shown me anything useful yet.
Joe
Quoting Jens Beyer <jbe@webde-ag.de>:
>
> Hi,
>
> On Thu, Jan 20, 2005 at 05:59:00PM +0000, Alasdair G Kergon wrote:
> > On Thu, Jan 20, 2005 at 09:06:44AM -0500, Randall A. Jones wrote:
> > > To verify, this corruption you are seeing only happens when you have a
> > > LV larger than 2TB
> > > and when you use striping specifically with lvcreate -i.
> > > Has anyone experienced data corruption with >2TB LV and no striping?
> >
> > Does this patch help?
> >
>
> No, it doesn't. I just checked multiple times in different setups.
> To address the 'chunksize' Problem mentioned i used lvcreate -i 3 -I 256 .
>
> Jens
>
>
> >
> > Missing cast causing data corruption on devices with stripes > ~1TB.
> > --- diff/drivers/md/dm-stripe.c 2005-01-20 17:32:37.000000000 +0000
> > +++ source/drivers/md/dm-stripe.c 2005-01-20 17:32:26.000000000 +0000
> > @@ -179,7 +179,7 @@
> >
> > bio->bi_bdev = sc->stripe[stripe].dev->bdev;
> > bio->bi_sector = sc->stripe[stripe].physical_start +
> > - (chunk << sc->chunk_shift) + (offset & sc->chunk_mask);
> > + ((sector_t) chunk << sc->chunk_shift) + (offset & sc->chunk_mask);
> > return 1;
> > }
> >
> >
>
>
> --
> Nur tote Fische schwimmen mit dem Strom
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm@redhat.com
> https://www.redhat.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
WARNING: multiple messages have this Message-ID (diff)
From: joe@eiler.net
To: LVM general discussion and development <linux-lvm@redhat.com>,
Jens Beyer <jbe@webde-ag.de>
Cc: dm-devel@redhat.com
Subject: Re: [linux-lvm] Data corruption on large, multi-device filesystem
Date: Tue, 25 Jan 2005 09:37:28 -0800 [thread overview]
Message-ID: <1106674648.41f683d80ea75@www.eiler.net> (raw)
In-Reply-To: <20050121150913.GA16975@pcnocjb.dlan.cinetic.de>
I just thought I would give a quick update on what I have been doing in case
anyone can give me more/better direction.
I incorporated the (sector_t) cast and I also changed stripe_width to sector_t
since my individual devices are bigger than 2TB.
I took lvm out of the equation by using dmsetup and striping together my
devices. Then I created and mounted and XFS filesystem directly on /dev/dm-0
This still caused corruption.
I have compiled hashdd with largefile support and am now letting it run directly
on /dev/dm-0. The write finished last night and I am running the read pass now
(man it takes a long time to to write and verify 4+TB)
I have also been putting some debug statements in stripe_map() but this hasn't
shown me anything useful yet.
Joe
Quoting Jens Beyer <jbe@webde-ag.de>:
>
> Hi,
>
> On Thu, Jan 20, 2005 at 05:59:00PM +0000, Alasdair G Kergon wrote:
> > On Thu, Jan 20, 2005 at 09:06:44AM -0500, Randall A. Jones wrote:
> > > To verify, this corruption you are seeing only happens when you have a
> > > LV larger than 2TB
> > > and when you use striping specifically with lvcreate -i.
> > > Has anyone experienced data corruption with >2TB LV and no striping?
> >
> > Does this patch help?
> >
>
> No, it doesn't. I just checked multiple times in different setups.
> To address the 'chunksize' Problem mentioned i used lvcreate -i 3 -I 256 .
>
> Jens
>
>
> >
> > Missing cast causing data corruption on devices with stripes > ~1TB.
> > --- diff/drivers/md/dm-stripe.c 2005-01-20 17:32:37.000000000 +0000
> > +++ source/drivers/md/dm-stripe.c 2005-01-20 17:32:26.000000000 +0000
> > @@ -179,7 +179,7 @@
> >
> > bio->bi_bdev = sc->stripe[stripe].dev->bdev;
> > bio->bi_sector = sc->stripe[stripe].physical_start +
> > - (chunk << sc->chunk_shift) + (offset & sc->chunk_mask);
> > + ((sector_t) chunk << sc->chunk_shift) + (offset & sc->chunk_mask);
> > return 1;
> > }
> >
> >
>
>
> --
> Nur tote Fische schwimmen mit dem Strom
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm@redhat.com
> https://www.redhat.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>
next prev parent reply other threads:[~2005-01-25 17:37 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-18 9:10 [linux-lvm] Data corruption on large, multi-device filesystem Jens Beyer
2005-01-19 22:14 ` joe
2005-01-20 14:06 ` Randall A. Jones
2005-01-20 17:59 ` Alasdair G Kergon
2005-01-21 15:09 ` Jens Beyer
2005-01-21 15:09 ` Jens Beyer
2005-01-25 17:37 ` joe [this message]
2005-01-25 17:37 ` joe
2005-01-28 9:23 ` Jens Beyer
2005-01-28 9:23 ` [linux-lvm] " Jens Beyer
2005-01-28 14:01 ` Alasdair G Kergon
2005-01-28 14:01 ` [linux-lvm] " Alasdair G Kergon
2005-01-20 16:53 ` Alasdair G Kergon
2005-01-21 2:38 ` joe
2005-04-29 16:00 ` Dan Pritts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1106674648.41f683d80ea75@www.eiler.net \
--to=joe@eiler.net \
--cc=dm-devel@redhat.com \
--cc=jbe@webde-ag.de \
--cc=linux-lvm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.