Re: [PATCH] xfs: return errors from partial I/O failures to files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 27, 2015 at 08:19:52AM +1000, Dave Chinner wrote:
> On Wed, Aug 26, 2015 at 03:06:36PM -0400, David Jeffery wrote:
> > There is an issue with xfs's error reporting in some cases of I/O partially
> > failing and partially succeeding. Calls like fsync() can report success even
> > though not all I/O was successful.
> 
> Hi David,
> 
> I read your bug report last night and after considering all the work
> you put into it, I was going to ask if you wanted to finish off the
> job by writing the patch to fix it. But you beat me to it.
> 
> Nice work! :)
> 
> > The issue can occur when there are multiple bio per xfs_ioend struct.
> > Each call to xfs_end_bio() for a bio completing will write a value to
> > ioend->io_error.  If a successful bio completes after any failed bio, no
> > error is reported do to it writing 0 over the error code set by any failed bio.
> > The I/O error information is now lost and when the ioend is completed
> > only success is reported back up the filesystem stack.
> 
> It's worth mentioning the case that this was seen in - a single
> failed disk in a raid 0 stripe, and the error from the bio to the
> failed disk was overwritten by the successes from the bios to the
> other disks.
> 
> FWIW, I think that we also need to create an xfstest for this case,
> too, because it's clear that this is a big hole in our test coverage
> (i.e.  partial block device failure). It might be best to talk to
> Eryu (cc'd) to get your reproducer converted into a xfstest case
> that we can then test all filesystems against?

Sure, I'll look into the reproducer and work on a fstests case.

Thanks,
Eryu

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs



[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux