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

From: Gao Xiang
Date: Wed May 08 2019 - 02:03:42 EST


Hi Stephen,

On 2019/5/8 11:44, Stephen Rothwell wrote:
> Hi all,
>
> On Wed, 1 May 2019 17:05:28 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>>
>> Today's linux-next merge of the staging tree got conflicts in:
>>
>> drivers/staging/erofs/data.c
>> drivers/staging/erofs/unzip_vle.c
>>
>> between commit:
>>
>> 2b070cfe582b ("block: remove the i argument to bio_for_each_segment_all")
>>
>> from the block tree and commit:
>>
>> 14a56ec65bab ("staging: erofs: support IO read error injection")
>>
>> from the staging tree.
>>
>> I fixed it up (see below) and can carry the fix as necessary. This
>> is now fixed as far as linux-next is concerned, but any non trivial
>> conflicts should be mentioned to your upstream maintainer when your tree
>> is submitted for merging. You may also want to consider cooperating
>> with the maintainer of the conflicting tree to minimise any particularly
>> complex conflicts.
>>
>> --
>> Cheers,
>> Stephen Rothwell
>>
>> diff --cc drivers/staging/erofs/data.c
>> index 9f04d7466c55,c64ec76643d4..000000000000
>> --- a/drivers/staging/erofs/data.c
>> +++ b/drivers/staging/erofs/data.c
>> @@@ -17,11 -17,18 +17,17 @@@
>>
>> static inline void read_endio(struct bio *bio)
>> {
>> + struct super_block *const sb = bio->bi_private;
>> - int i;
>> struct bio_vec *bvec;
>> - const blk_status_t err = bio->bi_status;
>> + blk_status_t err = bio->bi_status;
>> struct bvec_iter_all iter_all;
>>
>> + if (time_to_inject(EROFS_SB(sb), FAULT_READ_IO)) {
>> + erofs_show_injection_info(FAULT_READ_IO);
>> + err = BLK_STS_IOERR;
>> + }
>> +
>> - bio_for_each_segment_all(bvec, bio, i, iter_all) {
>> + bio_for_each_segment_all(bvec, bio, iter_all) {
>> struct page *page = bvec->bv_page;
>>
>> /* page is already locked */
>> diff --cc drivers/staging/erofs/unzip_vle.c
>> index 59b9f37d5c00,a2e03c932102..000000000000
>> --- a/drivers/staging/erofs/unzip_vle.c
>> +++ b/drivers/staging/erofs/unzip_vle.c
>> @@@ -843,14 -844,13 +844,12 @@@ static void z_erofs_vle_unzip_kickoff(v
>>
>> static inline void z_erofs_vle_read_endio(struct bio *bio)
>> {
>> - const blk_status_t err = bio->bi_status;
>> + struct erofs_sb_info *sbi = NULL;
>> + blk_status_t err = bio->bi_status;
>> - unsigned int i;
>> struct bio_vec *bvec;
>> - #ifdef EROFS_FS_HAS_MANAGED_CACHE
>> - struct address_space *mc = NULL;
>> - #endif
>> struct bvec_iter_all iter_all;
>>
>> - bio_for_each_segment_all(bvec, bio, i, iter_all) {
>> + bio_for_each_segment_all(bvec, bio, iter_all) {
>> struct page *page = bvec->bv_page;
>> bool cachemngd = false;
>>
>
> This conflict is now between the block tree and Linus' tree.

It seems that the conflict has been resolved in linus' tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2b070cfe582b8e99fec6ada57d2e59e194aae202

Thanks,
Gao Xiang


>