From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: "Mike Snitzer" <snitzer@gmail.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
"Jeff Moyer" <jmoyer@redhat.com>,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-ext4@vger.kernel.org
Subject: Re: [PATCH 0 of 7] Block/SCSI Data Integrity Support
Date: Thu, 17 Jul 2008 11:35:46 -0400 [thread overview]
Message-ID: <yq1tzeo1q25.fsf@sermon.lab.mkp.net> (raw)
In-Reply-To: <170fa0d20807170655y6cb7df7eh6aae8c727b7b0bb@mail.gmail.com> (Mike Snitzer's message of "Thu\, 17 Jul 2008 09\:55\:45 -0400")
>>>>> "Mike" == Mike Snitzer <snitzer@gmail.com> writes:
>> I'm testing with XFS and btrfs. Generally doing kernel builds,
>> etc. ext2/3 are still problematic because they modify pages in
>> flight.
Mike> Have you made the ext2/3/4 developers aware of this?
Yep.
Mike> Shouldn't _any_ filesystem "just work" given that the block
Mike> layer is what is generating the checksums and then verifying
Mike> them on read?
Yep.
There are a couple of issues. One problem is that pages are no longer
locked down during I/O. Instead the writeback bit is being set to
indicate that I/O is in progress. Not all corners of ext* have been
adapted to that properly. Especially ext2 suffers and often modifies
pages containing metadata while they are in flight. If I remember
correctly, ext2/dir.c hasn't been made aware of writeback at all and
assumes the page lock still works like it used to.
That is normally not a huge problem because the page is being
scheduled for write again shortly thereafter. So the inconsistent
block on disk gets overwritten pretty much instantly. But that kind
of sloppy behavior is a no-go with integrity checking turned on.
There also appears to be some quirks in the page cache in general.
There's something not quite right in clear_page_dirty() /
page_mkwrite() territory. If I sync excessively I can make any fs
keel over. peterz said that an mmapped page is supposed to be
read-only during writeback but that appears to be racy when a forced
sync is involved.
That's my recollection, anyway. I've been busy with the innards of
the integrity code stuff for a couple of months and haven't poked at
the fs/vm issues for a while.
--
Martin K. Petersen Oracle Linux Engineering
prev parent reply other threads:[~2008-07-17 15:36 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-07 4:55 Martin K. Petersen
2008-06-07 4:55 ` [PATCH 1 of 7] lib: Add support for the T10 Data Integrity Field CRC Martin K. Petersen
2008-06-07 4:55 ` [PATCH 2 of 7] block: Globalize bio_set and bio_vec_slab Martin K. Petersen
2008-06-10 18:55 ` Jeff Moyer
2008-06-07 4:55 ` [PATCH 3 of 7] block: Find bio sector offset given idx and offset Martin K. Petersen
2008-06-09 16:07 ` Jeff Moyer
2008-06-09 16:15 ` Martin K. Petersen
2008-06-10 19:02 ` Jeff Moyer
2008-06-07 4:55 ` [PATCH 4 of 7] block: bio data integrity support Martin K. Petersen
2008-06-07 14:45 ` Monakhov Dmitri
2008-06-09 15:05 ` Martin K. Petersen
2008-06-10 20:52 ` Jeff Moyer
2008-06-11 4:05 ` Martin K. Petersen
2008-06-11 17:41 ` Jeff Moyer
2008-06-07 4:55 ` [PATCH 5 of 7] block: Block/request layer " Martin K. Petersen
2008-06-08 4:27 ` Greg KH
2008-06-09 15:06 ` Martin K. Petersen
2008-06-07 4:55 ` [PATCH 6 of 7] scsi: Support devices with protection information (DIF) Martin K. Petersen
2008-06-07 4:55 ` [PATCH 7 of 7] Support for SCSI disk (SBC) Data Integrity Field Martin K. Petersen
2008-06-10 14:41 ` [PATCH 0 of 7] Block/SCSI Data Integrity Support Jeff Moyer
2008-06-10 15:28 ` Martin K. Petersen
2008-06-10 18:49 ` Jeff Moyer
2008-06-10 20:47 ` Martin K. Petersen
2008-06-10 20:53 ` Jeff Moyer
2008-07-17 13:55 ` Mike Snitzer
2008-07-17 15:35 ` Martin K. Petersen [this message]
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=yq1tzeo1q25.fsf@sermon.lab.mkp.net \
--to=martin.petersen@oracle.com \
--cc=jmoyer@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=snitzer@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®