From mboxrd@z Thu Jan 1 00:00:00 1970 From: Randy Dunlap Subject: Re: [PATCH 8/8] rbd: introduce rados block device (rbd), based on libceph Date: Fri, 13 Aug 2010 19:44:10 -0700 Message-ID: <20100813194410.9c608b38.randy.dunlap@oracle.com> References: <1281721240-26130-1-git-send-email-sage@newdream.net> <1281721240-26130-9-git-send-email-sage@newdream.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, ceph-devel@vger.kernel.org, hch@lst.de, akpm@linux-foundation.org, yehuda@hq.newdream.net To: Sage Weil Return-path: In-Reply-To: <1281721240-26130-9-git-send-email-sage@newdream.net> Sender: ceph-devel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Fri, 13 Aug 2010 10:40:40 -0700 Sage Weil wrote: > From: Yehuda Sadeh > > The rados block device (rbd), based on osdblk, creates a block device > that is backed by objects stored in the Ceph distributed object storage > cluster. Each device consists of a single metadata object and data > striped over many data objects. > > The rbd driver supports read-only snapshots. > > Signed-off-by: Yehuda Sadeh > Signed-off-by: Sage Weil > --- > MAINTAINERS | 9 + > drivers/block/Kconfig | 13 + > drivers/block/Makefile | 1 + > drivers/block/rbd.c | 1844 +++++++++++++++++++++++++++++++++++++++++++++ > drivers/block/rbd_types.h | 73 ++ > 5 files changed, 1940 insertions(+), 0 deletions(-) > create mode 100644 drivers/block/rbd.c > create mode 100644 drivers/block/rbd_types.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 5102922..cb34b1b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4694,6 +4694,15 @@ F: fs/qnx4/ > F: include/linux/qnx4_fs.h > F: include/linux/qnxtypes.h > > +RADOS BLOCK DEVICE (RBD) > +F: include/linux/qnxtypes.h > +M: Yehuda Sadeh > +M: Sage Weil > +M: ceph-devel@vger.kernel.org > +S: Supported > +F: drivers/block/rbd.c > +F: drivers/block/rbd_types.h > + > RADEON FRAMEBUFFER DISPLAY DRIVER > M: Benjamin Herrenschmidt > L: linux-fbdev@vger.kernel.org > diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig > index de27768..708104b 100644 > --- a/drivers/block/Kconfig > +++ b/drivers/block/Kconfig > @@ -488,4 +488,17 @@ config BLK_DEV_HD > > If unsure, say N. > > +config BLK_DEV_RBD > + tristate "Rados block device (RBD)" > + select CEPH_LIB > + default n > + help > + Say Y here if you want include the Rados block device, which stripes > + a block device over objects stored in the Ceph distributed object > + store. > + > + More information at http://ceph.newdream.net/. > + > + If unsure, say N. > + > endif # BLK_DEV In linux-next of 20100813, I get: net/built-in.o: In function `read_partial_message_section': messenger.c:(.text+0x6598b): undefined reference to `crc32c' net/built-in.o: In function `read_partial_message_bio': messenger.c:(.text+0x65a57): undefined reference to `crc32c' net/built-in.o: In function `write_partial_msg_pages': messenger.c:(.text+0x65e22): undefined reference to `crc32c' net/built-in.o: In function `prepare_write_message': messenger.c:(.text+0x66219): undefined reference to `crc32c' messenger.c:(.text+0x66240): undefined reference to `crc32c' net/built-in.o:messenger.c:(.text+0x66264): more undefined references to `crc32c' follow when CONFIG_INET is not enabled. It looks like BLK_DEV_RBD needs to depend on INET and possibly on BLOCK (I sent a patch for depends on BLOCK on 2010-aug-04 due to other build errors). --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code ***