Hi all,

On Thu, 3 Dec 2020 14:43:48 +1100 Stephen Rothwell <s...@canb.auug.org.au> 
wrote:
>
> Today's linux-next merge of the block tree got conflicts in:
> 
>   fs/f2fs/checkpoint.c
>   fs/f2fs/f2fs.h
>   fs/f2fs/super.c
> 
> between commit:
> 
>   5c0602188dc7 ("f2fs: fix kbytes written stat for multi-device case")
> 
> from the f2fs tree and commits:
> 
>   8446fe9255be ("block: switch partition lookup to use struct block_device")
>   9499ffc75217 ("f2fs: remove a few bd_part checks")
> 
> from the block tree.
> 
> I fixed it up (I think, see below, fs/f2fs/f2fs.h and fs/f2fs/super.c
> used the versions from the f2fs tree) 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 fs/f2fs/checkpoint.c
> index 14ba1519639e,54a1905af052..000000000000
> --- a/fs/f2fs/checkpoint.c
> +++ b/fs/f2fs/checkpoint.c
> @@@ -1385,27 -1385,6 +1385,26 @@@ static void commit_checkpoint(struct f2
>       f2fs_submit_merged_write(sbi, META_FLUSH);
>   }
>   
>  +static inline u64 get_sectors_written(struct block_device *bdev)
>  +{
> -     return bdev->bd_part ?
> -             (u64)part_stat_read(bdev->bd_part, sectors[STAT_WRITE]) : 0;
> ++    return (u64)part_stat_read(bdev, sectors[STAT_WRITE]) : 0;
                                                             ^^^^
With this rmeoved.

>  +}
>  +
>  +u64 f2fs_get_sectors_written(struct f2fs_sb_info *sbi)
>  +{
>  +    if (f2fs_is_multi_device(sbi)) {
>  +            u64 sectors = 0;
>  +            int i;
>  +
>  +            for (i = 0; i < sbi->s_ndevs; i++)
>  +                    sectors += get_sectors_written(FDEV(i).bdev);
>  +
>  +            return sectors;
>  +    }
>  +
>  +    return get_sectors_written(sbi->sb->s_bdev);
>  +}
>  +
>   static int do_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc)
>   {
>       struct f2fs_checkpoint *ckpt = F2FS_CKPT(sbi);
> diff --cc fs/f2fs/f2fs.h
> index 5cd1b9f7cc53,49681a8d2b14..000000000000
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> diff --cc fs/f2fs/super.c
> index 47858e0c5e95,af9f449da64b..000000000000
> --- a/fs/f2fs/super.c
> +++ b/fs/f2fs/super.c

Just a reminder that the above conflict still exists.

-- 
Cheers,
Stephen Rothwell

Attachment: pgpB8sIJh3BGq.pgp
Description: OpenPGP digital signature

Reply via email to