Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
nbd.h
Go to the documentation of this file.
1
/*
2
* 1999 Copyright (C) Pavel Machek,
[email protected]
. This code is GPL.
3
* 1999/11/04 Copyright (C) 1999 VMware, Inc. (Regis "HPReg" Duchesne)
4
* Made nbd_end_request() use the io_request_lock
5
* 2001 Copyright (C) Steven Whitehouse
6
* New nbd_end_request() for compatibility with new linux block
7
* layer code.
8
* 2003/06/24 Louis D. Langholtz <
[email protected]
>
9
* Removed unneeded blksize_bits field from nbd_device struct.
10
* Cleanup PARANOIA usage & code.
11
* 2004/02/19 Paul Clements
12
* Removed PARANOIA, plus various cleanup and comments
13
*/
14
#ifndef LINUX_NBD_H
15
#define LINUX_NBD_H
16
17
18
#include <linux/wait.h>
19
#include <
linux/mutex.h
>
20
#include <
uapi/linux/nbd.h
>
21
22
struct
request
;
23
24
struct
nbd_device
{
25
int
flags
;
26
int
harderror
;
/* Code of hard error */
27
struct
socket
*
sock
;
28
struct
file
*
file
;
/* If == NULL, device is not ready, yet */
29
int
magic
;
30
31
spinlock_t
queue_lock
;
32
struct
list_head
queue_head
;
/* Requests waiting result */
33
struct
request
*
active_req
;
34
wait_queue_head_t
active_wq
;
35
struct
list_head
waiting_queue
;
/* Requests to be sent */
36
wait_queue_head_t
waiting_wq
;
37
38
struct
mutex
tx_lock
;
39
struct
gendisk *
disk
;
40
int
blksize
;
41
u64
bytesize
;
42
pid_t
pid
;
/* pid of nbd-client, if attached */
43
int
xmit_timeout
;
44
};
45
46
#endif
Generated on Thu Jan 10 2013 14:52:04 for Linux Kernel by
1.8.2