Commit Graph
41 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk f8e8438eef Remove unnecessary NULL checks before freeing memory blocks.
The following functions check for NULL internally:
 free, kfree, xfree, free_xenheap_page[s]

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-11 12:55:47 +01:00
kaf24@firebug.cl.cam.ac.uk d8263e8dba Fix Xen public interfaces and the tools to consistently
use stdint-format bitsize types (uint32_t and friends).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-12 11:07:37 +01:00
kaf24@firebug.cl.cam.ac.uk 4657d174ab Refactor xenbus to break up the xenbus_lock and permit watches
to fire concurrently with request/reply pairs. Remove
watch_ack message: no longer needed.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-09 18:52:54 +01:00
kaf24@firebug.cl.cam.ac.uk 76bd51c23d Change xs_read_watch interface to return a sized array (in userspace and in
kernel).

Add index macros (XS_WATCH_*) for accessing the array to allow for future
expansion.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2005-10-07 15:51:53 +01:00
emellor@ewan d934679092 Within the store, split the persistent information regarding a VM from the
transient information regarding a domain.  This allows live localhost migration,
which is important for testing migration, and also allows migration when we
have a distributed store.  The backend paths in the store now refer to the
frontend domain ID, not its UUID, and blktap has changed to match.

To support this split in the information, the cleanup procedure has been split
to match.

Change the save-restore interface between XendDomain, XendDomainInfo, and 
XendCheckpoint, to remove some intermingling, in particular taking XendDomain
out of the loop for the restore procedure.

Improved the recovery procedure to avoid trying to destroy dom0 when recovering.

Added a lock around XendDomain.refresh and one around
XendDomainInfo.refreshShutdown, to improve the behaviour when recreating
domains at startup.  There are still races here, so more thought needs to be
given to the locking.

Live reconfiguration of an existing domain is temporarily broken.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-09-30 13:41:10 +01:00
cl349@firebug.cl.cam.ac.uk 7fd9bccce2 Remove iflag argument to xs_write
xs_write with O_CREAT|O_EXCL causes problems over daemon restarts, since
it's not idempotent.
It turns out noone really needs the flags word at all, so get rid of it.
It's now as if everyone specified "O_CREAT".
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-09-19 14:34:30 +00:00
akw27@arcadians.cl.cam.ac.uk 3e2b1c87ba Updates to blktap driver and user code.
Mostly this makes the tap code work again with all of the changes that
have happened to the block drivers recently.  We now use a shared page
per VBD (to the driver), and handle control information through the
store.  The taplib interfaces have changed to be based around per-vbd
data structures that you can attach arbitrary handlers for.

There is also initial code for a user-level blockback driver, which
aims to get around the use of loopbacks for file-based vbds.  Still
plenty of work to do here -- this is a working incremental checkin and
I'm away from this for the next four weeks.

Signed-off-by: Andrew Warfield <andrew.warfield@cl.cam.ac.uk>
2005-09-04 21:19:44 +00:00
cl349@firebug.cl.cam.ac.uk 60eb663513 Rename libxc => libxenctrl and xc.h => xen/xenctrl.h
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : tools/libxc/xc.h => tools/libxc/xenctrl.h
2005-08-24 23:07:29 +00:00
akw27@arcadians.cl.cam.ac.uk 15c8e89845 Blktap updates: request batching, O_DIRECT/AIO support.
This patch changes the blktap code mapping pages to user space to be
faster and to allow page lookups to foreign mapped pages through linux
to do direct io.  An AIO test driver on this achieves comparable
performance to the in-kernel block-backend.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-08-04 16:35:35 +00:00
akw27@arcadians.cl.cam.ac.uk 8148452c35 Add missing parallax makefile.
Seems to have vanished in the directory shuffle of last month.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
2005-08-04 15:02:09 +00:00
akw27@arcadians.cl.cam.ac.uk 91788df76e Clean-up of blktap and parallax user space code.
Move parallax stuff to its own sub directory and tidy Makefiles a bit.
Signed-off-by: andrew.warfield@cl.cam.ac.uk
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>


--HG--
rename : tools/blktap/README-PARALLAX => tools/blktap/parallax/README
rename : tools/blktap/block-async.c => tools/blktap/parallax/block-async.c
rename : tools/blktap/block-async.h => tools/blktap/parallax/block-async.h
rename : tools/blktap/blockstore.c => tools/blktap/parallax/blockstore.c
rename : tools/blktap/blockstore.h => tools/blktap/parallax/blockstore.h
rename : tools/blktap/blockstored.c => tools/blktap/parallax/blockstored.c
rename : tools/blktap/bstest.c => tools/blktap/parallax/bstest.c
rename : tools/blktap/parallax.c => tools/blktap/parallax/parallax.c
rename : tools/blktap/radix.c => tools/blktap/parallax/radix.c
rename : tools/blktap/radix.h => tools/blktap/parallax/radix.h
rename : tools/blktap/requests-async.c => tools/blktap/parallax/requests-async.c
rename : tools/blktap/requests-async.h => tools/blktap/parallax/requests-async.h
rename : tools/blktap/snaplog.c => tools/blktap/parallax/snaplog.c
rename : tools/blktap/snaplog.h => tools/blktap/parallax/snaplog.h
rename : tools/blktap/vdi.c => tools/blktap/parallax/vdi.c
rename : tools/blktap/vdi.h => tools/blktap/parallax/vdi.h
rename : tools/blktap/vdi_create.c => tools/blktap/parallax/vdi_create.c
rename : tools/blktap/vdi_fill.c => tools/blktap/parallax/vdi_fill.c
rename : tools/blktap/vdi_list.c => tools/blktap/parallax/vdi_list.c
rename : tools/blktap/vdi_snap.c => tools/blktap/parallax/vdi_snap.c
rename : tools/blktap/vdi_snap_delete.c => tools/blktap/parallax/vdi_snap_delete.c
rename : tools/blktap/vdi_snap_list.c => tools/blktap/parallax/vdi_snap_list.c
rename : tools/blktap/vdi_tree.c => tools/blktap/parallax/vdi_tree.c
rename : tools/blktap/vdi_unittest.c => tools/blktap/parallax/vdi_unittest.c
rename : tools/blktap/vdi_validate.c => tools/blktap/parallax/vdi_validate.c
2005-07-03 14:14:09 +00:00
akw27@arcadians.cl.cam.ac.uk 2d984d10eb Fix some newline ugliness that BK wouldn't correct.
Signed-off-by: akw27@cl.cam.ac.uk
2005-07-03 12:02:01 +00:00
akw27@arcadians.cl.cam.ac.uk 34446ff07c bitkeeper revision 1.1699 (42a84d06sZDrQ46g-Bcc7JqWMygr2Q)
Fix a bug with snapshots that was introduced with the crc code.
2005-06-09 14:07:02 +00:00
akw27@arcadians.cl.cam.ac.uk 1321049c95 bitkeeper revision 1.1698 (42a84631sHlAKgVzdlR-RsCeAqkv_Q)
Clean up blktaplib headers.

Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-06-09 13:37:53 +00:00
akw27@arcadians.cl.cam.ac.uk 7556663ceb bitkeeper revision 1.1695 (42a80eb0iCQq47kS2MSpOLTFyng5Cg)
Parallax fixes/updates:
- all data access now through the async lookup code.
- added synchronous wrappers for tools to use.
- added end-to-end crc32 on all image blocks
- various other fixes/cleanups/test stubs.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-06-09 09:41:04 +00:00
akw27@arcadians.cl.cam.ac.uk bb33743d43 bitkeeper revision 1.1686.1.1 (42a5bc8fhkR_9WfuD9N-je5TT27yDw)
Parallax code cleanups.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-06-07 15:26:07 +00:00
akw27@arcadians.cl.cam.ac.uk 724be23798 bitkeeper revision 1.1665.1.6 (42a1b3f6-O_jFlmQorlf72427fTfmw)
bug fixes to tap and parallax.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-06-04 14:00:22 +00:00
cl349@firebug.cl.cam.ac.uk 519108b9f7 bitkeeper revision 1.1534.1.1 (429399e0oJudIjoFsgWFxNKnCM7qTg)
Nothing but vnet uses libxutil -- move it there.
Makefile, xc.c, setup.py, configure, configure.in, Makefile.in:
  This doesn't use libxutil.
Makefile, Makefile.vnet, Rules.mk:
  Move libxutil into vnet since it's only used there.
Many files:
  mvdir
2005-05-24 21:17:20 +00:00
kaf24@firebug.cl.cam.ac.uk 1fbd84c81a bitkeeper revision 1.1492 (428e3bd7k7u4q5iZW-q27Jpez3WzGg)
Clean up vbd probing, and include hardware sector size in the probe
information. blkback ensures that all requests are aligned to
hardware sector size and returns error if this is not so.
In blkfront we now have a request_queue per vbd, with hardsect_size
set appropriately.
It is now once again possible to mount a CDROM in a domU.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-20 19:34:47 +00:00
akw27@arcadians.cl.cam.ac.uk 23af5b7e18 bitkeeper revision 1.1473.1.1 (428df901D5uzzXaFBp8z6tkbP0gV0w)
- Finer-grained asynchronous dispatch in parallax daemon.
- Cleanups and cull of older code.
- Fixes to handle changes in block protocol.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-05-20 14:49:37 +00:00
katzj@redhat.com[iap10] 2cc5addc8f bitkeeper revision 1.1305 (42603ffeunTyoZX2egpGvfR_Km2tBw)
[PATCH] Install libraries into libdir

Attached makes it so that libxc and libxutil get installed
into /usr/lib64 instead of /usr/lib on x86_64.

Signed-off-by: Jeremy Katz <katzj@redhat.com>

===== Config.mk 1.3 vs edited =====
2005-04-15 22:28:14 +00:00
kaf24@firebug.cl.cam.ac.uk cea60ac25d bitkeeper revision 1.1236.1.189 (424d776cRx8rE1fz0drKAs8qp8AVVw)
I/O rings may now be dynamically sized: instead of declaring size
at struct definition time, declare it in FRONT/BACK_RING_INIT().
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-04-01 16:31:40 +00:00
kaf24@firebug.cl.cam.ac.uk 7b7eedda27 bitkeeper revision 1.1236.1.173 (424bd85e5lo6-hlVKAhgf-Zu85iruw)
Clean up ctrl msg handling in Linux. Remove VBD_GROW/SHRINK -- a VBD
now maps onto a single complete major/minor that is specified at
VBD_CREATE time. Also improve blkdev request_queue unplugging in the
2.6 backend driver to promote better batching.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-03-31 11:00:46 +00:00
jrb44@plym.cl.cam.ac.uk e2a63b2173 bitkeeper revision 1.1236.43.12 (4244309dO7HfNtv-R6F5S3jdQqQR8A)
Enhanced concurrency support in blockstore.

Signed-off-by: James Bulpin <James.Bulpin@cl.cam.ac.uk>
2005-03-25 15:39:09 +00:00
jrb44@swoop.cl.cam.ac.uk e10158b99b bitkeeper revision 1.1236.43.3 (42430c00lAWor_gGz6AYWnPE5wc0XQ)
Added concurrency niceness to the bottom end of the blockstore.

Signed-off-by: James Bulpin <James.Bulpin@cl.cam.ac.uk>
2005-03-24 18:50:40 +00:00
akw27@arcadians.cl.cam.ac.uk 210ba1a9d5 bitkeeper revision 1.1236.41.1 (4241f8c1RPqucowH4YAH-X69s_MQcw)
add a metadata cache to the radix io calls.
2005-03-23 23:16:17 +00:00
akw27@arcadians.cl.cam.ac.uk 689abd270c bitkeeper revision 1.1236.1.112 (4240562521wc_bQiFaxW7o5zjRAkFg)
Fix merge conflict from earlier today.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-03-22 17:30:13 +00:00
jrb44@swoop.cl.cam.ac.uk dba3ede51e bitkeeper revision 1.1236.40.1 (42403ff1ZGMKPWPwodeJzyyFrCMVvg)
manual merge phase 1 of 2 :-(
2005-03-22 15:55:29 +00:00
jrb44@swoop.cl.cam.ac.uk 34b11086b6 bitkeeper revision 1.1236.39.1 (42403ed3ayhqDaCmozMDqaFfcmjpzQ)
Added asynchronous support to the blockstore.
2005-03-22 15:50:43 +00:00
akw27@arcadians.cl.cam.ac.uk 63bebd7510 bitkeeper revision 1.1236.1.104 (423f3d6fogKK-3Ekb9tjwtdIycRzfw)
little fix to remote read path

Signed-off-by: andrew.warfield.cl.cam.ac.uk
2005-03-21 21:32:31 +00:00
akw27@arcadians.cl.cam.ac.uk 2c9dea7c1b bitkeeper revision 1.1236.1.103 (423f2997yh5jfJbfPzgZOswMIKL-RA)
manual merge of James's stuff.
2005-03-21 20:07:51 +00:00
akw27@arcadians.cl.cam.ac.uk d4282ab308 bitkeeper revision 1.1236.38.1 (423f270ey18R1fJMKT6mo5gO0HvPiQ)
Incremental fixes to plx stuff.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-03-21 19:57:02 +00:00
jrb44@plym.cl.cam.ac.uk a172cbd648 bitkeeper revision 1.1236.35.1 (42371b91vqaZiam66I7Q_46q67kWeg)
Added blockstored and initial distributed parallax backend.
2005-03-15 17:29:53 +00:00
kaf24@firebug.cl.cam.ac.uk 38f9dd4f86 bitkeeper revision 1.1236.12.1 (422d6eadP8rlqEFriOCwM-dW2OyQTA)
Fix ring definitions to not use typeof. The accessor macros no longer
take a 'params' argument.
Signed-off-by: Keir Fraser <keir.fraser@cl.cam.ac.uk>
2005-03-08 09:21:49 +00:00
akw27@arcadians.cl.cam.ac.uk 02e69c0425 bitkeeper revision 1.1236.1.64 (422c8a46Ahc4JfjN3Avhf5LSRWyn8g)
fix write-in-place problem -- radix tree wasn't returning writable bit on 
lookups.

signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-03-07 17:07:18 +00:00
akw27@arcadians.cl.cam.ac.uk f322bdd267 bitkeeper revision 1.1236.1.54 (42277de2WK7_Nt8AUEblj6keTcJhBw)
Fix short int defines to match other fixes to tools tree.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-03-03 21:13:06 +00:00
akw27@arcadians.cl.cam.ac.uk 4b93b36dc6 bitkeeper revision 1.1236.1.53 (42277c41EuPccbqmVurI0fsfmSfYuA)
fix conflict.
2005-03-03 21:06:09 +00:00
akw27@arcadians.cl.cam.ac.uk c63b6d985b bitkeeper revision 1.1236.7.1 (42277b06gMBo3oqaq35om--uwNImNg)
Initial checkin of parallax code.
See README-PARALLAX for details.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-03-03 21:00:54 +00:00
kaf24@scramble.cl.cam.ac.uk ae1b08f773 bitkeeper revision 1.1236.1.47 (4225ff68LvKUt73k78dKjnXxsnQt7A)
Fix tools build. Clean up barrier defs.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Keir Fraser <keir.fraser@cl.cam.ac.uk>
2005-03-02 18:01:12 +00:00
kaf24@scramble.cl.cam.ac.uk 072f03be95 bitkeeper revision 1.1236.1.44 (4224f156AyEV3oV5JinuYtfS9e_ITA)
Rationalise memory-barrier definitions in user-space tools.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-03-01 22:48:54 +00:00
akw27@labyrinth.cl.cam.ac.uk 0bb3ebdb6c bitkeeper revision 1.1159.1.551 (42090342LHDFQZTluOIKtDxiXyfkHA)
Initial checkin of blktap user-land tools.  These are fairly experimental, 
but a few people have asked to use them.  This checkin also includes 
Christian's gnbd client library code.

Signed-off-by: andrew.warfield@cl.cam.ac.uk
2005-02-08 18:21:54 +00:00