projects
/
archipelago
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
97a80f0
)
zero out rest of data buffer on end of file
author
Giannakos Filippos
<philipgian@cslab.ece.ntua.gr>
Fri, 16 Dec 2011 19:10:07 +0000
(21:10 +0200)
committer
Stratos Psomadakis
<psomas@grnet.gr>
Wed, 4 Apr 2012 08:34:00 +0000
(11:34 +0300)
xseg/peers/user/blockd.c
patch
|
blob
|
history
diff --git
a/xseg/peers/user/blockd.c
b/xseg/peers/user/blockd.c
index
23de8ba
..
a9ef7c5
100644
(file)
--- a/
xseg/peers/user/blockd.c
+++ b/
xseg/peers/user/blockd.c
@@
-163,7
+163,12
@@
static void handle_read_write(struct store *store, struct io *io)
if (req->state != XS_ACCEPTED) {
if (io->retval > 0)
req->serviced += io->retval;
- else
+ else if (io->retval == 0){
+ /* reached end of file. zero out the rest data buffer */
+ memset(req->data + req->serviced, 0, req->datasize - req->serviced);
+ req->serviced = req->datasize;
+ }
+ else
req->datasize = req->serviced;
if (req->serviced >= req->datasize) {