Re: linux-next: manual merge of the akpm-current tree with the ceph tree

From: Stephen Rothwell
Date: Sun Jan 16 2022 - 16:57:04 EST


Hi all,

On Fri, 14 Jan 2022 14:55:02 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Today's linux-next merge of the akpm-current tree got conflicts in:
>
> include/linux/ceph/libceph.h
> net/ceph/ceph_common.c
>
> between commit:
>
> 4153c7fc937a ("libceph: rename parse_fsid() to ceph_parse_fsid() and export")
>
> from the ceph tree and commit:
>
> f9126de5849a ("mm: allow !GFP_KERNEL allocations for kvmalloc")
>
> from the akpm-current 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.
>
>
> diff --cc include/linux/ceph/libceph.h
> index 644f224eccf7,309acbcb5a8a..000000000000
> --- a/include/linux/ceph/libceph.h
> +++ b/include/linux/ceph/libceph.h
> @@@ -295,8 -295,6 +295,7 @@@ extern bool libceph_compatible(void *da
>
> extern const char *ceph_msg_type_name(int type);
> extern int ceph_check_fsid(struct ceph_client *client, struct ceph_fsid *fsid);
> - extern void *ceph_kvmalloc(size_t size, gfp_t flags);
> +extern int ceph_parse_fsid(const char *str, struct ceph_fsid *fsid);
>
> struct fs_parameter;
> struct fc_log;
> diff --cc net/ceph/ceph_common.c
> index decae43b4262,9441b4a4912b..000000000000
> --- a/net/ceph/ceph_common.c
> +++ b/net/ceph/ceph_common.c
> @@@ -190,34 -190,7 +190,7 @@@ int ceph_compare_options(struct ceph_op
> }
> EXPORT_SYMBOL(ceph_compare_options);
>
> - /*
> - * kvmalloc() doesn't fall back to the vmalloc allocator unless flags are
> - * compatible with (a superset of) GFP_KERNEL. This is because while the
> - * actual pages are allocated with the specified flags, the page table pages
> - * are always allocated with GFP_KERNEL.
> - *
> - * ceph_kvmalloc() may be called with GFP_KERNEL, GFP_NOFS or GFP_NOIO.
> - */
> - void *ceph_kvmalloc(size_t size, gfp_t flags)
> - {
> - void *p;
> -
> - if ((flags & (__GFP_IO | __GFP_FS)) == (__GFP_IO | __GFP_FS)) {
> - p = kvmalloc(size, flags);
> - } else if ((flags & (__GFP_IO | __GFP_FS)) == __GFP_IO) {
> - unsigned int nofs_flag = memalloc_nofs_save();
> - p = kvmalloc(size, GFP_KERNEL);
> - memalloc_nofs_restore(nofs_flag);
> - } else {
> - unsigned int noio_flag = memalloc_noio_save();
> - p = kvmalloc(size, GFP_KERNEL);
> - memalloc_noio_restore(noio_flag);
> - }
> -
> - return p;
> - }
> -
> -static int parse_fsid(const char *str, struct ceph_fsid *fsid)
> +int ceph_parse_fsid(const char *str, struct ceph_fsid *fsid)
> {
> int i = 0;
> char tmp[3];

This is now a conflict between the ceph tree and Linus' tree.

--
Cheers,
Stephen Rothwell

Attachment: pgprLJwJ9ToQW.pgp
Description: OpenPGP digital signature