On 2 Sep 2015, at 03:16, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > Hi Jens, > > Today's linux-next merge of the block tree got a conflict in: > > fs/xfs/xfs_aops.c > > between commit: > > c9eb256eda44 ("xfs: return errors from partial I/O failures to files") > > from the xfs tree and commit: > > 4246a0b63bd8 ("block: add a bi_error field to struct bio") > > from the block tree. > > I fixed it up (I think - see below) and can carry the fix as necessary > (no action is required). > > -- > Cheers, > Stephen Rothwell sfr@xxxxxxxxxxxxxxxx > > diff --cc fs/xfs/xfs_aops.c > index c8637073ef25,c77499bcbd7a..000000000000 > --- a/fs/xfs/xfs_aops.c > +++ b/fs/xfs/xfs_aops.c > @@@ -354,8 -355,7 +353,8 @@@ xfs_end_bio > { > xfs_ioend_t *ioend = bio->bi_private; > > - if (!ioend->io_error && !test_bit(BIO_UPTODATE, &bio->bi_flags)) > - ioend->io_error = error; > - ioend->io_error = bio->bi_error; > ++ if (!ioend->io_error) > ++ ioend->io_error = bio->bi_error; > > /* Toss bio and pass work off to an xfsdatad thread */ > bio->bi_private = NULL; > > This is incorrect; it can clear an earlier error status. It should probably read: if (!ioend->io_error && bio->bi_error) ioend->io_error = bio->bi_error; — Roger _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs