[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100601113947X.fujita.tomonori@lab.ntt.co.jp>
Date: Tue, 1 Jun 2010 11:40:15 +0900
From: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>
To: James.Bottomley@...e.de
Cc: martin.petersen@...cle.com, christof.schmitt@...ibm.com,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-fsdevel@...r.kernel.org
Subject: Re: Wrong DIF guard tag on ext2 write
On Mon, 31 May 2010 10:01:42 -0500
James Bottomley <James.Bottomley@...e.de> wrote:
> On Mon, 2010-05-31 at 10:20 -0400, Martin K. Petersen wrote:
> > >>>>> "Christof" == Christof Schmitt <christof.schmitt@...ibm.com> writes:
> >
> > Christof> Since the guard tags are created in Linux, it seems that the
> > Christof> data attached to the write request changes between the
> > Christof> generation in bio_integrity_generate and the call to
> > Christof> sd_prep_fn.
> >
> > Yep, known bug. Page writeback locking is messed up for buffer_head
> > users. The extNfs folks volunteered to look into this a while back but
> > I don't think they have found the time yet.
> >
> >
> > Christof> Using ext3 or ext4 instead of ext2 does not show the problem.
> >
> > Last I looked there were still code paths in ext3 and ext4 that
> > permitted pages to be changed during flight. I guess you've just been
> > lucky.
>
> Pages have always been modifiable in flight. The OS guarantees they'll
> be rewritten, so the drivers can drop them if it detects the problem.
> This is identical to the iscsi checksum issue (iscsi adds a checksum
> because it doesn't trust TCP/IP and if the checksum is generated in
> software, there's time between generation and page transmission for the
> alteration to occur). The solution in the iscsi case was not to
> complain if the page is still marked dirty.
In the iSCSI case, what we do is decreasing chance that pages in
flight could be modified (use sendmsg instead of sendpage) and praying.
If the initiator sends the wrong checksum, the target complains (and
starts the recovery process). The target can't know if the page is
marked dirty or not.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists