This patch adds support for a unix domain socket for a connection
between qemu and local sheepdog server. You can use the unix domain
socket with the following syntax:
$ qemu sheepdog+unix:///vdiname?socket=socket path[#snapid]
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
This uses the form host:port for the representation of the
sheepdog server to use inet_connect.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 111 +++
1 file changed, 30 insertions(+), 81 deletions(-)
diff
Changes from v1:
- split patch for easy review
- move set_nodelay to lib/osdep.c
- remove redundant error checks
- add a bit more explanation to qemu-options.hx
MORITA Kazutaka (5):
slirp/tcp_subr.c: fix coding style in tcp_connect
move socket_set_nodelay to osdep.c
sheepdog: accept URIs
At Thu, 25 Apr 2013 12:12:58 +0800,
Liu Yuan wrote:
On 04/25/2013 12:47 AM, Liu Yuan wrote:
- don't break old behavior if we boot up on the snapshot by using
s-reverted
to indicate if we delete working VDI successfully
If we implement 'boot from snapshot' == loadvm snapshot, we
At Thu, 25 Apr 2013 16:42:34 +0800,
Liu Yuan wrote:
+/* Delete current working VDI on the snapshot chain */
+static bool sd_delete(BDRVSheepdogState *s)
+{
+unsigned int wlen = SD_MAX_VDI_LEN, rlen = 0;
+SheepdogVdiReq hdr = {
+.opcode = SD_OP_DEL_VDI,
+.vdi_id =
At Thu, 25 Apr 2013 17:44:41 +0800,
Liu Yuan wrote:
On 04/25/2013 05:40 PM, MORITA Kazutaka wrote:
Isn't it better to show an error message when the result code is
SD_RES_NO_VDI?
This information isn't useful even for debugging, what it for?
The block driver tries to delete the vdi
Sheepdog returns SD_RES_READONLY when qemu sends write requests to the
snapshot vdi. This adds the result code and makes sd_strerror() print
its error reason.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c |2 ++
1 files changed, 2 insertions(+), 0
This makes 'filename' and 'tag' constant variables, and renames
'for_snapshot' to 'lock' to clear how it works.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 15 ---
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/block
When a snapshot is taken from out side of qemu (e.g. qemu-img
snapshot), write requests to the current vdi return SD_RES_READONLY.
In this case, the sheepdog block driver needs to update the current
inode to the latest one and resend the write requests.
Signed-off-by: MORITA Kazutaka morita.kazut
Currently, we can take sheepdog snapshots of running VMs only from the
qemu monitor. This series allows taking online snapshots from
qemu-img.
The first two patches prepare for the thrid patch.
MORITA Kazutaka (3):
sheepdog: cleanup find_vdi_name
sheepdog: add SD_RES_READONLY result code
to create a new working VDI based on the snapshot
The snapshot chain for above example will be:
base -- snap1 -- snap2
^
|
working VDI
Cc: qemu-devel@nongnu.org
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Cc: Stefan Hajnoczi
When a snapshot is taken from out side of qemu (e.g. qemu-img
snapshot), write requests to the current vdi return SD_RES_READONLY.
In this case, the sheepdog block driver needs to update the current
inode to the latest one and resend the write requests.
Signed-off-by: MORITA Kazutaka morita.kazut
This makes 'filename' and 'tag' constant variables, and renames
'for_snapshot' to 'lock' to clear how it works.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 15 ---
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/block
This adds a helper function to update the current inode state with the
specified vdi object.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 67 +++--
1 files changed, 39 insertions(+), 28 deletions(-)
diff
Sheepdog returns SD_RES_READONLY when qemu sends write requests to the
snapshot vdi. This adds the result code and makes sd_strerror() print
its error reason.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c |2 ++
1 files changed, 2 insertions(+), 0
. This series allows taking online snapshots from
qemu-img.
The first two patches prepare for the thrid patch.
MORITA Kazutaka (4):
sheepdog: cleanup find_vdi_name
sheepdog: add SD_RES_READONLY result code
sheepdog: add helper function to reload inode
sheepdog: resend write requests when
At Thu, 25 Apr 2013 21:08:01 +0800,
Liu Yuan wrote:
On 04/25/2013 06:37 PM, MORITA Kazutaka wrote:
+/* update inode with the latest state */
+static int coroutine_fn reload_vdi_object(BDRVSheepdogState *s)
I'd suggest function name as
'reload_inode(BDRVSheepdogState *s, tag, snapid
At Thu, 20 Dec 2012 02:29:31 +0800,
Liu Yuan wrote:
From: Liu Yuan tailai...@taobao.com
Sheepdog supports both writeback/writethrough write but has not yet supported
DIRECTIO semantics which bypass the cache completely even if Sheepdog daemon
is
set up with cache enabled.
Suppose
writeback/writethrough is also
supported.
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Cc: Stefan Hajnoczi stefa...@gmail.com
Signed-off-by: Liu Yuan tailai...@taobao.com
---
v2: adopt to current emulated writethrough cache setting
block/sheepdog.c | 70
At Thu, 10 Jan 2013 13:38:16 +0800,
Liu Yuan wrote:
On 01/09/2013 11:10 PM, Paolo Bonzini wrote:
Il 09/01/2013 14:04, Liu Yuan ha scritto:
2 The upper layer software which relies on the 'cache=xxx' to choose
cache mode will fail its assumption against new QEMU.
Which assumptions do
At Mon, 14 Jan 2013 14:01:02 +0800,
Liu Yuan wrote:
@@ -964,7 +971,10 @@ static int coroutine_fn
add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,
memset(hdr, 0, sizeof(hdr));
-if (aiocb_type == AIOCB_READ_UDATA) {
+if (aiocb_type == AIOCB_FLUSH_CACHE) {
+
This patch adds support for a unix domain socket for a connection
between qemu and local sheepdog server. You can use the unix domain
socket with the following syntax like NBD driver:
$ qemu sheepdog:unix:socket path:image name
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
At Sat, 19 Jan 2013 16:47:37 +0800,
harryxiyou wrote:
Hi all,
I wanna add a new block storage driver by Libvirt/Qemu way for Openstack,
which
is as same as Sheepdog driver for Openstack. So i think the theories
are like this.
1, In the Openstack Nova branch, Openstck driver call
At Wed, 16 Jan 2013 15:21:09 +0100,
Stefan Hajnoczi wrote:
On Tue, Jan 15, 2013 at 11:12:40PM +0900, MORITA Kazutaka wrote:
+static int set_nodelay(int fd)
+{
+int opt = 1;
+return setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char *)opt,
sizeof(opt));
+}
+
Please split
explanation to qemu-options.hx
MORITA Kazutaka (3):
move socket_set_nodelay to osdep.c
sheepdog: use inet_connect to simplify connect code
sheepdog: add support for connecting to unix domain socket
block/sheepdog.c | 150 +---
gdbstub.c
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 11 +--
gdbstub.c |5 ++---
include/qemu/sockets.h |1 +
qemu-char.c|6 --
slirp/tcp_subr.c |3 +--
util/osdep.c |6 ++
6 files
-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 37 +
qemu-options.hx | 19 +--
2 files changed, 30 insertions(+), 26 deletions(-)
diff --git a/block/sheepdog.c b/block/sheepdog.c
index c287827..34685fd 100644
--- a/block
This uses the form host:port for the representation of the
sheepdog server to use inet_connect.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 112 +-
1 files changed, 35 insertions(+), 77 deletions
At Tue, 22 Jan 2013 10:38:51 +0100,
Stefan Hajnoczi wrote:
On Mon, Jan 21, 2013 at 09:23:27AM +0900, MORITA Kazutaka wrote:
This series adds support for a unix domain socket for a connection
between qemu and local sheepdog server. The first two patches are
cleanups for the third patch
At Fri, 25 Jan 2013 19:05:06 +0800,
harryxiyou wrote:
On Sat, Jan 19, 2013 at 10:04 PM, MORITA Kazutaka
morita.kazut...@gmail.com wrote:
[...]
If you do the above work, I think you can use your file system with
OpenStack.
But I suggest doing them step by step. If your file system
At Mon, 28 Jan 2013 21:18:42 +0800,
harryxiyou wrote:
Hi Morita and other developers,
I have programed HLFS(HDFS based Log-structured FileSystem) driver for Libvirt
according to Morita's patch(commit 036ad5052b43fe9f0d197e89fd16715950408e1d)
for Libvirt, which my patch is not for Libvirt
At Mon, 28 Jan 2013 23:43:04 +0800,
harryxiyou wrote:
Following test is Libvirt v0.8.6, which you just add Sheepdog volume
patch to Libvirt.
The version doesn't support Sheepdog storage pool and volume. Please
note that my patch you are looking at doesn't implements a sheepdog
storage
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 11 +--
gdbstub.c |5 ++---
include/qemu/sockets.h |1 +
qemu-char.c|6 --
slirp/tcp_subr.c |3 +--
util/osdep.c |6 ++
6 files
Fix coding style in tcp_connect before the next patch.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
slirp/tcp_subr.c | 140 --
1 files changed, 72 insertions(+), 68 deletions(-)
diff --git a/slirp/tcp_subr.c b/slirp
The URI syntax is consistent with the NBD and Gluster syntax. The
syntax is
sheepdog[+tcp]://[host:port]/vdiname[#snapid|#tag]
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 139 -
qemu-doc.texi
This patch adds support for a unix domain socket for a connection
between qemu and local sheepdog server. You can use the unix domain
socket with the following syntax:
$ qemu sheepdog+unix:///vdiname?socket path[#snapid]
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block
set_nodelay to lib/osdep.c
- remove redundant error checks
- add a bit more explanation to qemu-options.hx
MORITA Kazutaka (5):
slirp/tcp_subr.c: fix coding style in tcp_connect
move socket_set_nodelay to osdep.c
sheepdog: accept URIs
sheepdog: use inet_connect to simplify connect code
This uses the form host:port for the representation of the
sheepdog server to use inet_connect.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 111 ++---
1 files changed, 30 insertions(+), 81 deletions(-)
diff
At Tue, 29 Jan 2013 16:22:49 +0800,
Liu Yuan wrote:
From: Liu Yuan tailai...@taobao.com
Sheep daemon needs vdi_id to identify which vdi is closed to release resources
such as object cache.
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Cc: Stefan
At Tue, 29 Jan 2013 09:25:13 +0100,
Paolo Bonzini wrote:
Il 29/01/2013 01:11, MORITA Kazutaka ha scritto:
This patch adds support for a unix domain socket for a connection
between qemu and local sheepdog server. You can use the unix domain
socket with the following syntax:
$ qemu
Fix coding style in tcp_connect before the next patch.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
slirp/tcp_subr.c | 140 --
1 files changed, 72 insertions(+), 68 deletions(-)
diff --git a/slirp/tcp_subr.c b/slirp
This patch adds support for a unix domain socket for a connection
between qemu and local sheepdog server. You can use the unix domain
socket with the following syntax:
$ qemu sheepdog+unix:///vdiname?socket=socket path[#snapid]
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
This uses the form host:port for the representation of the
sheepdog server to use inet_connect.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 111 ++---
1 files changed, 30 insertions(+), 81 deletions(-)
diff
The URI syntax is consistent with the NBD and Gluster syntax. The
syntax is
sheepdog[+tcp]://[host:port]/vdiname[#snapid|#tag]
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 139 -
qemu-doc.texi
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 11 +--
gdbstub.c |5 ++---
include/qemu/sockets.h |1 +
qemu-char.c|6 --
slirp/tcp_subr.c |3 +--
util/osdep.c |6 ++
6 files
At Tue, 29 Jan 2013 17:14:16 +0800,
Liu Yuan wrote:
From: Liu Yuan tailai...@taobao.com
Sheep daemon needs vdi_id to identify which vdi is closed to release resources
such as object cache.
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Cc: Stefan
Changes from v1:
- split patch for easy review
- move set_nodelay to lib/osdep.c
- remove redundant error checks
- add a bit more explanation to qemu-options.hx
MORITA Kazutaka (5):
slirp/tcp_subr.c: fix coding style in tcp_connect
move socket_set_nodelay to osdep.c
sheepdog: accept URIs
At Tue, 29 Jan 2013 10:11:44 -0700,
Eric Blake wrote:
On 01/29/2013 01:56 AM, MORITA Kazutaka wrote:
This uses the form host:port for the representation of the
sheepdog server to use inet_connect.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c
If an io_flush handler is not set, qemu_aio_wait doesn't invoke
callbacks.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/block/sheepdog.c b/block/sheepdog.c
index e4ec32d..cb0eeed
At Mon, 11 Mar 2013 15:39:05 +0100,
Stefan Hajnoczi wrote:
On Mon, Mar 11, 2013 at 06:01:02PM +0900, MORITA Kazutaka wrote:
If an io_flush handler is not set, qemu_aio_wait doesn't invoke
callbacks.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c
it is safe to io_flush to NULL
MORITA Kazutaka (2):
sheepdog: use non-blocking fd in coroutine context
sheepdog: set io_flush handler in do_co_req
block/sheepdog.c | 19 +--
1 file changed, 13 insertions(+), 6 deletions(-)
--
1.8.1.3.566.gaa39828
Using a blocking socket in the coroutine context reduces the chance of
switching to other work. This patch makes the sheepdog driver use a
non-blocking fd always.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 6 ++
1 file changed, 2 insertions(+), 4
If an io_flush handler is not set, qemu_aio_wait doesn't invoke
callbacks.
Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
block/sheepdog.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/block/sheepdog.c b/block/sheepdog.c
index 27abef2
error on the failed object.
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Signed-off-by: Liu Yuan tailai...@taobao.com
---
Update
- update the coding style and passed checkpath
block/sheepdog.c | 12 +++-
1 file changed, 7 insertions(+), 5
At Mon, 17 Dec 2012 13:22:31 +0800,
Liu Yuan wrote:
On 12/17/2012 11:43 AM, MORITA Kazutaka wrote:
send_pending_req() needs to be called even in error case. Rather than
moving the error check, I think it looks better to update
s-inode.data_vdi_id only when rsp.result is SD_RES_SUCCESS
At Mon, 17 Dec 2012 14:17:27 +0800,
Liu Yuan wrote:
From: Liu Yuan tailai...@taobao.com
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Signed-off-by: Liu Yuan tailai...@taobao.com
---
block/sheepdog.c |2 +-
1 file changed, 1 insertion(+), 1
error on the failed object.
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Signed-off-by: Liu Yuan tailai...@taobao.com
---
block/sheepdog.c |9 +
1 file changed, 5 insertions(+), 4 deletions(-)
Reviewed-by: MORITA Kazutaka morita.kazut
currently doesn't recognize it.
This patch adds an error description when QEMU client receives it, other than
plainly printing 'Invalid error code'
Cc: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
Cc: Kevin Wolf kw...@redhat.com
Cc: Stefan Hajnoczi stefa...@redhat.com
Signed-off-by: Liu Yuan
Hitoshi takes over sheepdog maintenance from me.
Signed-off-by: MORITA Kazutaka morita.kazut...@gmail.com
---
MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 59940f9..28a697d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -968,7
201 - 259 of 259 matches
Mail list logo