aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/volumes.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/volumes.h')
-rw-r--r--fs/btrfs/volumes.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h
index 4df6b1608f91..48a44f7a9385 100644
--- a/fs/btrfs/volumes.h
+++ b/fs/btrfs/volumes.h
@@ -20,6 +20,7 @@
20#define __BTRFS_VOLUMES_ 20#define __BTRFS_VOLUMES_
21 21
22#include <linux/bio.h> 22#include <linux/bio.h>
23#include "async-thread.h"
23 24
24struct buffer_head; 25struct buffer_head;
25struct btrfs_device { 26struct btrfs_device {
@@ -27,6 +28,9 @@ struct btrfs_device {
27 struct list_head dev_alloc_list; 28 struct list_head dev_alloc_list;
28 struct btrfs_root *dev_root; 29 struct btrfs_root *dev_root;
29 struct buffer_head *pending_io; 30 struct buffer_head *pending_io;
31 struct bio *pending_bios;
32 struct bio *pending_bio_tail;
33 int running_pending;
30 u64 generation; 34 u64 generation;
31 35
32 int barriers; 36 int barriers;
@@ -36,8 +40,6 @@ struct btrfs_device {
36 40
37 struct block_device *bdev; 41 struct block_device *bdev;
38 42
39 u64 total_ios;
40
41 char *name; 43 char *name;
42 44
43 /* the internal btrfs device id */ 45 /* the internal btrfs device id */
@@ -63,6 +65,8 @@ struct btrfs_device {
63 65
64 /* physical drive uuid (or lvm uuid) */ 66 /* physical drive uuid (or lvm uuid) */
65 u8 uuid[BTRFS_UUID_SIZE]; 67 u8 uuid[BTRFS_UUID_SIZE];
68
69 struct btrfs_work work;
66}; 70};
67 71
68struct btrfs_fs_devices { 72struct btrfs_fs_devices {
@@ -117,7 +121,7 @@ int btrfs_alloc_chunk(struct btrfs_trans_handle *trans,
117void btrfs_mapping_init(struct btrfs_mapping_tree *tree); 121void btrfs_mapping_init(struct btrfs_mapping_tree *tree);
118void btrfs_mapping_tree_free(struct btrfs_mapping_tree *tree); 122void btrfs_mapping_tree_free(struct btrfs_mapping_tree *tree);
119int btrfs_map_bio(struct btrfs_root *root, int rw, struct bio *bio, 123int btrfs_map_bio(struct btrfs_root *root, int rw, struct bio *bio,
120 int mirror_num); 124 int mirror_num, int async_submit);
121int btrfs_read_super_device(struct btrfs_root *root, struct extent_buffer *buf); 125int btrfs_read_super_device(struct btrfs_root *root, struct extent_buffer *buf);
122int btrfs_open_devices(struct btrfs_fs_devices *fs_devices, 126int btrfs_open_devices(struct btrfs_fs_devices *fs_devices,
123 int flags, void *holder); 127 int flags, void *holder);