diff mbox series

[v13,23/25] block/rnbd: include client and server modules into kernel compilation

Message ID 20200427141020.655-24-danil.kipnis@cloud.ionos.com (mailing list archive)
State New, archived
Headers show
Series RTRS (former IBTRS) RDMA Transport Library and RNBD (former IBNBD) RDMA Network Block Device | expand

Commit Message

Danil Kipnis April 27, 2020, 2:10 p.m. UTC
From: Jack Wang <jinpu.wang@cloud.ionos.com>

Add rnbd Makefile, Kconfig and also corresponding lines into upper
block layer files.

Signed-off-by: Danil Kipnis <danil.kipnis@cloud.ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/block/Kconfig       |  2 ++
 drivers/block/Makefile      |  1 +
 drivers/block/rnbd/Kconfig  | 28 ++++++++++++++++++++++++++++
 drivers/block/rnbd/Makefile | 15 +++++++++++++++
 4 files changed, 46 insertions(+)
 create mode 100644 drivers/block/rnbd/Kconfig
 create mode 100644 drivers/block/rnbd/Makefile

Comments

Jason Gunthorpe April 29, 2020, 5:18 p.m. UTC | #1
On Mon, Apr 27, 2020 at 04:10:18PM +0200, Danil Kipnis wrote:
> From: Jack Wang <jinpu.wang@cloud.ionos.com>
> 
> Add rnbd Makefile, Kconfig and also corresponding lines into upper
> block layer files.
> 
> Signed-off-by: Danil Kipnis <danil.kipnis@cloud.ionos.com>
> Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
> Reviewed-by: Bart Van Assche <bvanassche@acm.org>
>  drivers/block/Kconfig       |  2 ++
>  drivers/block/Makefile      |  1 +
>  drivers/block/rnbd/Kconfig  | 28 ++++++++++++++++++++++++++++
>  drivers/block/rnbd/Makefile | 15 +++++++++++++++
>  4 files changed, 46 insertions(+)
>  create mode 100644 drivers/block/rnbd/Kconfig
>  create mode 100644 drivers/block/rnbd/Makefile
> 
> diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
> index 025b1b77b11a..084b9efcefca 100644
> +++ b/drivers/block/Kconfig
> @@ -458,4 +458,6 @@ config BLK_DEV_RSXX
>  	  To compile this driver as a module, choose M here: the
>  	  module will be called rsxx.
>  
> +source "drivers/block/rnbd/Kconfig"
> +
>  endif # BLK_DEV
> diff --git a/drivers/block/Makefile b/drivers/block/Makefile
> index 795facd8cf19..e1f63117ee94 100644
> +++ b/drivers/block/Makefile
> @@ -39,6 +39,7 @@ obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX)	+= mtip32xx/
>  
>  obj-$(CONFIG_BLK_DEV_RSXX) += rsxx/
>  obj-$(CONFIG_ZRAM) += zram/
> +obj-$(CONFIG_BLK_DEV_RNBD)	+= rnbd/
>  
>  obj-$(CONFIG_BLK_DEV_NULL_BLK)	+= null_blk.o
>  null_blk-objs	:= null_blk_main.o
> diff --git a/drivers/block/rnbd/Kconfig b/drivers/block/rnbd/Kconfig
> new file mode 100644
> index 000000000000..4b6d3d816d1f
> +++ b/drivers/block/rnbd/Kconfig
> @@ -0,0 +1,28 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +config BLK_DEV_RNBD
> +	bool
> +
> +config BLK_DEV_RNBD_CLIENT
> +	tristate "RDMA Network Block Device driver client"
> +	depends on INFINIBAND_RTRS_CLIENT
> +	select BLK_DEV_RNBD
> +	help
> +	  RNBD client is a network block device driver using rdma transport.
> +
> +	  RNBD client allows for mapping of a remote block devices over
> +	  RTRS protocol from a target system where RNBD server is running.
> +
> +	  If unsure, say N.
> +
> +config BLK_DEV_RNBD_SERVER
> +	tristate "RDMA Network Block Device driver server"
> +	depends on INFINIBAND_RTRS_SERVER
> +	select BLK_DEV_RNBD
> +	help
> +	  RNBD server is the server side of RNBD using rdma transport.
> +
> +	  RNBD server allows for exporting local block devices to a remote client
> +	  over RTRS protocol.
> +
> +	  If unsure, say N.
> diff --git a/drivers/block/rnbd/Makefile b/drivers/block/rnbd/Makefile
> new file mode 100644
> index 000000000000..450a9e4974d7
> +++ b/drivers/block/rnbd/Makefile
> @@ -0,0 +1,15 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +ccflags-y := -Idrivers/infiniband/ulp/rtrs
> +
> +rnbd-client-y := rnbd-clt.o \
> +		  rnbd-common.o \
> +		  rnbd-clt-sysfs.o
> +
> +rnbd-server-y := rnbd-srv.o \
> +		  rnbd-common.o \
> +		  rnbd-srv-dev.o \
> +		  rnbd-srv-sysfs.o

keep lists of things sorted

Jason
Jinpu Wang April 30, 2020, 7:07 a.m. UTC | #2
On Wed, Apr 29, 2020 at 7:18 PM Jason Gunthorpe <jgg@ziepe.ca> wrote:
>
> On Mon, Apr 27, 2020 at 04:10:18PM +0200, Danil Kipnis wrote:
> > From: Jack Wang <jinpu.wang@cloud.ionos.com>
> >
> > Add rnbd Makefile, Kconfig and also corresponding lines into upper
> > block layer files.
> >
> > Signed-off-by: Danil Kipnis <danil.kipnis@cloud.ionos.com>
> > Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
> > Reviewed-by: Bart Van Assche <bvanassche@acm.org>
> >  drivers/block/Kconfig       |  2 ++
> >  drivers/block/Makefile      |  1 +
> >  drivers/block/rnbd/Kconfig  | 28 ++++++++++++++++++++++++++++
> >  drivers/block/rnbd/Makefile | 15 +++++++++++++++
> >  4 files changed, 46 insertions(+)
> >  create mode 100644 drivers/block/rnbd/Kconfig
> >  create mode 100644 drivers/block/rnbd/Makefile
> >
> > diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
> > index 025b1b77b11a..084b9efcefca 100644
> > +++ b/drivers/block/Kconfig
> > @@ -458,4 +458,6 @@ config BLK_DEV_RSXX
> >         To compile this driver as a module, choose M here: the
> >         module will be called rsxx.
> >
> > +source "drivers/block/rnbd/Kconfig"
> > +
> >  endif # BLK_DEV
> > diff --git a/drivers/block/Makefile b/drivers/block/Makefile
> > index 795facd8cf19..e1f63117ee94 100644
> > +++ b/drivers/block/Makefile
> > @@ -39,6 +39,7 @@ obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX)      += mtip32xx/
> >
> >  obj-$(CONFIG_BLK_DEV_RSXX) += rsxx/
> >  obj-$(CONFIG_ZRAM) += zram/
> > +obj-$(CONFIG_BLK_DEV_RNBD)   += rnbd/
> >
> >  obj-$(CONFIG_BLK_DEV_NULL_BLK)       += null_blk.o
> >  null_blk-objs        := null_blk_main.o
> > diff --git a/drivers/block/rnbd/Kconfig b/drivers/block/rnbd/Kconfig
> > new file mode 100644
> > index 000000000000..4b6d3d816d1f
> > +++ b/drivers/block/rnbd/Kconfig
> > @@ -0,0 +1,28 @@
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +
> > +config BLK_DEV_RNBD
> > +     bool
> > +
> > +config BLK_DEV_RNBD_CLIENT
> > +     tristate "RDMA Network Block Device driver client"
> > +     depends on INFINIBAND_RTRS_CLIENT
> > +     select BLK_DEV_RNBD
> > +     help
> > +       RNBD client is a network block device driver using rdma transport.
> > +
> > +       RNBD client allows for mapping of a remote block devices over
> > +       RTRS protocol from a target system where RNBD server is running.
> > +
> > +       If unsure, say N.
> > +
> > +config BLK_DEV_RNBD_SERVER
> > +     tristate "RDMA Network Block Device driver server"
> > +     depends on INFINIBAND_RTRS_SERVER
> > +     select BLK_DEV_RNBD
> > +     help
> > +       RNBD server is the server side of RNBD using rdma transport.
> > +
> > +       RNBD server allows for exporting local block devices to a remote client
> > +       over RTRS protocol.
> > +
> > +       If unsure, say N.
> > diff --git a/drivers/block/rnbd/Makefile b/drivers/block/rnbd/Makefile
> > new file mode 100644
> > index 000000000000..450a9e4974d7
> > +++ b/drivers/block/rnbd/Makefile
> > @@ -0,0 +1,15 @@
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +
> > +ccflags-y := -Idrivers/infiniband/ulp/rtrs
> > +
> > +rnbd-client-y := rnbd-clt.o \
> > +               rnbd-common.o \
> > +               rnbd-clt-sysfs.o
> > +
> > +rnbd-server-y := rnbd-srv.o \
> > +               rnbd-common.o \
> > +               rnbd-srv-dev.o \
> > +               rnbd-srv-sysfs.o
>
> keep lists of things sorted
>
> Jason
Will do, thanks
Danil Kipnis April 30, 2020, 7:42 a.m. UTC | #3
On Wed, Apr 29, 2020 at 7:18 PM Jason Gunthorpe <jgg@ziepe.ca> wrote:
>
> On Mon, Apr 27, 2020 at 04:10:18PM +0200, Danil Kipnis wrote:
> > +rnbd-client-y := rnbd-clt.o \
> > +               rnbd-common.o \
> > +               rnbd-clt-sysfs.o
> > +
> > +rnbd-server-y := rnbd-srv.o \
> > +               rnbd-common.o \
> > +               rnbd-srv-dev.o \
> > +               rnbd-srv-sysfs.o
>
> keep lists of things sorted

Hi Jason, I understand you mean to sort the order of object files
here, right? Is that the reason the kbuild robot couldn't find the
rtrs.h include file?
Danil Kipnis April 30, 2020, 8:48 a.m. UTC | #4
On Wed, Apr 29, 2020 at 5:01 PM kbuild test robot <lkp@intel.com> wrote:
>
> Hi Danil,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on block/for-next]
> [also build test ERROR on driver-core/driver-core-testing rdma/for-next linus/master v5.7-rc3 next-20200428]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url:    https://github.com/0day-ci/linux/commits/Danil-Kipnis/RTRS-former-IBTRS-RDMA-Transport-Library-and-RNBD-former-IBNBD-RDMA-Network-Block-Device/20200428-080733
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
> config: i386-allyesconfig (attached as .config)
> compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=i386
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>    In file included from drivers/block/rnbd/rnbd-clt.c:19:0:
> >> drivers/block/rnbd/rnbd-clt.h:19:10: fatal error: rtrs.h: No such file or directory
>     #include "rtrs.h"
>              ^~~~~~~~
>    compilation terminated.
> --
>    In file included from drivers/block/rnbd/rnbd-srv.c:15:0:
> >> drivers/block/rnbd/rnbd-srv.h:16:10: fatal error: rtrs.h: No such file or directory
>     #include "rtrs.h"
>              ^~~~~~~~
>    compilation terminated.
>
> vim +19 drivers/block/rnbd/rnbd-clt.h
>
> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  18
> 9e3ecd2f9c364e6 Jack Wang 2020-04-27 @19  #include "rtrs.h"
> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  20  #include "rnbd-proto.h"
> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  21  #include "rnbd-log.h"
> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  22
>
> :::::: The code at line 19 was first introduced by commit
> :::::: 9e3ecd2f9c364e67eaa3ad19424b0d7ad6daacaa block/rnbd: client: private header with client structs and functions
>
> :::::: TO: Jack Wang <jinpu.wang@cloud.ionos.com>
> :::::: CC: 0day robot <lkp@intel.com>
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org


Dear kbuild test robot, dear All,

the mentioned branch with the attached config compiles without errors
on my machine. Does anybody knows how to reproduce this include file
not found error or why does it come up in the kbuild test compilation?

Thank you,
Danil.
Jason Gunthorpe April 30, 2020, 11:52 a.m. UTC | #5
On Thu, Apr 30, 2020 at 09:42:46AM +0200, Danil Kipnis wrote:
> On Wed, Apr 29, 2020 at 7:18 PM Jason Gunthorpe <jgg@ziepe.ca> wrote:
> >
> > On Mon, Apr 27, 2020 at 04:10:18PM +0200, Danil Kipnis wrote:
> > > +rnbd-client-y := rnbd-clt.o \
> > > +               rnbd-common.o \
> > > +               rnbd-clt-sysfs.o
> > > +
> > > +rnbd-server-y := rnbd-srv.o \
> > > +               rnbd-common.o \
> > > +               rnbd-srv-dev.o \
> > > +               rnbd-srv-sysfs.o
> >
> > keep lists of things sorted
> 
> Hi Jason, I understand you mean to sort the order of object files
> here, right? Is that the reason the kbuild robot couldn't find the
> rtrs.h include file?

Probably not, you'll need to fix those kbuild things too

Jason
Chen, Rong A May 1, 2020, 2:24 p.m. UTC | #6
On 4/30/2020 4:48 PM, Danil Kipnis wrote:
> On Wed, Apr 29, 2020 at 5:01 PM kbuild test robot <lkp@intel.com> wrote:
>> Hi Danil,
>>
>> I love your patch! Yet something to improve:
>>
>> [auto build test ERROR on block/for-next]
>> [also build test ERROR on driver-core/driver-core-testing rdma/for-next linus/master v5.7-rc3 next-20200428]
>> [if your patch is applied to the wrong git tree, please drop us a note to help
>> improve the system. BTW, we also suggest to use '--base' option to specify the
>> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>>
>> url:    https://github.com/0day-ci/linux/commits/Danil-Kipnis/RTRS-former-IBTRS-RDMA-Transport-Library-and-RNBD-former-IBNBD-RDMA-Network-Block-Device/20200428-080733
>> base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
>> config: i386-allyesconfig (attached as .config)
>> compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
>> reproduce:
>>          # save the attached .config to linux build tree
>>          make ARCH=i386
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kbuild test robot <lkp@intel.com>
>>
>> All errors (new ones prefixed by >>):
>>
>>     In file included from drivers/block/rnbd/rnbd-clt.c:19:0:
>>>> drivers/block/rnbd/rnbd-clt.h:19:10: fatal error: rtrs.h: No such file or directory
>>      #include "rtrs.h"
>>               ^~~~~~~~
>>     compilation terminated.
>> --
>>     In file included from drivers/block/rnbd/rnbd-srv.c:15:0:
>>>> drivers/block/rnbd/rnbd-srv.h:16:10: fatal error: rtrs.h: No such file or directory
>>      #include "rtrs.h"
>>               ^~~~~~~~
>>     compilation terminated.
>>
>> vim +19 drivers/block/rnbd/rnbd-clt.h
>>
>> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  18
>> 9e3ecd2f9c364e6 Jack Wang 2020-04-27 @19  #include "rtrs.h"
>> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  20  #include "rnbd-proto.h"
>> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  21  #include "rnbd-log.h"
>> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  22
>>
>> :::::: The code at line 19 was first introduced by commit
>> :::::: 9e3ecd2f9c364e67eaa3ad19424b0d7ad6daacaa block/rnbd: client: private header with client structs and functions
>>
>> :::::: TO: Jack Wang <jinpu.wang@cloud.ionos.com>
>> :::::: CC: 0day robot <lkp@intel.com>
>>
>> ---
>> 0-DAY CI Kernel Test Service, Intel Corporation
>> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>
> Dear kbuild test robot, dear All,
>
> the mentioned branch with the attached config compiles without errors
> on my machine. Does anybody knows how to reproduce this include file
> not found error or why does it come up in the kbuild test compilation?

Hi Danil,

The branch was generated by the bot, it may applied to a wrong base 
tree, could you take a look?

url:    https://github.com/0day-ci/linux/commits/Danil-Kipnis/RTRS-former-IBTRS-RDMA-Transport-Library-and-RNBD-former-IBNBD-RDMA-Network-Block-Device/20200428-080733
base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next


Best Regards,
Rong Chen
Danil Kipnis May 4, 2020, 7:52 a.m. UTC | #7
On Fri, May 1, 2020 at 4:24 PM Chen, Rong A <rong.a.chen@intel.com> wrote:
>
>
>
> On 4/30/2020 4:48 PM, Danil Kipnis wrote:
> > On Wed, Apr 29, 2020 at 5:01 PM kbuild test robot <lkp@intel.com> wrote:
> >> Hi Danil,
> >>
> >> I love your patch! Yet something to improve:
> >>
> >> [auto build test ERROR on block/for-next]
> >> [also build test ERROR on driver-core/driver-core-testing rdma/for-next linus/master v5.7-rc3 next-20200428]
> >> [if your patch is applied to the wrong git tree, please drop us a note to help
> >> improve the system. BTW, we also suggest to use '--base' option to specify the
> >> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
> >>
> >> url:    https://github.com/0day-ci/linux/commits/Danil-Kipnis/RTRS-former-IBTRS-RDMA-Transport-Library-and-RNBD-former-IBNBD-RDMA-Network-Block-Device/20200428-080733
> >> base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
> >> config: i386-allyesconfig (attached as .config)
> >> compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
> >> reproduce:
> >>          # save the attached .config to linux build tree
> >>          make ARCH=i386
> >>
> >> If you fix the issue, kindly add following tag as appropriate
> >> Reported-by: kbuild test robot <lkp@intel.com>
> >>
> >> All errors (new ones prefixed by >>):
> >>
> >>     In file included from drivers/block/rnbd/rnbd-clt.c:19:0:
> >>>> drivers/block/rnbd/rnbd-clt.h:19:10: fatal error: rtrs.h: No such file or directory
> >>      #include "rtrs.h"
> >>               ^~~~~~~~
> >>     compilation terminated.
> >> --
> >>     In file included from drivers/block/rnbd/rnbd-srv.c:15:0:
> >>>> drivers/block/rnbd/rnbd-srv.h:16:10: fatal error: rtrs.h: No such file or directory
> >>      #include "rtrs.h"
> >>               ^~~~~~~~
> >>     compilation terminated.
> >>
> >> vim +19 drivers/block/rnbd/rnbd-clt.h
> >>
> >> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  18
> >> 9e3ecd2f9c364e6 Jack Wang 2020-04-27 @19  #include "rtrs.h"
> >> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  20  #include "rnbd-proto.h"
> >> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  21  #include "rnbd-log.h"
> >> 9e3ecd2f9c364e6 Jack Wang 2020-04-27  22
> >>
> >> :::::: The code at line 19 was first introduced by commit
> >> :::::: 9e3ecd2f9c364e67eaa3ad19424b0d7ad6daacaa block/rnbd: client: private header with client structs and functions
> >>
> >> :::::: TO: Jack Wang <jinpu.wang@cloud.ionos.com>
> >> :::::: CC: 0day robot <lkp@intel.com>
> >>
> >> ---
> >> 0-DAY CI Kernel Test Service, Intel Corporation
> >> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> >
> > Dear kbuild test robot, dear All,
> >
> > the mentioned branch with the attached config compiles without errors
> > on my machine. Does anybody knows how to reproduce this include file
> > not found error or why does it come up in the kbuild test compilation?
>
> Hi Danil,
>
> The branch was generated by the bot, it may applied to a wrong base
> tree, could you take a look?
>
> url:    https://github.com/0day-ci/linux/commits/Danil-Kipnis/RTRS-former-IBTRS-RDMA-Transport-Library-and-RNBD-former-IBNBD-RDMA-Network-Block-Device/20200428-080733
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
>

Hi Rong Chen,

thanks for the reply. I directly checked out the branch
https://github.com/0day-ci/linux/commits/Danil-Kipnis/RTRS-former-IBTRS-RDMA-Transport-Library-and-RNBD-former-IBNBD-RDMA-Network-Block-Device/20200428-080733,
extracted the config attached to the bot's mail (it seems to be
"incomplete" make oldconfig still asks questions so I answered with
defaults) and did make ARCH=i386 as the mail suggests. Everything
compiled without errors... The only thing different is the compiler
version on my machine, but I doubt this is the reason...

Best,
Danil.


>
> Best Regards,
> Rong Chen
diff mbox series

Patch

diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 025b1b77b11a..084b9efcefca 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -458,4 +458,6 @@  config BLK_DEV_RSXX
 	  To compile this driver as a module, choose M here: the
 	  module will be called rsxx.
 
+source "drivers/block/rnbd/Kconfig"
+
 endif # BLK_DEV
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index 795facd8cf19..e1f63117ee94 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -39,6 +39,7 @@  obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX)	+= mtip32xx/
 
 obj-$(CONFIG_BLK_DEV_RSXX) += rsxx/
 obj-$(CONFIG_ZRAM) += zram/
+obj-$(CONFIG_BLK_DEV_RNBD)	+= rnbd/
 
 obj-$(CONFIG_BLK_DEV_NULL_BLK)	+= null_blk.o
 null_blk-objs	:= null_blk_main.o
diff --git a/drivers/block/rnbd/Kconfig b/drivers/block/rnbd/Kconfig
new file mode 100644
index 000000000000..4b6d3d816d1f
--- /dev/null
+++ b/drivers/block/rnbd/Kconfig
@@ -0,0 +1,28 @@ 
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+config BLK_DEV_RNBD
+	bool
+
+config BLK_DEV_RNBD_CLIENT
+	tristate "RDMA Network Block Device driver client"
+	depends on INFINIBAND_RTRS_CLIENT
+	select BLK_DEV_RNBD
+	help
+	  RNBD client is a network block device driver using rdma transport.
+
+	  RNBD client allows for mapping of a remote block devices over
+	  RTRS protocol from a target system where RNBD server is running.
+
+	  If unsure, say N.
+
+config BLK_DEV_RNBD_SERVER
+	tristate "RDMA Network Block Device driver server"
+	depends on INFINIBAND_RTRS_SERVER
+	select BLK_DEV_RNBD
+	help
+	  RNBD server is the server side of RNBD using rdma transport.
+
+	  RNBD server allows for exporting local block devices to a remote client
+	  over RTRS protocol.
+
+	  If unsure, say N.
diff --git a/drivers/block/rnbd/Makefile b/drivers/block/rnbd/Makefile
new file mode 100644
index 000000000000..450a9e4974d7
--- /dev/null
+++ b/drivers/block/rnbd/Makefile
@@ -0,0 +1,15 @@ 
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+ccflags-y := -Idrivers/infiniband/ulp/rtrs
+
+rnbd-client-y := rnbd-clt.o \
+		  rnbd-common.o \
+		  rnbd-clt-sysfs.o
+
+rnbd-server-y := rnbd-srv.o \
+		  rnbd-common.o \
+		  rnbd-srv-dev.o \
+		  rnbd-srv-sysfs.o
+
+obj-$(CONFIG_BLK_DEV_RNBD_CLIENT) += rnbd-client.o
+obj-$(CONFIG_BLK_DEV_RNBD_SERVER) += rnbd-server.o