[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070721203819.GA10706@mail.linbit.com>
Date: Sat, 21 Jul 2007 22:38:19 +0200
From: Lars Ellenberg <lars@...bit.com>
To: Jens Axboe <axboe@...nel.dk>, Andrew Morton <akpm@...l.org>,
lkml <linux-kernel@...r.kernel.org>
Cc: drbd-user@...ts.linbit.com
Subject: [DRIVER SUBMISSION] DRBD wants to go mainline
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists