[sheepdog] [PATCH RFC 1/2] sheepdev: linux kernel module of block device driver for sheepdog
Hitoshi Mitake
h.mitake at gmail.com
Thu Dec 27 16:57:43 CET 2012
At Thu, 27 Dec 2012 22:00:41 +0800,
levin li wrote:
>
> From: levin li <xingke.lwp at taobao.com>
>
> This module provides function for users to take sheepdog VDIs as block
> devices in linux, users can register a VDI to its kernel space, it just
> like that a new hard disk is added to the computer, users can create
> partitions for the disk, format the disk or mount the disk, it provides
> users a efficient way to use sheepdog as distributed storage system.
>
> The usage is easy, after install the module sheepdev.ko, it creates a proc
> entry '/proc/entry', you can write into the proc entry file to control
> the driver.
>
> Add a new block device from an existing sheepdog VDI:
>
> # echo "add 127.0.0.1:7070 a5d05d" > /proc/sheep
>
> It would create a block device /dev/sheepa, you can format/mount this device:
>
> # mkfs.ext4 /dev/sheepa
> # mount -t ext4 /sheep/sheepa test
>
> Remove a block device from the kernel:
>
> # echo "del sheepa" > /proc/sheep
>
> Signed-off-by: levin li <xingke.lwp at taobao.com>
> ---
> sheepdev/connect.c | 178 ++++++++++++
> sheepdev/module.c | 726 ++++++++++++++++++++++++++++++++++++++++++++++
> sheepdev/sheep.c | 136 +++++++++
> sheepdev/sheep.h | 88 ++++++
> sheepdev/sheepdog_proto.h | 290 ++++++++++++++++++
> 5 files changed, 1418 insertions(+)
> create mode 100644 sheepdev/connect.c
> create mode 100644 sheepdev/module.c
> create mode 100644 sheepdev/sheep.c
> create mode 100644 sheepdev/sheep.h
> create mode 100644 sheepdev/sheepdog_proto.h
>
It is interesting. I've not looked the internal of sheepdev, but I
tried to build it and found this compile error:
/home/mitake/github/sheepdog.git/sheepdev/connect.c: In function ‘connect_to’:
/home/mitake/github/sheepdog.git/sheepdev/connect.c:31: error: implicit declaration of function ‘in_aton’
It seems that including <linux/inet.h> in sheep.h is required.
The version of my environment for building the kernel module is
3.7.0-rc7.
Thanks,
Hitoshi
More information about the sheepdog
mailing list