From: Ted Ts'o <tytso@mit.edu>
To: Allison Henderson <achender@linux.vnet.ibm.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH 5/6 v5] ext4: fix fsx truncate failure
Date: Mon, 22 Aug 2011 22:36:18 -0400 [thread overview]
Message-ID: <20110823023618.GA6544@thunk.org> (raw)
In-Reply-To: <1313893787-25460-6-git-send-email-achender@linux.vnet.ibm.com>
On Sat, Aug 20, 2011 at 07:29:46PM -0700, Allison Henderson wrote:
> This patch corrects a bug found during extended fsx
> testing for the first two patches.
>
> This bug is caused because the truncate routine only zeros
> the unblock aligned portion of the last page. This means
> that the block aligned portions of the page appearing after
> i_size are left unzeroed, and the buffer heads still mapped.
>
> This bug is corrected by using ext4_discard_partial_page_buffers
> in the truncate routine to zero the partial page and unmap
> the buffer headers
>
> Signed-off-by: Allison Henderson <achender@linux.vnet.ibm.com>
This patch is causing a failure in xfstests #130. When I bisected it,
the "git bisect finger of blame" pointed to this commit. (This is
commit 83eb170d4 on the "dev" branch on the ext4.git tree at the moment).
- Ted
Running local boot scripts (/etc/rc.local)
FSTESTCFG is "all"
FSTESTSET is "130"
umount: /dev/vdb: not mounted
umount: /dev/vdd: not mounted
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdb: 6030/327680 files (3.1% non-contiguous), 77032/1310720 blocks
BEGIN TEST: Ext4 4k block Mon Aug 22 22:27:54 EDT 2011
Device: /dev/vdb
mke2fs options: -q
mount options: -o block_validity
000 - unknown test, ignored
FSTYP -- ext4
PLATFORM -- Linux/x86_64 candygram 3.1.0-gcg-DEV
MKFS_OPTIONS -- -q /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr -o block_validity /dev/vdc /vdc
130 11s ... - output mismatch (see 130.out.bad)
--- 130.out 2011-08-12 00:06:32.000000000 -0400
+++ 130.out.bad 2011-08-22 22:27:57.550000003 -0400
@@ -4,8 +4,9 @@
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 65536
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-00000000: 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c...............
-00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00000000: 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 cccccccccccccccc
+*
+00001000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
*
00010000: 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
*
Ran: 130
Failures: 130
Failed 1 of 1 tests
END TEST: Ext4 4k block Mon Aug 22 22:27:57 EDT 2011
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdb: 6030/327680 files (3.1% non-contiguous), 77032/1310720 blocks
BEGIN TEST: Ext4 4k block w/nodelalloc and no extents Mon Aug 22 22:27:58 EDT 2011
Device: /dev/vdd
mke2fs options: -q -O ^extents
mount options: -o block_validity,nodelalloc
000 - unknown test, ignored
FSTYP -- ext4
PLATFORM -- Linux/x86_64 candygram 3.1.0-gcg-DEV
MKFS_OPTIONS -- -q -O ^extents /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr -o block_validity,nodelalloc /dev/vdc /vdc
130 11s ... 3s
Ran: 130
Passed all 1 tests
END TEST: Ext4 4k block w/nodelalloc and no extents Mon Aug 22 22:28:01 EDT 2011
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdd: 11/327680 files (0.0% non-contiguous), 55935/1310720 blocks
BEGIN TEST: Ext4 4k block w/ no journal Mon Aug 22 22:28:01 EDT 2011
Device: /dev/vdb
mke2fs options: -q -O ^has_journal
mount options: -o block_validity,noload
000 - unknown test, ignored
FSTYP -- ext4
PLATFORM -- Linux/x86_64 candygram 3.1.0-gcg-DEV
MKFS_OPTIONS -- -q -O ^has_journal /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr -o block_validity,noload /dev/vdc /vdc
130 3s ... - output mismatch (see 130.out.bad)
--- 130.out 2011-08-12 00:06:32.000000000 -0400
+++ 130.out.bad 2011-08-22 22:28:04.490000003 -0400
@@ -4,8 +4,9 @@
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 65536
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-00000000: 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c...............
-00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00000000: 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 cccccccccccccccc
+*
+00001000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
*
00010000: 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
*
Ran: 130
Failures: 130
Failed 1 of 1 tests
END TEST: Ext4 4k block w/ no journal Mon Aug 22 22:28:04 EDT 2011
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdb: 6030/327680 files (3.1% non-contiguous), 77032/1310720 blocks
BEGIN TEST: Ext4 1k block Mon Aug 22 22:28:05 EDT 2011
Device: /dev/vdd
mke2fs options: -q -b 1024
mount options: -o block_validity
000 - unknown test, ignored
FSTYP -- ext4
PLATFORM -- Linux/x86_64 candygram 3.1.0-gcg-DEV
MKFS_OPTIONS -- -q -b 1024 /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr -o block_validity /dev/vdc /vdc
130 3s ... - output mismatch (see 130.out.bad)
--- 130.out 2011-08-12 00:06:32.000000000 -0400
+++ 130.out.bad 2011-08-22 22:28:08.160000004 -0400
@@ -4,8 +4,9 @@
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 65536
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-00000000: 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c...............
-00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00000000: 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 cccccccccccccccc
+*
+00000400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
*
00010000: 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
*
Ran: 130
Failures: 130
Failed 1 of 1 tests
END TEST: Ext4 1k block Mon Aug 22 22:28:08 EDT 2011
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdd: 11/327680 files (0.0% non-contiguous), 119861/5242880 blocks
BEGIN TEST: Ext4 4k block w/bigalloc Mon Aug 22 22:28:08 EDT 2011
Device: /dev/vdd
mke2fs options: -q -O bigalloc
mount options: -o block_validity
000 - unknown test, ignored
[1825745.459201] EXT4-fs (vdd): couldn't mount RDWR because of unsupported optional features (200)
mount: wrong fs type, bad option, bad superblock on /dev/vdd,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
common.rc: retrying test device mount with external set
[1825745.488666] EXT4-fs (vdd): couldn't mount RDWR because of unsupported optional features (200)
mount: wrong fs type, bad option, bad superblock on /dev/vdd,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
common.rc: could not mount /dev/vdd on /vdd
END TEST: Ext4 4k block w/bigalloc Mon Aug 22 22:28:08 EDT 2011
umount: /dev/vdd: not mounted
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdd: 11/81936 files (0.0% non-contiguous), 38032/1310720 blocks
BEGIN TEST: Ext4 4k block w/data=journal Mon Aug 22 22:28:08 EDT 2011
Device: /dev/vdb
mke2fs options: -q
mount options: -o block_validity,data=journal
000 - unknown test, ignored
FSTYP -- ext4
PLATFORM -- Linux/x86_64 candygram 3.1.0-gcg-DEV
MKFS_OPTIONS -- -q /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr -o block_validity,data=journal /dev/vdc /vdc
[1825745.927937] EXT4-fs: Warning: mounting with data=journal disables delayed allocation and O_DIRECT support!
130 3s ... 2s
Ran: 130
Passed all 1 tests
END TEST: Ext4 4k block w/data=journal Mon Aug 22 22:28:12 EDT 2011
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdb: 6030/327680 files (3.1% non-contiguous), 77032/1310720 blocks
BEGIN TEST: Ext4 4k block w/dioread_nolock Mon Aug 22 22:28:12 EDT 2011
Device: /dev/vdb
mke2fs options: -q
mount options: -o block_validity,dioread_nolock
000 - unknown test, ignored
FSTYP -- ext4
PLATFORM -- Linux/x86_64 candygram 3.1.0-gcg-DEV
MKFS_OPTIONS -- -q /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr -o block_validity,dioread_nolock /dev/vdc /vdc
[1825749.476751] EXT4-fs (vdc): can't mount with dioread_nolock if block size != PAGE_SIZE
our local mount routine ...
mount: wrong fs type, bad option, bad superblock on /dev/vdc,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
check: failed to mount $SCRATCH_DEV using specified options
Passed all 0 tests
END TEST: Ext4 4k block w/dioread_nolock Mon Aug 22 22:28:12 EDT 2011
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdb: 6030/327680 files (3.1% non-contiguous), 77032/1310720 blocks
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
error: 'stop-bootlogd' exited outside the expected code flow.
Using makefile-style concurrent boot in runlevel 0.
Saving random seed...done.
Stopping quota service: rpc.rquotad.
Turning off quotas...quotaoff: Warning: No quota format detected in the kernel.
done.
Asking all remaining processes to terminate...done.
All processes ended within 1 seconds....done.
Deconfiguring network interfaces...done.
Cleaning up ifupdown....
Saving the system clock.
Hardware Clock updated to Mon Aug 22 22:28:15 EDT 2011.
Will now unmount temporary filesystems:tmpfs has been unmounted
.
Will now deactivate swap:.
Mounting root filesystem read-only...done.
Will now halt.
[1825755.423049] Power down.
EXIT_SUCCESS
next prev parent reply other threads:[~2011-08-23 2:36 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-21 2:29 [PATCH 0/6 v5] ext4: fix 1k block bugs Allison Henderson
2011-08-21 2:29 ` [PATCH 1/6 v5] ext4: Add new ext4_discard_partial_page_buffers routines Allison Henderson
2011-08-22 2:38 ` Ted Ts'o
2011-08-22 14:33 ` Allison Henderson
2011-08-21 2:29 ` [PATCH 2/6 v5] ext4: fix xfstests 75, 112, 127 punch hole failure Allison Henderson
2011-08-21 2:29 ` [PATCH 3/6 v5] ext4: fix 2nd xfstests " Allison Henderson
2011-08-21 2:29 ` [PATCH 4/6 v5] ext4: Correct large hole offset calcuation Allison Henderson
2011-08-22 15:50 ` Eric Sandeen
2011-08-22 17:19 ` Allison Henderson
2011-08-21 2:29 ` [PATCH 5/6 v5] ext4: fix fsx truncate failure Allison Henderson
2011-08-23 2:36 ` Ted Ts'o [this message]
2011-08-23 2:51 ` Allison Henderson
2011-08-21 2:29 ` [PATCH 6/6 v5] ext4: fix partial page writes Allison Henderson
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=20110823023618.GA6544@thunk.org \
--to=tytso@mit.edu \
--cc=achender@linux.vnet.ibm.com \
--cc=linux-ext4@vger.kernel.org \
/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.