Statistics
| Branch: | Tag: | Revision:

root / xseg @ 9f607003

# Date Author Comment
9f607003 03/23/2012 02:15 pm Stratos Psomadakis

FIx .gitignores for the new build system

8fed1c96 03/23/2012 01:53 pm Stratos Psomadakis

Merge remote branch 'origin/xseg' into demo

Conflicts:
xseg/tools/vlmc-blockd.py [trivial]

44a919f3 03/23/2012 01:36 pm Stratos Psomadakis

Fix rc file parsing for the vlmc python tools

86bd6a3b 03/23/2012 01:36 pm Stratos Psomadakis

Improve error handling for xseg setup scripts

05d481ca 02/28/2012 08:14 am Georgios D. Tsoukalas

remove spurious include paths from compilation

3eb3f140 02/27/2012 06:56 pm Vangelis Koukis

Merge branch 'vlmcd-as-blockd' into xseg

Conflicts:
xseg/peers/Makefile
Fixes:
fix target autodetection in base.mk
fix issues with vlmcd, still does not build

8f85fc39 02/27/2012 06:36 pm Georgios D. Tsoukalas

README placeholder files for lib/ directories

6e0a3771 02/26/2012 10:30 pm Georgios D. Tsoukalas

Introduce execution domains in code and building

Only fixed to compile. Untested.

Lots of refactoring, cleanup, and fixing in the process.
This log has three parts:
1. What are execution domains and why we need them
2. What are the API incompatibilities introduced...

78a43cc7 02/26/2012 11:22 am Vangelis Koukis

Merge branch 'xseg' into vlmcd-as-blockd

4a131321 02/26/2012 11:20 am Vangelis Koukis

Initial, completely broken skeleton of a vlmcd

Initial, completely broken skeleton of a vlmcd,
single-threaded, modelled after blockd.

There doesn't seem to be a need for multithreaded
operation if a peer is only interacting with other xseg peers.

f91cafb5 02/24/2012 05:40 pm Georgios D. Tsoukalas

move qa/ to tools/

31a09e09 02/24/2012 05:34 pm Georgios D. Tsoukalas

envsetup script to exec or source for env setup

Sets up XSEG_HOME PATH LD_LIBRARY_PATH etc.

If it is executed, it starts a new $SHELL.
If it is sourced, it just exports the variables.

91cd449b 02/24/2012 11:27 am Stratos Psomadakis

filed: Fix lost wakeups between IO-threads

Race condition with free_io() / wait_cond() and alloc_io() /
cond_signal(), results in lost-wakeups between IO threads
and causes threads and eventually filed to deadlock.

Thread 1 Thread 2
free_io x -...

a162c2c2 02/22/2012 04:42 pm Stratos Psomadakis

Remove traling whitespace in vlmc_shared

73989e72 02/22/2012 04:36 pm Stratos Psomadakis

vlmc: Minor fix for prev commit

f251ed17 02/22/2012 04:33 pm Stratos Psomadakis

vlmc: Split common funcs to a separate file

d01393c6 02/22/2012 04:13 pm Stratos Psomadakis

tools: Add configurable NR_OPS for blockd/filed

77baffb9 02/22/2012 03:54 pm Stratos Psomadakis

blockd: Optionally log pending_io()

ab00565d 02/21/2012 11:07 am Stratos Psomadakis

Yet another typo

da408411 02/21/2012 11:05 am Stratos Psomadakis

vlmc-tool: Fix typo of prev commit

acb98a67 02/21/2012 11:03 am Stratos Psomadakis

vlmc-tool: Don't use hardcoded reqs number

c9486104 02/20/2012 04:36 pm Stratos Psomadakis

Enable optional request logging for blockd/filed

6ed3b242 02/20/2012 04:03 pm Stratos Psomadakis

Use correct sysfs attr (srcport) when mapping

46ba2aee 02/20/2012 02:17 pm Stratos Psomadakis

blockd: Make request logging optional

015b5e03 02/20/2012 02:08 pm Stratos Psomadakis

blockd: Fix cli option/argument for nr_ops

dd05dbde 02/20/2012 12:57 pm Stratos Psomadakis

Minor fix for vlmc/xseg-setup

a3f9cd1d 02/20/2012 12:36 pm Stratos Psomadakis

Fix vlmc-filed.py free port scanning

cb8dfe28 02/20/2012 02:23 am Stratos Psomadakis

Fixes for vlmc-filed

00d201ff 02/20/2012 01:34 am Stratos Psomadakis

Add support for filed in the vlmc tool

f0a96285 02/20/2012 12:49 am Stratos Psomadakis

Merge remote-tracking branch 'origin/xseg' into merger

Conflicts:
xseg/tools/vlmc.py
xseg/tools/xseg_setup.sh

Conflicts Resolution:
vlmc.py: * Keep the \t -> space changes from the xseg branch * Keep the new parsing scheme from the tools
xseg_setup.sh:...

12615dbf 02/19/2012 11:09 pm Stratos Psomadakis

xsegbd/xsegdev: Fix xsegbd/xsegdev memory leak

xsegdev_get/put and the associated xsegdev->userfield struct member
were incorrectly used, resulting in a memory leak, where xsegdev
segment wasn't (v)freed at xsegdev unload.

Refs #3

80dd232b 02/19/2012 10:55 pm Vangelis Koukis

Remove incorrect comment

0072a4af 02/19/2012 10:43 pm Vangelis Koukis

Introduce various fixes, run end-to-end

Introduce various fixes, some aesthetic, to make
the infrastructure run end-to-end, xsegbd-to-filed
after merging of the filed and tools branches.

1d05f782 02/19/2012 06:12 pm Stratos Psomadakis

Initial support for config parsing for vlmc-tool

c89f8110 02/19/2012 05:15 pm Stratos Psomadakis

Minor parsing fixes for vlmc tool

0592e2bb 02/19/2012 05:11 pm Stratos Psomadakis

Minor fixes for helpers

b3a5a8ba 02/19/2012 05:05 pm Stratos Psomadakis

Fixes for the vlmc-tool * Change the parsing to be compatible with ganeti rbd calls * Force python2.7 (needed by subprocess module)

abea4350 02/19/2012 05:04 pm Stratos Psomadakis

More fixes for helper scripts

e0cd4893 02/19/2012 02:11 pm Vangelis Koukis

Fix two instances of XS_ERROR

22bba5b4 02/19/2012 02:01 pm Vangelis Koukis

Merge branch 'tools' into xseg

Conflicts:
xseg/xq/xq.c

bcb4e3a2 02/19/2012 01:51 pm Vangelis Koukis

Merge branch 'filed' into xseg

c2500d0e 02/18/2012 06:52 pm Georgios D. Tsoukalas

XS_ERROR renamed to XS_FAILED

3aa37dd0 02/18/2012 06:35 pm Georgios Tsoukalas

portable and future-proof locks

03511c52 02/18/2012 06:34 pm Georgios Tsoukalas

relative pointers

86e4849f 02/18/2012 06:24 pm Georgios Tsoukalas

relative pointer doubly linked lists

88a8e86b 02/17/2012 09:35 pm Stratos Psomadakis

Correct the tests for unset config variables

3c705bc9 02/17/2012 05:42 pm Stratos Psomadakis

Helper scripts to setup and test xsge components

99760219 02/17/2012 05:41 pm Stratos Psomadakis

Initial commit for the (blockd-specific) vlmc tool

ce164530 02/17/2012 12:17 am Stratos Psomadakis

Fix a bug in device id assignment

a67d23d8 01/11/2012 10:18 am Stratos Psomadakis

xsegbd: Add name in sysfs device attrs

a57bb1ca 01/08/2012 08:40 pm Stratos Psomadakis

Minor fix in request_fn

fc7ce354 01/08/2012 08:35 pm Stratos Psomadakis

Correct string handling for target names

7b3bbbbb 01/08/2012 07:11 pm Stratos Psomadakis

Initial support for target names

blockd will now only accept requests based on the target name (ie only for the
file it has opened), and will return an XS_ERROR reqeust otherwise.

xsegbd will now take a target name as an argument when adding a device via...

02a0ffa8 01/08/2012 06:51 pm Stratos Psomadakis

xsegbd: Release and error code paths fixes

Fix issues with the release / exit and error handling code paths.

e85c37b3 01/08/2012 05:40 pm Stratos Psomadakis

xq: Fix iteration bug in xq_head_to_tail()

Since __xq_pop_head() decrements head to point to the (new) first
available item in the queue, xq_head_to_tail() should iterate headq
forward (by incrementing head), not backwards. Backward iteration
results in xq corruption, which can easily be triggered using...

6db44b95 01/06/2012 02:01 pm Georgios Tsoukalas

fix broken xq_head_to_tail()

used by xseg_free_requests(),
bug exposed by add/remove device tests by psomas.

Also, refactor so that __xq_append_tail() returns
the index to the leftmost (least) side of the queue buffer,
as is the convention with all other 3 functions...

34609aff 01/05/2012 08:17 pm Giannakos Filippos

fix race condition on error when opening the same file from diffrent threads

5eae9d27 01/05/2012 08:02 pm Giannakos Filippos

remove per cache entry lock. replace it with atomic operations in ref count

bea63568 01/05/2012 07:05 pm Giannakos Filippos

add xinfo support

0b67b2ab 01/05/2012 01:37 am Giannakos Filippos

get rid of flush. call fsync after write

db92806c 01/05/2012 01:15 am Georgios Tsoukalas

fix xseg_signal() posix retval and warning

4fc0ca1d 01/04/2012 11:32 pm Giannakos Filippos

fix bug in cache

ff5b1cbf 01/04/2012 10:05 pm Giannakos Filippos

initial threaded filed commit

99bc95ab 01/04/2012 09:18 pm Georgios Tsoukalas

Merge wip-sysfs into xseg, with amendments

Conflicts:
xseg/sys/xsegbd.c

Amendments:
struct completion is now per-request, not per-device.
The xsegbd callback (heuristically) knows when
xreq->priv is an index of an I/O request or a pointer
to a completion struct, and branches out accordingly....

501c7179 01/04/2012 03:56 pm Stratos Psomadakis

Replace busy-wait loop in get_size with completion

92fb5b61 01/04/2012 02:43 pm Georgios Tsoukalas

Merge branch 'wip-sysfs' into xseg

Conflicts:
xseg/sys/xsegbd.c

There is printk-logging leading up to a lock-up
in get_size(). This is currently broken.

85b37014 01/04/2012 11:53 am Georgios Tsoukalas

make some field types arch-neutral

128bbc1e 01/04/2012 12:56 am Georgios Tsoukalas

Merge branch 'wip-xinfo-fixed' into xseg

Conflicts:
xseg/sys/xsegbd.c [trivial]

6082066c 01/03/2012 09:35 pm Stratos Psomadakis

Simplify callback req demultiplexing (temp).

Until prepare_wait() is fixed to support an extra
argument, we can manually assign port.waitcue to the address of the
appropriate xsegbd_device struct before submitting the request,
simplifiying the callback request demultiplexing (don't iterate...

0f25b072 01/03/2012 05:44 pm Stratos Psomadakis

xsegbd: add multiple 'disk' support via sysfs.

Add initial (not tested/buggy) multiple disk support to xsegbd via a
sysfs interface similar to rbd.

56476ce6 12/23/2011 02:35 pm Giannakos Filippos

add support for larger than 1 segment requests + xseg_signaling.

51048a04 12/22/2011 11:24 pm Stratos Psomadakis

xsegbd: Don't destroy the segment, if it exists.

dfebbcff 12/22/2011 11:13 pm Stratos Psomadakis

Allow disksize override with sector_size parameter.

Allow a non-zero sector_size module parameter to override the disk
size returned by xsegbd_get_size()

1f74862f 12/22/2011 11:07 pm Stratos Psomadakis

Minor fixes in xsegbd_get_size().

Remove the useless prep_wait() and cancel_wait() calls in xsegbd_get_size() and
add some comments to document its behavior.

a84c18a7 12/22/2011 10:54 pm Stratos Psomadakis

Move segment unmap() in xsegbd module.

We cannot unmap a segment in xseg_destroy(), since the segment may not
be mapped. Since it currently only affects xsegbd, move it in
xsegbd_xseg_quit(), inside the xsegbd module.

8da761af 12/22/2011 10:47 pm Stratos Psomadakis

Refactor cmd_info() code in xseg-tool.

Refactor cmd_info code in xseg-tool. Use cmd_wait to get the response.

aa21fc67 12/22/2011 04:35 pm Stratos Psomadakis

Make xsegbd query peer for disk size(using X_INFO)

xsegbd will now send an X_INFO request to learn the size of the disk it's
mapping, instead of using the sector_size parameter at module load time.

Currently, xsegbd allocates its own segment, and thus it must wait until blockd...

5640feb6 12/22/2011 04:29 pm Stratos Psomadakis

Make sure to unmap the segment in xseg_destroy()

Add xops->unmap() in xseg_destroy(). If you don't unmap the segment before
calling xops->deallocate(), xsegdev->callback and xsegdev->callarg are not set
to NULL when rmmoding xsegbd, and lead to an error (or kernel panic) when trying...

30916a2e 12/21/2011 10:27 pm Stratos Psomadakis

Add (initial) support for X_INFO request operation

Add support for X_INFO request operation, to query information about a
target (X_INFO op support implemented in xseg-tool). Initial blockd
implementation 'returns' only the size of the target / file.

f7a50956 12/16/2011 05:25 pm Giannakos Filippos

make blockd loop over pending ios.

f9814931 12/16/2011 05:24 pm Giannakos Filippos

remove close with negative file descriptor

9cb9d2b7 12/16/2011 12:41 pm Giannakos Filippos

initialize lock in xq initialization.

11fb962b 12/16/2011 12:37 pm Giannakos Filippos

remove obsolete XSEG_{FLUSH,FUA}.

edeafa27 12/13/2011 05:40 pm Giannakos Filippos

fix buffer handling on incomplete/resubmitted reqs

73979b67 12/13/2011 05:28 pm Giannakos Filippos

fix log_io printing beyond end-of-string garbage

ab830f50 12/13/2011 05:19 pm Georgios D. Tsoukalas

Add pthread to linked libraries

b0a46d91 12/13/2011 05:12 pm Georgios D. Tsoukalas

relax shared segment access precautions

The shared array of peer type names is by design
append only, therefore no locking or copying strings
is needed to access it (only pointer conversions).
Append-only means that peer type names cannot be unregistered....

e005b6d7 12/13/2011 04:51 pm Giannakos Filippos

fix invalid shared pointer access and wrong retval

also, lock and copy string from shared segment,
as a precaution.

6d486cc0 12/13/2011 11:47 am Georgios D. Tsoukalas

initialization from my own repository