projects
/
nbd.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
56de1e7
)
Patches from Debian
author
Wouter Verhelst <w@uter.be>
Mon, 10 Aug 2009 08:09:21 +0000
(10:09 +0200)
committer
Wouter Verhelst <w@uter.be>
Fri, 14 Aug 2009 08:44:02 +0000
(10:44 +0200)
nbd-server.c
patch
|
blob
|
history
simple_test
patch
|
blob
|
history
diff --git
a/nbd-server.c
b/nbd-server.c
index
58c5cc5
..
4d01e37
100644
(file)
--- a/
nbd-server.c
+++ b/
nbd-server.c
@@
-303,10
+303,14
@@
inline void readit(int f, void *buf, size_t len) {
ssize_t res;
while (len > 0) {
DEBUG("*");
ssize_t res;
while (len > 0) {
DEBUG("*");
- if ((res = read(f, buf, len)) <= 0)
- err("Read failed: %m");
- len -= res;
- buf += res;
+ if ((res = read(f, buf, len)) <= 0) {
+ if(errno != EAGAIN) {
+ err("Read failed: %m");
+ }
+ } else {
+ len -= res;
+ buf += res;
+ }
}
}
}
}
@@
-577,7
+581,7
@@
GArray* parse_cfile(gchar* f, GError** e) {
retval = g_array_new(FALSE, TRUE, sizeof(SERVER));
if(!g_key_file_load_from_file(cfile, f, G_KEY_FILE_KEEP_COMMENTS |
G_KEY_FILE_KEEP_TRANSLATIONS, &err)) {
retval = g_array_new(FALSE, TRUE, sizeof(SERVER));
if(!g_key_file_load_from_file(cfile, f, G_KEY_FILE_KEEP_COMMENTS |
G_KEY_FILE_KEEP_TRANSLATIONS, &err)) {
- g_set_error(e, errdomain, CFILE_NOTFOUND, "Could not open config file.");
+ g_set_error(e, errdomain, CFILE_NOTFOUND, "Could not open config file.", f);
g_key_file_free(cfile);
return retval;
}
g_key_file_free(cfile);
return retval;
}
@@
-1208,6
+1212,7
@@
void setupexport(CLIENT* client) {
for(i=0; ; i++) {
FILE_INFO fi;
gchar *tmpname;
for(i=0; ; i++) {
FILE_INFO fi;
gchar *tmpname;
+ gchar* error_string;
mode_t mode = (client->server->flags & F_READONLY) ? O_RDONLY : O_RDWR;
if(multifile) {
mode_t mode = (client->server->flags & F_READONLY) ? O_RDONLY : O_RDWR;
if(multifile) {
@@
-1232,7
+1237,10
@@
void setupexport(CLIENT* client) {
if(fi.fhandle == -1) {
if(multifile && i>0)
break;
if(fi.fhandle == -1) {
if(multifile && i>0)
break;
- err("Could not open exported file: %m");
+ error_string=g_strdup_printf(
+ "Could not open exported file %s: %%m",
+ tmpname);
+ err(error_string);
}
fi.startoff = laststartoff + lastsize;
g_array_append_val(client->export, fi);
}
fi.startoff = laststartoff + lastsize;
g_array_append_val(client->export, fi);
diff --git
a/simple_test
b/simple_test
index
ddaa86e
..
cb176bf
100755
(executable)
--- a/
simple_test
+++ b/
simple_test
@@
-16,7
+16,7
@@
case $1 in
# -DNODAEMON, which I sometimes do for testing and debugging.
PID=$!
sleep 1
# -DNODAEMON, which I sometimes do for testing and debugging.
PID=$!
sleep 1
- ./nbd-tester-client localhost 11111
+ ./nbd-tester-client 127.0.0.1 11111
retval=$?
;;
retval=$?
;;
@@
-31,7
+31,7
@@
EOF
./nbd-server -C nbd-server.conf -p `pwd`/nbd-server.pid &
PID=$!
sleep 1
./nbd-server -C nbd-server.conf -p `pwd`/nbd-server.pid &
PID=$!
sleep 1
- ./nbd-tester-client localhost 11111
+ ./nbd-tester-client 127.0.0.1 11111
retval=$?
;;
*/cfgmulti)
retval=$?
;;
*/cfgmulti)