commit b4678df184b causing xfstests regressions

Theodore Y. Ts'o
2018-05-18T22:50:41Z

Hi Matthew,

Commit b4678df184b: "errseq: Always report a writeback error once"
appears to be causing xfstests regressions. For ext4, running
"gce-xfstests -c 4k -g auto" will result in reliable shared/298
failures which go away if I revert b4678df184b.

Darrick has also reported occasional generic/047 failures, which I
have seen at least once as well. I believe two are linked, because
after instrumenting mke2fs in shared/298, the failure is happening
after creating a new 300 MB file:

dd if=/dev/zero of=$img_file bs=1M count=300 &> /dev/null

creating a new loop device

loop_dev=$(_create_loop_device $img_file)

... and then run mke2fs on that loop device.

The instrumentation of mke2fs shows that the first fsync() on
/dev/loop0 (in lib/ext2fs/closefs.c) which is failing with EIO.

I haven't had a chance to really drill down on it, but I think what is
going on is there is some former test which exercises an error path
(using dm_error, or some such), and somehow the errseq_t for the loop
device isn't getting reset, or the inode for the underlying backing
file, had an unitialized errseq_t.

Can you take a closer look at this?

Thanks,

- Ted