]> err.no Git - linux-2.6/blobdiff - include/linux/nbd.h
Merge branch 'upstream-fixes' of git://lost.foo-projects.org/~ahkok/git/netdev-2...
[linux-2.6] / include / linux / nbd.h
index 090e210e98f01043dfa5eeb18561afa874b11af8..a6ce409ec6fcbffd1b00897eec3ed3d739b11aee 100644 (file)
@@ -37,19 +37,28 @@ enum {
 /* userspace doesn't need the nbd_device structure */
 #ifdef __KERNEL__
 
+#include <linux/wait.h>
+#include <linux/mutex.h>
+
 /* values for flags field */
 #define NBD_READ_ONLY 0x0001
 #define NBD_WRITE_NOCHK 0x0002
 
+struct request;
+
 struct nbd_device {
        int flags;
        int harderror;          /* Code of hard error                   */
        struct socket * sock;
        struct file * file;     /* If == NULL, device is not ready, yet */
        int magic;
+
        spinlock_t queue_lock;
        struct list_head queue_head;/* Requests are added here...       */
-       struct semaphore tx_lock;
+       struct request *active_req;
+       wait_queue_head_t active_wq;
+
+       struct mutex tx_lock;
        struct gendisk *disk;
        int blksize;
        u64 bytesize;