linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* xfstests 252 failure
@ 2011-06-14 15:41 Allison Henderson
  2011-06-14 16:06 ` Eric Sandeen
  0 siblings, 1 reply; 4+ messages in thread
From: Allison Henderson @ 2011-06-14 15:41 UTC (permalink / raw)
  To: xfs-oss, Ext4 Developers List, linux-fsdevel

Hi all,

I just wanted to get some ideas moving on this question before too much 
time goes by.  Ext4 is currently failing xfstest 252, test number 12. 
Currently test 12 is:

	$XFS_IO_PROG $xfs_io_opt -f -c "truncate 20k" \
		-c "$alloc_cmd 0 20k" \	
		-c "pwrite 8k 4k" -c "fsync" \		
		-c "$zero_cmd 4k 12k" \
		-c "$map_cmd -v" $testfile | $filter_cmd
	[ $? -ne 0 ]&&  die_now

and the output is:

         12. unwritten -> data -> unwritten
0: [0..7]: unwritten
1: [8..31]: hole
2: [32..39]: unwritten

Ext4 gets data extents here instead of unwritten extents.  I did some 
investigating and it looks like the fsync command causes the extents to 
be written out before the punch hole operation starts.  It looks like 
what happens is that when an unwritten extent gets written to, it doesnt 
always split the extent.  If the extent is small enough, then it just 
zeros out the portions that are not written to, and the whole extent 
becomes a written extent.  Im not sure if that is incorrect or if we 
need to change the test to not compare the extent types.

It looks to me that the code in ext4 that does this is supposed to be an 
optimization to help reduce fragmentation.  We could change the filters 
to print just "extent" instead of "unwritten" or "data", but I realize 
that probably makes the test a lot less effective for xfs.  If anyone 
can think of some more elegant fixes, please let me know.  Thx!

Allison Henderson


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-06-14 19:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-14 15:41 xfstests 252 failure Allison Henderson
2011-06-14 16:06 ` Eric Sandeen
2011-06-14 18:41   ` Josef Bacik
2011-06-14 19:37     ` Allison Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).