From: Yehuda Sadeh <yehuda@hq.newdream.net>
To: linux-kernel@vger.kernel.org
Cc: linux-fsdevel@vger.kernel.org, yehudasa@gmail.com,
sage@newdream.net, axboe@kernel.dk,
Yehuda Sadeh <yehuda@hq.newdream.net>
Subject: [PATCH 0/6] Ceph RADOS block device
Date: Tue, 13 Apr 2010 16:29:09 -0700 [thread overview]
Message-ID: <1271201355-9346-1-git-send-email-yehuda@hq.newdream.net> (raw)
The following series implements a linux rados block device. It allows striping of data across rados, the ceph distributed block layer, and is binary compatible with Christian Brunner's kvm-rbd implementation. Similarly to the Sheepdog project, it stripes the block device across 4MB (or other configurable size) objects stored by the distributed object store, and enjoys all the rados features (high availability, scalability, etc.). Future versions will be able to use the rados snapshots mechanism.
A use case for this device would be to have some kind of a local file system created on it, and use it with conjuction of kvm to do migration and other related stuff. Another option would be to use it as data devices for other distributed file systems (e.g., ocfs2, gfs2).
The actual device driver is implemented in the last patch of the series, and is based on osdblk. Currently, it resides under the fs/ceph tree and does not exist as a separate module of its own, such that the ceph.ko module contains both the ceph file system and the rbd block device. Another option would be to have it as a separate module that resides under drivers/block, however, it would still depend on the ceph.ko module.
Any comments, questions, suggestions are more than welcome,
Yehuda
---
fs/ceph/Makefile | 3 +-
fs/ceph/caps.c | 2 +-
fs/ceph/debugfs.c | 11 +-
fs/ceph/file.c | 56 +++-
fs/ceph/mds_client.c | 11 +-
fs/ceph/messenger.c | 185 +++++++--
fs/ceph/messenger.h | 5 +-
fs/ceph/mon_client.c | 18 +-
fs/ceph/msgpool.c | 4 +-
fs/ceph/osd_client.c | 193 ++++++---
fs/ceph/osd_client.h | 27 ++
fs/ceph/rbd.c | 1224 ++++++++++++++++++++++++++++++++++++++++++++++++++
fs/ceph/rbd.h | 8 +
fs/ceph/super.c | 165 ++++++--
fs/ceph/super.h | 31 ++-
15 files changed, 1786 insertions(+), 157 deletions(-)
next reply other threads:[~2010-04-13 23:52 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-13 23:29 Yehuda Sadeh [this message]
2010-04-13 23:29 ` [PATCH 1/6] ceph: all allocation functions should get gfp_mask Yehuda Sadeh
2010-04-13 23:29 ` [PATCH 2/6] ceph: refactor osdc requests creation functions Yehuda Sadeh
2010-04-13 23:29 ` [PATCH 3/6] ceph: message layer can send/receive data in bio Yehuda Sadeh
2010-04-13 23:29 ` [PATCH 4/6] ceph: enable creation of clients that don't need mds Yehuda Sadeh
2010-04-13 23:29 ` [PATCH 5/6] ceph: refactor mount related functions, add helpers Yehuda Sadeh
2010-04-14 9:57 ` Andi Kleen
2010-04-14 17:39 ` yehuda
2010-04-13 23:29 ` [PATCH 6/6] ceph: rados block device Yehuda Sadeh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1271201355-9346-1-git-send-email-yehuda@hq.newdream.net \
--to=yehuda@hq.newdream.net \
--cc=axboe@kernel.dk \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sage@newdream.net \
--cc=yehudasa@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).