diff options
Diffstat (limited to 'fs/btrfs/btrfs_inode.h')
| -rw-r--r-- | fs/btrfs/btrfs_inode.h | 16 | 
1 files changed, 14 insertions, 2 deletions
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h index 52d7eca8c7bf..502b9e988679 100644 --- a/fs/btrfs/btrfs_inode.h +++ b/fs/btrfs/btrfs_inode.h @@ -34,6 +34,9 @@ struct btrfs_inode {  	 */  	struct btrfs_key location; +	/* Lock for counters */ +	spinlock_t lock; +  	/* the extent_tree has caches of all the extent mappings to disk */  	struct extent_map_tree extent_tree; @@ -134,8 +137,8 @@ struct btrfs_inode {  	 * items we think we'll end up using, and reserved_extents is the number  	 * of extent items we've reserved metadata for.  	 */ -	atomic_t outstanding_extents; -	atomic_t reserved_extents; +	unsigned outstanding_extents; +	unsigned reserved_extents;  	/*  	 * ordered_data_close is set by truncate when a file that used @@ -184,4 +187,13 @@ static inline void btrfs_i_size_write(struct inode *inode, u64 size)  	BTRFS_I(inode)->disk_i_size = size;  } +static inline bool btrfs_is_free_space_inode(struct btrfs_root *root, +				       struct inode *inode) +{ +	if (root == root->fs_info->tree_root || +	    BTRFS_I(inode)->location.objectid == BTRFS_FREE_INO_OBJECTID) +		return true; +	return false; +} +  #endif  |