diff options
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index dd8ced9814c4..444b3e9b92a4 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -691,14 +691,17 @@ struct btrfs_space_info { | |||
691 | 691 | ||
692 | struct list_head list; | 692 | struct list_head list; |
693 | 693 | ||
694 | /* for controlling how we free up space for allocations */ | ||
695 | wait_queue_head_t allocate_wait; | ||
696 | wait_queue_head_t flush_wait; | ||
697 | int allocating_chunk; | ||
698 | int flushing; | ||
699 | |||
694 | /* for block groups in our same type */ | 700 | /* for block groups in our same type */ |
695 | struct list_head block_groups; | 701 | struct list_head block_groups; |
696 | spinlock_t lock; | 702 | spinlock_t lock; |
697 | struct rw_semaphore groups_sem; | 703 | struct rw_semaphore groups_sem; |
698 | atomic_t caching_threads; | 704 | atomic_t caching_threads; |
699 | |||
700 | int allocating_chunk; | ||
701 | wait_queue_head_t wait; | ||
702 | }; | 705 | }; |
703 | 706 | ||
704 | /* | 707 | /* |
@@ -907,6 +910,7 @@ struct btrfs_fs_info { | |||
907 | * A third pool does submit_bio to avoid deadlocking with the other | 910 | * A third pool does submit_bio to avoid deadlocking with the other |
908 | * two | 911 | * two |
909 | */ | 912 | */ |
913 | struct btrfs_workers generic_worker; | ||
910 | struct btrfs_workers workers; | 914 | struct btrfs_workers workers; |
911 | struct btrfs_workers delalloc_workers; | 915 | struct btrfs_workers delalloc_workers; |
912 | struct btrfs_workers endio_workers; | 916 | struct btrfs_workers endio_workers; |
@@ -914,6 +918,7 @@ struct btrfs_fs_info { | |||
914 | struct btrfs_workers endio_meta_write_workers; | 918 | struct btrfs_workers endio_meta_write_workers; |
915 | struct btrfs_workers endio_write_workers; | 919 | struct btrfs_workers endio_write_workers; |
916 | struct btrfs_workers submit_workers; | 920 | struct btrfs_workers submit_workers; |
921 | struct btrfs_workers enospc_workers; | ||
917 | /* | 922 | /* |
918 | * fixup workers take dirty pages that didn't properly go through | 923 | * fixup workers take dirty pages that didn't properly go through |
919 | * the cow mechanism and make them safe to write. It happens | 924 | * the cow mechanism and make them safe to write. It happens |
@@ -1004,7 +1009,10 @@ struct btrfs_root { | |||
1004 | atomic_t log_writers; | 1009 | atomic_t log_writers; |
1005 | atomic_t log_commit[2]; | 1010 | atomic_t log_commit[2]; |
1006 | unsigned long log_transid; | 1011 | unsigned long log_transid; |
1012 | unsigned long last_log_commit; | ||
1007 | unsigned long log_batch; | 1013 | unsigned long log_batch; |
1014 | pid_t log_start_pid; | ||
1015 | bool log_multiple_pids; | ||
1008 | 1016 | ||
1009 | u64 objectid; | 1017 | u64 objectid; |
1010 | u64 last_trans; | 1018 | u64 last_trans; |
@@ -1145,6 +1153,7 @@ struct btrfs_root { | |||
1145 | #define BTRFS_MOUNT_FLUSHONCOMMIT (1 << 7) | 1153 | #define BTRFS_MOUNT_FLUSHONCOMMIT (1 << 7) |
1146 | #define BTRFS_MOUNT_SSD_SPREAD (1 << 8) | 1154 | #define BTRFS_MOUNT_SSD_SPREAD (1 << 8) |
1147 | #define BTRFS_MOUNT_NOSSD (1 << 9) | 1155 | #define BTRFS_MOUNT_NOSSD (1 << 9) |
1156 | #define BTRFS_MOUNT_DISCARD (1 << 10) | ||
1148 | 1157 | ||
1149 | #define btrfs_clear_opt(o, opt) ((o) &= ~BTRFS_MOUNT_##opt) | 1158 | #define btrfs_clear_opt(o, opt) ((o) &= ~BTRFS_MOUNT_##opt) |
1150 | #define btrfs_set_opt(o, opt) ((o) |= BTRFS_MOUNT_##opt) | 1159 | #define btrfs_set_opt(o, opt) ((o) |= BTRFS_MOUNT_##opt) |
@@ -2323,7 +2332,7 @@ int btrfs_orphan_del(struct btrfs_trans_handle *trans, struct inode *inode); | |||
2323 | void btrfs_orphan_cleanup(struct btrfs_root *root); | 2332 | void btrfs_orphan_cleanup(struct btrfs_root *root); |
2324 | int btrfs_cont_expand(struct inode *inode, loff_t size); | 2333 | int btrfs_cont_expand(struct inode *inode, loff_t size); |
2325 | int btrfs_invalidate_inodes(struct btrfs_root *root); | 2334 | int btrfs_invalidate_inodes(struct btrfs_root *root); |
2326 | extern struct dentry_operations btrfs_dentry_operations; | 2335 | extern const struct dentry_operations btrfs_dentry_operations; |
2327 | 2336 | ||
2328 | /* ioctl.c */ | 2337 | /* ioctl.c */ |
2329 | long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg); | 2338 | long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg); |
@@ -2366,7 +2375,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options); | |||
2366 | int btrfs_sync_fs(struct super_block *sb, int wait); | 2375 | int btrfs_sync_fs(struct super_block *sb, int wait); |
2367 | 2376 | ||
2368 | /* acl.c */ | 2377 | /* acl.c */ |
2369 | #ifdef CONFIG_BTRFS_POSIX_ACL | 2378 | #ifdef CONFIG_BTRFS_FS_POSIX_ACL |
2370 | int btrfs_check_acl(struct inode *inode, int mask); | 2379 | int btrfs_check_acl(struct inode *inode, int mask); |
2371 | #else | 2380 | #else |
2372 | #define btrfs_check_acl NULL | 2381 | #define btrfs_check_acl NULL |