Messages in this thread | | | Subject | Re: linux-next: manual merge of the block tree with the xfs tree | From | Roger Willcocks <> | Date | Wed, 2 Sep 2015 10:45:29 +0100 |
| |
On 2 Sep 2015, at 03:16, Stephen Rothwell <sfr@canb.auug.org.au> 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@canb.auug.org.au > > 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
| |