xfs
[Top] [All Lists]

Re: linux-next: manual merge of the block tree with the xfs tree

To: Roger Willcocks <roger@xxxxxxxxxxxxxxxx>
Subject: Re: linux-next: manual merge of the block tree with the xfs tree
From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Wed, 2 Sep 2015 23:03:42 +1000
Cc: Jens Axboe <axboe@xxxxxxxxx>, Ben Myers <bpm@xxxxxxx>, David Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, David Jeffery <djeffery@xxxxxxxxxx>, linux-next@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Christoph Hellwig <hch@xxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <C57DF728-E46C-433C-AA9D-209557D795E2@xxxxxxxxxxxxxxxx>
References: <20150902121649.7a686b6c@xxxxxxxxxxxxxxxx> <C57DF728-E46C-433C-AA9D-209557D795E2@xxxxxxxxxxxxxxxx>
Hi Roger,

On Wed, 2 Sep 2015 10:45:29 +0100 Roger Willcocks <roger@xxxxxxxxxxxxxxxx> 
wrote:
>
> On 2 Sep 2015, at 03:16, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> 
> > 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;

Thanks, I will use that from tomorrow.

-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>