summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Stratos Psomadakis [Thu, 22 Dec 2011 21:24:08 +0000 (23:24 +0200)]
xsegbd: Don't destroy the segment, if it exists.
Stratos Psomadakis [Thu, 22 Dec 2011 21:13:54 +0000 (23:13 +0200)]
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()
Stratos Psomadakis [Thu, 22 Dec 2011 21:07:38 +0000 (23:07 +0200)]
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.
Stratos Psomadakis [Thu, 22 Dec 2011 20:54:56 +0000 (22:54 +0200)]
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.
Stratos Psomadakis [Thu, 22 Dec 2011 20:47:03 +0000 (22:47 +0200)]
Refactor cmd_info() code in xseg-tool.
Refactor cmd_info code in xseg-tool. Use cmd_wait to get the response.
Stratos Psomadakis [Thu, 22 Dec 2011 14:35:51 +0000 (16:35 +0200)]
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
(or another peer with X_INFO support) joins the segment to get a response (this
will probably change soon).
Stratos Psomadakis [Thu, 22 Dec 2011 14:29:28 +0000 (16:29 +0200)]
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
to insmod xsegbd without rmmoding xsegdev and xseg.
Stratos Psomadakis [Wed, 21 Dec 2011 20:27:08 +0000 (22:27 +0200)]
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.
Giannakos Filippos [Fri, 16 Dec 2011 15:25:08 +0000 (17:25 +0200)]
make blockd loop over pending ios.
Giannakos Filippos [Fri, 16 Dec 2011 15:24:20 +0000 (17:24 +0200)]
remove close with negative file descriptor
Giannakos Filippos [Fri, 16 Dec 2011 10:47:59 +0000 (12:47 +0200)]
Merge branch 'philfix'
Giannakos Filippos [Fri, 16 Dec 2011 10:41:12 +0000 (12:41 +0200)]
initialize lock in xq initialization.
Giannakos Filippos [Fri, 16 Dec 2011 10:37:36 +0000 (12:37 +0200)]
remove obsolete XSEG_{FLUSH,FUA}.
Georgios D. Tsoukalas [Tue, 13 Dec 2011 15:51:42 +0000 (17:51 +0200)]
Merge branch 'philfix'
Giannakos Filippos [Tue, 13 Dec 2011 15:40:10 +0000 (17:40 +0200)]
fix buffer handling on incomplete/resubmitted reqs
Giannakos Filippos [Tue, 13 Dec 2011 15:28:43 +0000 (17:28 +0200)]
fix log_io printing beyond end-of-string garbage
Georgios D. Tsoukalas [Tue, 13 Dec 2011 15:19:00 +0000 (17:19 +0200)]
Add pthread to linked libraries
Georgios D. Tsoukalas [Tue, 13 Dec 2011 15:12:00 +0000 (17:12 +0200)]
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.
Unregistering is complicated because peers "cache"
the information they read from the shared array.
Giannakos Filippos [Tue, 13 Dec 2011 14:51:14 +0000 (16:51 +0200)]
fix invalid shared pointer access and wrong retval
also, lock and copy string from shared segment,
as a precaution.
Georgios D. Tsoukalas [Tue, 13 Dec 2011 14:33:35 +0000 (16:33 +0200)]
relax redundant shared access precautions
Shared access to the shared array of peer type names
was designed to be safe without locking or copying
because the peer type name array is append only,
i.e. no peer type names can be unregistered.
Unregistering introduces many other problems
(and not just the lock/copy avoided here),
such as need for "cache" invalidation among peers,
who had previously accessed the shared array.
Giannakos Filippos [Tue, 13 Dec 2011 14:25:46 +0000 (16:25 +0200)]
fix invalid pointer access to shared segment.
Also, add locking and copying shared data, for safety.
Georgios D. Tsoukalas [Tue, 13 Dec 2011 09:47:57 +0000 (11:47 +0200)]
initialization from my own repository