[DRIVER SUBMISSION] DRBD wants to go mainline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	DRBD wants to go mainline.
	please have a look at the "for-linus" branch of
	git://git.drbd.org/home/git/linux-drbd.git.

Longer story:

Hi there,

for lkml readers who don't know about DRBD yet:
DRBD is the distributed replicated block device,
a stacked block device driver as developed mainly
by Lars Ellenberg and Philipp Reisner
both employed at Linbit.

We implement shared-disk semantics in a shared-nothing cluster.

yes, we even support cluster file systems (OCFS2, GFS2)
[support for this is somewhat clumsy, still,
mainly userland/setup/convenience issues.
but that will improve.]

to actually use it you will need some userland tools
(drbdadm, drbdmeta, drbdsetup).

most unfortunate current limitations:
we support only 2 nodes directly;
but we are working on that, too :)

I'm going to give a presentation/BoF about it
at linux-conf.eu in September.

Currently we are at "stable version 8.0.y" (y == 4 right now,
8.0.5 to be released within a few days.

we have a project home page http://www.drbd.org
we have some mention on the linux-HA project http://www.linux-ha.org/DRBD
(both are slightly out-dated, unfortunately...)
our subversion repository (yeah, sorry, there has been no git back then)
is at http://svn.drbd.org/drbd/branches/drbd-8.0

and, we have a user base...
[drbd-user readers who are in a position to do so:
please help us get this into mainline! ]

Now, finally, we have a git repository of the kernel module part, too:
 git://git.drbd.org/home/git/linux-drbd.git

it has two branches currently,
 master, which tracks ...torvalds/linux-2.6.git, and 
 for-linus, which tracks the cleaned up patch meant for inclusin in
mainline.
so if interessted please do
 git fetch git://git.drbd.org/home/git/linux-drbd.git +for-linus:drbd-8.0
to get a local branch named drbd-8.0 where you can inspect it.
see below for a diffstat of master..for-linus.

Jens, Andrew, anyone: please review,
and give me advice how to proceed from here.

technically, would you prefer
frequent rebase of the "for-linus" branch,
or rather merges back and forth?

Cheers,

	Lars




The only not drbd specific files touched
are listed explicitly here:

=====================
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index a4a3119..76f84bc 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -272,6 +272,8 @@ config BLK_DEV_CRYPTOLOOP
 	  instead, which can be configured to be on-disk compatible with the
 	  cryptoloop device.
 
+source "drivers/block/drbd/Kconfig"
+
 config BLK_DEV_NBD
 	tristate "Network block device support"
 	depends on NET
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index 819c829..b27e16a 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -31,3 +31,4 @@ obj-$(CONFIG_BLK_DEV_UB)	+= ub.o
 
 obj-$(CONFIG_XEN_BLKDEV_FRONTEND)	+= xen-blkfront.o
 obj-$(CONFIG_LGUEST_GUEST)	+= lguest_blk.o
+obj-$(CONFIG_BLK_DEV_DRBD)	+= drbd/
diff --git a/include/linux/major.h b/include/linux/major.h
index 0cb9805..2dbd7c1 100644
--- a/include/linux/major.h
+++ b/include/linux/major.h
@@ -145,6 +145,8 @@
 #define UNIX98_PTY_MAJOR_COUNT	8
 #define UNIX98_PTY_SLAVE_MAJOR	(UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT)
 
+#define DRBD_MAJOR		147
+
 #define RTF_MAJOR		150
 #define RAW_MAJOR		162
=====================

(yes, block major 147 is assigned by LANANA,
 as documented in Documentation/devices.txt already)

git-diff master..for-linus | diffstat
 drivers/block/Kconfig              |    2 
 drivers/block/Makefile             |    1 
 drivers/block/drbd/Kconfig         |   32 
 drivers/block/drbd/Makefile        |    7 
 drivers/block/drbd/drbd_actlog.c   | 1456 ++++++++++++++++
 drivers/block/drbd/drbd_bitmap.c   | 1184 +++++++++++++
 drivers/block/drbd/drbd_buildtag.c |    6 
 drivers/block/drbd/drbd_int.h      | 1894 ++++++++++++++++++++
 drivers/block/drbd/drbd_main.c     | 3249 +++++++++++++++++++++++++++++++++++
 drivers/block/drbd/drbd_nl.c       | 1847 ++++++++++++++++++++
 drivers/block/drbd/drbd_proc.c     |  267 ++
 drivers/block/drbd/drbd_receiver.c | 3356 +++++++++++++++++++++++++++++++++++++
 drivers/block/drbd/drbd_req.c      | 1169 ++++++++++++
 drivers/block/drbd/drbd_req.h      |  320 +++
 drivers/block/drbd/drbd_strings.c  |  106 +
 drivers/block/drbd/drbd_worker.c   | 1046 +++++++++++
 drivers/block/drbd/drbd_wrappers.h |  144 +
 drivers/block/drbd/lru_cache.c     |  370 ++++
 drivers/block/drbd/lru_cache.h     |  147 +
 include/linux/drbd.h               |  284 +++
 include/linux/drbd_config.h        |   55 
 include/linux/drbd_limits.h        |  124 +
 include/linux/drbd_nl.h            |  105 +
 include/linux/drbd_tag_magic.h     |   78 
 include/linux/major.h              |    2 
 25 files changed, 17251 insertions(+)

 

-- 
: Lars Ellenberg                            Tel +43-1-8178292-0  :
: LINBIT Information Technologies GmbH      Fax +43-1-8178292-82 :
: Vivenotgasse 48, A-1120 Vienna/Europe    http://www.linbit.com :
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux