static void remove_client(struct fio_client *client)
{
+ dprint(FD_NET, "removed client <%s>\n", client->hostname);
flist_del(&client->list);
nr_clients--;
free(client->hostname);
{
struct fio_client *client;
+ dprint(FD_NET, "added client <%s>\n", hostname);
client = malloc(sizeof(*client));
memset(client, 0, sizeof(*client));
client->hostname = strdup(hostname);
{
int fd;
+ dprint(FD_NET, "connect to host %s\n", client->hostname);
+
memset(&client->addr, 0, sizeof(client->addr));
client->addr.sin_family = AF_INET;
client->addr.sin_port = htons(fio_net_port);
off_t len;
int fd, ret;
+ dprint(FD_NET, "send ini %s to %s\n", filename, client->hostname);
+
fd = open(filename, O_RDONLY);
if (fd < 0) {
log_err("fio: job file open: %s\n", strerror(errno));
struct fio_net_cmd *cmd;
while ((cmd = fio_net_cmd_read(client->fd)) != NULL) {
+ dprint(FD_NET, "%s: got cmd op %d\n", client->hostname,
+ cmd->opcode);
+
if (cmd->opcode == FIO_NET_CMD_ACK) {
free(cmd);
continue;
&& pid != *fio_debug_jobp)
return;
- log_info("%-8s ", debug_levels[type].name);
- log_info("%-5u ", (int) pid);
+ log_local("%-8s ", debug_levels[type].name);
+ log_local("%-5u ", (int) pid);
va_start(args, str);
log_valist(str, args);
#include "fio.h"
+int log_local(const char *format, ...)
+{
+ char buffer[1024];
+ va_list args;
+ size_t len;
+
+ va_start(args, format);
+ len = vsnprintf(buffer, sizeof(buffer), format, args);
+ va_end(args);
+
+ return fwrite(buffer, len, 1, f_out);
+}
+
int log_info(const char *format, ...)
{
char buffer[1024];
extern int log_err(const char *format, ...);
extern int log_info(const char *format, ...);
+extern int log_local(const char *format, ...);
#define log_valist(str, args) vfprintf(f_out, (str), (args))
static unsigned int job_cur_len;
static unsigned int job_max_len;
-static int server_fd;
+static int server_fd = -1;
int fio_send_data(int sk, const void *p, unsigned int len)
{
static int send_quit_command(void)
{
+ dprint(FD_NET, "server: sending quit\n");
return send_simple_command(server_fd, FIO_NET_CMD_QUIT, 0);
}
{
int ret;
+ dprint(FD_NET, "server: got opcode %d\n", cmd->opcode);
+
switch (cmd->opcode) {
case FIO_NET_CMD_QUIT:
exit_backend = 1;
return -1;
}
+ dprint(FD_NET, "server got a connection\n");
+
server_fd = sk;
exitval = handle_connection(sk);
unsigned int len;
int sk, opt, ret;
+ dprint(FD_NET, "starting server\n");
+
sk = socket(AF_INET, SOCK_STREAM, 0);
if (sk < 0) {
log_err("fio: socket: %s\n", strerror(errno));