1 Jun 2010 04:40
Re: Wrong DIF guard tag on ext2 write
FUJITA Tomonori <fujita.tomonori <at> lab.ntt.co.jp>
2010-06-01 02:40:15 GMT
2010-06-01 02:40:15 GMT
On Mon, 31 May 2010 10:01:42 -0500 James Bottomley <James.Bottomley <at> suse.de> wrote: > On Mon, 2010-05-31 at 10:20 -0400, Martin K. Petersen wrote: > > >>>>> "Christof" == Christof Schmitt <christof.schmitt <at> de.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.(Continue reading)
Acked-by: Nicholas A. Bellinger <nab <at> linux-iscsi.org>
RSS Feed