Fixes for the vlmc-tool * Change the parsing to be compatible with ganeti rbd calls * Force python2.7 (needed by subprocess module)
More fixes for helper scripts
Correct the tests for unset config variables
Helper scripts to setup and test xsge components
Initial commit for the (blockd-specific) vlmc tool
Fix a bug in device id assignment
xsegbd: Add name in sysfs device attrs
Minor fix in request_fn
Correct string handling for target names
Initial support for target names
blockd will now only accept requests based on the target name (ie only for thefile 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...
xsegbd: Release and error code paths fixes
Fix issues with the release / exit and error handling code paths.
xq: Fix iteration bug in xq_head_to_tail()
Since __xq_pop_head() decrements head to point to the (new) firstavailable item in the queue, xq_head_to_tail() should iterate headqforward (by incrementing head), not backwards. Backward iterationresults in xq corruption, which can easily be triggered using...
fix xseg_signal() posix retval and warning
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....
Replace busy-wait loop in get_size with completion
Merge branch 'wip-sysfs' into xseg
There is printk-logging leading up to a lock-upin get_size(). This is currently broken.
make some field types arch-neutral
Merge branch 'wip-xinfo-fixed' into xseg
Conflicts: xseg/sys/xsegbd.c [trivial]
Simplify callback req demultiplexing (temp).
Until prepare_wait() is fixed to support an extraargument, we can manually assign port.waitcue to the address of theappropriate xsegbd_device struct before submitting the request,simplifiying the callback request demultiplexing (don't iterate...
xsegbd: add multiple 'disk' support via sysfs.
Add initial (not tested/buggy) multiple disk support to xsegbd via asysfs interface similar to rbd.
add support for larger than 1 segment requests + xseg_signaling.
xsegbd: Don't destroy the segment, if it exists.
Allow disksize override with sector_size parameter.
Allow a non-zero sector_size module parameter to override the disksize returned by xsegbd_get_size()
Minor fixes in xsegbd_get_size().
Remove the useless prep_wait() and cancel_wait() calls in xsegbd_get_size() andadd some comments to document its behavior.
Move segment unmap() in xsegbd module.
We cannot unmap a segment in xseg_destroy(), since the segment may notbe mapped. Since it currently only affects xsegbd, move it inxsegbd_xseg_quit(), inside the xsegbd module.
Refactor cmd_info() code in xseg-tool.
Refactor cmd_info code in xseg-tool. Use cmd_wait to get the response.
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'smapping, instead of using the sector_size parameter at module load time.
Currently, xsegbd allocates its own segment, and thus it must wait until blockd...
Make sure to unmap the segment in xseg_destroy()
Add xops->unmap() in xseg_destroy(). If you don't unmap the segment beforecalling xops->deallocate(), xsegdev->callback and xsegdev->callarg are not setto NULL when rmmoding xsegbd, and lead to an error (or kernel panic) when trying...
Add (initial) support for X_INFO request operation
Add support for X_INFO request operation, to query information about atarget (X_INFO op support implemented in xseg-tool). Initial blockdimplementation 'returns' only the size of the target / file.
make blockd loop over pending ios.
remove close with negative file descriptor
initialize lock in xq initialization.
remove obsolete XSEG_{FLUSH,FUA}.
fix buffer handling on incomplete/resubmitted reqs
fix log_io printing beyond end-of-string garbage
Add pthread to linked libraries
relax shared segment access precautions
The shared array of peer type names is by designappend only, therefore no locking or copying stringsis needed to access it (only pointer conversions).Append-only means that peer type names cannot be unregistered....
fix invalid shared pointer access and wrong retval
also, lock and copy string from shared segment,as a precaution.
initialization from my own repository