diff options
| author | Chris Mason <chris.mason@oracle.com> | 2011-07-27 16:13:10 -0400 | 
|---|---|---|
| committer | Chris Mason <chris.mason@oracle.com> | 2011-07-27 16:18:13 -0400 | 
| commit | ff95acb6733d41a8d45feb0e18b96df25e610e78 (patch) | |
| tree | e20983c579c9095970aefa9cb176a9df0654d1e4 /fs/btrfs/ctree.h | |
| parent | 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe (diff) | |
| parent | 75c195a2cac2c3c8366c0b87de2d6814c4f4d638 (diff) | |
| download | olio-linux-3.10-ff95acb6733d41a8d45feb0e18b96df25e610e78.tar.xz olio-linux-3.10-ff95acb6733d41a8d45feb0e18b96df25e610e78.zip  | |
Merge branch 'integration' into for-linus
Diffstat (limited to 'fs/btrfs/ctree.h')
| -rw-r--r-- | fs/btrfs/ctree.h | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 3b859a3e6a0..3be57c61104 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -755,6 +755,8 @@ struct btrfs_space_info {  				   chunks for this space */  	unsigned int chunk_alloc:1;	/* set if we are allocating a chunk */ +	unsigned int flush:1;		/* set if we are trying to make space */ +  	unsigned int force_alloc;	/* set if we need to force a chunk  					   alloc for this space */ @@ -764,7 +766,7 @@ struct btrfs_space_info {  	struct list_head block_groups[BTRFS_NR_RAID_TYPES];  	spinlock_t lock;  	struct rw_semaphore groups_sem; -	atomic_t caching_threads; +	wait_queue_head_t wait;  };  struct btrfs_block_rsv { @@ -824,6 +826,7 @@ struct btrfs_caching_control {  	struct list_head list;  	struct mutex mutex;  	wait_queue_head_t wait; +	struct btrfs_work work;  	struct btrfs_block_group_cache *block_group;  	u64 progress;  	atomic_t count; @@ -1032,6 +1035,8 @@ struct btrfs_fs_info {  	struct btrfs_workers endio_write_workers;  	struct btrfs_workers endio_freespace_worker;  	struct btrfs_workers submit_workers; +	struct btrfs_workers caching_workers; +  	/*  	 * fixup workers take dirty pages that didn't properly go through  	 * the cow mechanism and make them safe to write.  It happens @@ -2128,7 +2133,7 @@ static inline bool btrfs_mixed_space_info(struct btrfs_space_info *space_info)  /* extent-tree.c */  static inline u64 btrfs_calc_trans_metadata_size(struct btrfs_root *root, -						 int num_items) +						 unsigned num_items)  {  	return (root->leafsize + root->nodesize * (BTRFS_MAX_LEVEL - 1)) *  		3 * num_items; @@ -2222,9 +2227,6 @@ void btrfs_set_inode_space_info(struct btrfs_root *root, struct inode *ionde);  void btrfs_clear_space_info_full(struct btrfs_fs_info *info);  int btrfs_check_data_free_space(struct inode *inode, u64 bytes);  void btrfs_free_reserved_data_space(struct inode *inode, u64 bytes); -int btrfs_trans_reserve_metadata(struct btrfs_trans_handle *trans, -				struct btrfs_root *root, -				int num_items);  void btrfs_trans_release_metadata(struct btrfs_trans_handle *trans,  				struct btrfs_root *root);  int btrfs_orphan_reserve_metadata(struct btrfs_trans_handle *trans, @@ -2330,7 +2332,7 @@ struct btrfs_path *btrfs_alloc_path(void);  void btrfs_free_path(struct btrfs_path *p);  void btrfs_set_path_blocking(struct btrfs_path *p);  void btrfs_clear_path_blocking(struct btrfs_path *p, -			       struct extent_buffer *held); +			       struct extent_buffer *held, int held_rw);  void btrfs_unlock_up_safe(struct btrfs_path *p, int level);  int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,  |