The following is our latest version of the rados block device. Any comments, questions, suggestions are more than welcome. We would like to have that ready for inclusion for the next window and it'd be nice having it reviewed by someone more familiar with the block/storage layer. RBD 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, snapshots, etc.) 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 device driver is 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. Beside misc bug fixes, this version has a snapshots mechanism implemented. It is possible to use snapshots at the rbd-image granularity. There is an interface for creating and selecting a snapshot. However, at this point snapshots are strictly read-only. Yehuda --- fs/ceph/Makefile | 3 +- fs/ceph/caps.c | 2 +- fs/ceph/ceph_fs.h | 47 ++- fs/ceph/ceph_strings.c | 23 +- fs/ceph/debugfs.c | 11 +- fs/ceph/file.c | 56 ++- fs/ceph/mds_client.c | 11 +- fs/ceph/messenger.c | 188 ++++- fs/ceph/messenger.h | 5 +- fs/ceph/mon_client.c | 171 +++++- fs/ceph/mon_client.h | 5 + fs/ceph/msgpool.c | 4 +- fs/ceph/msgr.h | 1 - fs/ceph/osd_client.c | 201 ++++-- fs/ceph/osd_client.h | 28 + fs/ceph/osdmap.c | 13 + fs/ceph/osdmap.h | 2 + fs/ceph/rados.h | 4 +- fs/ceph/rbd.c | 1835 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/ceph/rbd.h | 8 + fs/ceph/super.c | 191 ++++-- fs/ceph/super.h | 31 +- 22 files changed, 2665 insertions(+), 175 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html