[<prev] [next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.1008160721080.7297@cobra.newdream.net>
Date: Mon, 16 Aug 2010 07:37:29 -0700 (PDT)
From: Sage Weil <sage@...dream.net>
To: torvalds@...ux-foundation.org
cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
ceph-devel@...r.kernel.org
Subject: [GIT PULL] Ceph refactor, and rados block device (rbd) for 2.6.36
Hi Linus,
Please pull rbd (the rados block device) for 2.6.36 from
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git for-linus
or, in in leiu of that, the just ceph refactor parts from
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git libceph
This patchset does two things. First, it moves the non-file system
specific components of Ceph (the communications layer, authentication and
authorization, cluster membership, and object storage) into a separate
libceph module, leaving only the VFS and namespace components behind in
fs/ceph. It then implements a simple network block device (rbd) that
stripes data over objects stored in Ceph's distributed object store
(rados). The block device has a simple sysfs interface for setting
up/tearing down mappings and creating and managing read-only snapshots.
This provides functionality similar to nbd or iSCSI, but backed by a
reliable, scalable, and fault tolerant storage cluster.
The rbd code has been out of tree for almost two release cycles now, and
has gone out for review on -fsdevel and LKML several times (albeit with
minimal feedback). The main change this time around is that (at Christoph
and James' suggestion) we've moved common code into a separate module so
that you can include rbd without the ceph fs module.
If for some reason you do not want to pull rbd at this time, please pull
the libceph refactor, as that moves a large amount of Ceph code around and
will be difficult to rebase against the inevitable bug fixes during this
cycle.
Thanks!
sage
Sage Weil (1):
ceph: factor out libceph from Ceph file system
Yehuda Sadeh (7):
ceph-rbd: lookup pool in osdmap by name
ceph-rbd: refactor osdc requests creation functions
ceph-rbd: messenger and osdc changes for rbd
ceph-rbd: enable creation of clients that don't need mds
ceph-rbd: refactor mount related functions, add helpers
ceph-rbd: osdc support for osd call and rollback operations
rbd: introduce rados block device (rbd), based on libceph
MAINTAINERS | 11 +
drivers/block/Kconfig | 16 +
drivers/block/Makefile | 1 +
drivers/block/rbd.c | 1844 +++++++++++++++++++++++++++++
drivers/block/rbd_types.h | 73 ++
fs/ceph/Kconfig | 14 +-
fs/ceph/Makefile | 11 +-
fs/ceph/README | 20 -
fs/ceph/addr.c | 65 +-
fs/ceph/caps.c | 35 +-
fs/ceph/ceph_frag.c | 3 +-
fs/ceph/ceph_strings.c | 193 ---
fs/ceph/debugfs.c | 407 ++-----
fs/ceph/dir.c | 55 +-
fs/ceph/export.c | 5 +-
fs/ceph/file.c | 207 +---
fs/ceph/inode.c | 19 +-
fs/ceph/ioctl.c | 11 +-
fs/ceph/locks.c | 6 +-
fs/ceph/mds_client.c | 85 +-
fs/ceph/mds_client.h | 20 +-
fs/ceph/mdsmap.c | 11 +-
fs/ceph/snap.c | 10 +-
fs/ceph/strings.c | 117 ++
fs/ceph/super.c | 1154 ++++++++-----------
fs/ceph/super.h | 397 +++----
fs/ceph/xattr.c | 15 +-
{fs => include/linux}/ceph/auth.h | 4 +-
{fs => include/linux}/ceph/buffer.h | 0
{fs => include/linux}/ceph/ceph_debug.h | 2 +-
{fs => include/linux}/ceph/ceph_frag.h | 0
{fs => include/linux}/ceph/ceph_fs.h | 0
{fs => include/linux}/ceph/ceph_hash.h | 0
{fs => include/linux}/ceph/crush/crush.h | 0
{fs => include/linux}/ceph/crush/hash.h | 0
{fs => include/linux}/ceph/crush/mapper.h | 0
include/linux/ceph/debugfs.h | 33 +
{fs => include/linux}/ceph/decode.h | 5 +
include/linux/ceph/libceph.h | 249 ++++
{fs => include/linux}/ceph/mdsmap.h | 0
{fs => include/linux}/ceph/messenger.h | 12 +-
{fs => include/linux}/ceph/mon_client.h | 1 +
{fs => include/linux}/ceph/msgpool.h | 0
{fs => include/linux}/ceph/msgr.h | 0
{fs => include/linux}/ceph/osd_client.h | 67 ++
{fs => include/linux}/ceph/osdmap.h | 2 +
{fs => include/linux}/ceph/pagelist.h | 2 +-
{fs => include/linux}/ceph/rados.h | 0
{fs => include/linux}/ceph/types.h | 0
net/Kconfig | 1 +
net/Makefile | 1 +
net/ceph/Kconfig | 27 +
net/ceph/Makefile | 37 +
{fs => net}/ceph/armor.c | 0
{fs => net}/ceph/auth.c | 10 +-
{fs => net}/ceph/auth_none.c | 7 +-
{fs => net}/ceph/auth_none.h | 3 +-
{fs => net}/ceph/auth_x.c | 9 +-
{fs => net}/ceph/auth_x.h | 3 +-
{fs => net}/ceph/auth_x_protocol.h | 0
{fs => net}/ceph/buffer.c | 9 +-
net/ceph/ceph_common.c | 529 +++++++++
{fs => net}/ceph/ceph_fs.c | 5 +-
{fs => net}/ceph/ceph_hash.c | 2 +-
net/ceph/ceph_strings.c | 84 ++
{fs => net}/ceph/crush/crush.c | 2 +-
{fs => net}/ceph/crush/hash.c | 2 +-
{fs => net}/ceph/crush/mapper.c | 4 +-
{fs => net}/ceph/crypto.c | 4 +-
{fs => net}/ceph/crypto.h | 4 +-
net/ceph/debugfs.c | 268 +++++
{fs => net}/ceph/messenger.c | 296 ++++-
{fs => net}/ceph/mon_client.c | 73 +-
{fs => net}/ceph/msgpool.c | 4 +-
{fs => net}/ceph/osd_client.c | 400 +++++--
{fs => net}/ceph/osdmap.c | 30 +-
{fs => net}/ceph/pagelist.c | 8 +-
net/ceph/pagevec.c | 223 ++++
78 files changed, 5187 insertions(+), 2040 deletions(-)
create mode 100644 drivers/block/rbd.c
create mode 100644 drivers/block/rbd_types.h
delete mode 100644 fs/ceph/README
delete mode 100644 fs/ceph/ceph_strings.c
create mode 100644 fs/ceph/strings.c
rename {fs => include/linux}/ceph/auth.h (97%)
rename {fs => include/linux}/ceph/buffer.h (100%)
rename {fs => include/linux}/ceph/ceph_debug.h (96%)
rename {fs => include/linux}/ceph/ceph_frag.h (100%)
rename {fs => include/linux}/ceph/ceph_fs.h (100%)
rename {fs => include/linux}/ceph/ceph_hash.h (100%)
rename {fs => include/linux}/ceph/crush/crush.h (100%)
rename {fs => include/linux}/ceph/crush/hash.h (100%)
rename {fs => include/linux}/ceph/crush/mapper.h (100%)
create mode 100644 include/linux/ceph/debugfs.h
rename {fs => include/linux}/ceph/decode.h (96%)
create mode 100644 include/linux/ceph/libceph.h
rename {fs => include/linux}/ceph/mdsmap.h (100%)
rename {fs => include/linux}/ceph/messenger.h (95%)
rename {fs => include/linux}/ceph/mon_client.h (99%)
rename {fs => include/linux}/ceph/msgpool.h (100%)
rename {fs => include/linux}/ceph/msgr.h (100%)
rename {fs => include/linux}/ceph/osd_client.h (76%)
rename {fs => include/linux}/ceph/osdmap.h (97%)
rename {fs => include/linux}/ceph/pagelist.h (93%)
rename {fs => include/linux}/ceph/rados.h (100%)
rename {fs => include/linux}/ceph/types.h (100%)
create mode 100644 net/ceph/Kconfig
create mode 100644 net/ceph/Makefile
rename {fs => net}/ceph/armor.c (100%)
rename {fs => net}/ceph/auth.c (97%)
rename {fs => net}/ceph/auth_none.c (96%)
rename {fs => net}/ceph/auth_none.h (94%)
rename {fs => net}/ceph/auth_x.c (99%)
rename {fs => net}/ceph/auth_x.h (96%)
rename {fs => net}/ceph/auth_x_protocol.h (100%)
rename {fs => net}/ceph/buffer.c (86%)
create mode 100644 net/ceph/ceph_common.c
rename {fs => net}/ceph/ceph_fs.c (92%)
rename {fs => net}/ceph/ceph_hash.c (98%)
create mode 100644 net/ceph/ceph_strings.c
rename {fs => net}/ceph/crush/crush.c (98%)
rename {fs => net}/ceph/crush/hash.c (98%)
rename {fs => net}/ceph/crush/mapper.c (99%)
rename {fs => net}/ceph/crypto.c (99%)
rename {fs => net}/ceph/crypto.h (95%)
create mode 100644 net/ceph/debugfs.c
rename {fs => net}/ceph/messenger.c (89%)
rename {fs => net}/ceph/mon_client.c (94%)
rename {fs => net}/ceph/msgpool.c (95%)
rename {fs => net}/ceph/osd_client.c (84%)
rename {fs => net}/ceph/osdmap.c (97%)
rename {fs => net}/ceph/pagelist.c (83%)
create mode 100644 net/ceph/pagevec.c
--
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