Commit eca2adb4 authored by Martin Pool's avatar Martin Pool

OK, we can now get phase messages if we fail in send_file_entry

parent 4eea7793
...@@ -354,6 +354,8 @@ static void send_file_entry(struct file_struct *file, int f, ...@@ -354,6 +354,8 @@ static void send_file_entry(struct file_struct *file, int f,
return; return;
} }
io_write_phase = "send_file_entry";
fname = f_name(file); fname = f_name(file);
flags = base_flags; flags = base_flags;
...@@ -449,6 +451,8 @@ static void send_file_entry(struct file_struct *file, int f, ...@@ -449,6 +451,8 @@ static void send_file_entry(struct file_struct *file, int f,
strlcpy(lastname, fname, MAXPATHLEN); strlcpy(lastname, fname, MAXPATHLEN);
lastname[MAXPATHLEN - 1] = 0; lastname[MAXPATHLEN - 1] = 0;
io_write_phase = "unknown";
} }
......
...@@ -57,8 +57,12 @@ extern struct stats stats; ...@@ -57,8 +57,12 @@ extern struct stats stats;
* remote instance crashed. Just giving the offset on the stream is * remote instance crashed. Just giving the offset on the stream is
* not very helpful. So instead we try to make io_phase_name point to * not very helpful. So instead we try to make io_phase_name point to
* something useful. * something useful.
*
* @todo Perhaps we want some simple stack functionality, but there's
* no need to overdo it.
**/ **/
const char *io_phase_name = "unknown"; const char *io_write_phase = "unknown";
const char *io_read_phase = "unknown";
/** Ignore EOF errors while reading a module listing if the remote /** Ignore EOF errors while reading a module listing if the remote
...@@ -501,7 +505,7 @@ static void writefd_unbuffered(int fd,char *buf,size_t len) ...@@ -501,7 +505,7 @@ static void writefd_unbuffered(int fd,char *buf,size_t len)
io_multiplexing_close(); io_multiplexing_close();
rprintf(FERROR, RSYNC_NAME rprintf(FERROR, RSYNC_NAME
": writefd_unbuffered failed to write %ld bytes: phase \"%s\": %s\n", ": writefd_unbuffered failed to write %ld bytes: phase \"%s\": %s\n",
(long) len, io_phase_name, (long) len, io_write_phase,
strerror(errno)); strerror(errno));
exit_cleanup(RERR_STREAMIO); exit_cleanup(RERR_STREAMIO);
} }
......
...@@ -622,3 +622,5 @@ const char *get_panic_action(void); ...@@ -622,3 +622,5 @@ const char *get_panic_action(void);
#endif #endif
#define UNUSED(x) x __attribute__((__unused__)) #define UNUSED(x) x __attribute__((__unused__))
const char *io_write_phase, *io_read_phase;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment