summaryrefslogtreecommitdiffstats
path: root/src/kernel/dnbd3.h
diff options
context:
space:
mode:
authorJohann Latocha2012-02-21 18:57:18 +0100
committerJohann Latocha2012-02-21 18:57:18 +0100
commit0d1e4c5c1632090d86d3b129c50882afdac7ddc0 (patch)
treee37a2f6284e046e557afc5a6e4ac207e9958bcda /src/kernel/dnbd3.h
parent[KERNEL] Take fastest server if available (diff)
downloaddnbd3-0d1e4c5c1632090d86d3b129c50882afdac7ddc0.tar.gz
dnbd3-0d1e4c5c1632090d86d3b129c50882afdac7ddc0.tar.xz
dnbd3-0d1e4c5c1632090d86d3b129c50882afdac7ddc0.zip
[KERNEL] SysFS interface added (/sys/block/dnbd*/net/)
Diffstat (limited to 'src/kernel/dnbd3.h')
-rw-r--r--src/kernel/dnbd3.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/kernel/dnbd3.h b/src/kernel/dnbd3.h
index 140754c..febd473 100644
--- a/src/kernel/dnbd3.h
+++ b/src/kernel/dnbd3.h
@@ -33,22 +33,31 @@ extern int major;
typedef struct
{
+ char host[16];
+ char port[6];
+ uint64_t rtt;
+ struct socket *sock;
+ struct kobject kobj;
+} dnbd3_server_t;
+
+typedef struct
+{
// block
struct gendisk *disk;
spinlock_t blk_lock;
+ // sysfs
+ struct kobject kobj;
+
// network
- char host[16];
- char port[6];
- int vid;
- int rid;
- struct socket *sock;
- struct timer_list hb_timer;
- int num_servers;
- struct in_addr servers[NUMBER_SERVERS];
+ dnbd3_server_t cur_server;
+ int vid, rid;
+ int alt_servers_num;
+ dnbd3_server_t alt_servers[NUMBER_SERVERS];
int discover, panic;
// process
+ struct timer_list hb_timer;
struct task_struct *thread_send;
struct task_struct *thread_receive;
struct task_struct *thread_discover;